diff --git a/example/README.md b/example/README.md index 90096e14..42483d71 100644 --- a/example/README.md +++ b/example/README.md @@ -18,6 +18,7 @@ example/ │ │ ├── upgrades.tsx # themed workshop: styles, vars, cards with a face per stage, choices, and a hotspot │ │ ├── lobby.tsx # full-screen main menu: paged worlds, a rename prompt, tooltips, and a ready switch │ │ ├── lookout.tsx # horse-mode full-screen window with a signal bar +│ │ ├── storefront.tsx # horse-mode web-style store: tabs, live search, a scrolling grid and cart │ │ ├── status_hud.tsx # the shader-relocated actionbar HUDs │ │ └── clock_hud.ts # the clock HUD, written with the function-style raw API │ ├── build/previews/ # preview PNGs of the windows and HUDs, rewritten by every build @@ -27,13 +28,13 @@ example/ The Minestom server is the Gradle module `jvm/example`, which depends on `window-minestom`. `Main.kt` boots the server, `Market.kt` and `Workshop.kt` are a throwaway domain model, `MyShop.kt` and `MyUpgrades.kt` implement the **generated** -`ShopView` and `UpgradesView`, and `MyLobby.kt` and `MyLookout.kt` the full-screen `LobbyFullscreen` and -`LookoutFullscreen`. `MyStatusHud.kt` implements the **generated** HUD views. The pack uses `target: "minestom"`, so a -window view takes the `Player` it is shown to: `Main.kt` opens the shop with `MyShop(player, market).open()`. Generated -HUD views take no player; the handwritten ones that need it take it themselves. `Main.kt` joins the status HUDs into one -action-bar `HudStack` and resends it with `player.sendHud(stack)` every tick, which keeps the wave bar moving smoothly, -re-renders the clocks, and stays ahead of the action bar fading out. The bindings live under `generated/`, produced by -the rpp plugin — committed, do not hand-edit. +`ShopView` and `UpgradesView`, and `MyLobby.kt`, `MyLookout.kt`, and `MyStorefront.kt` the full-screen +`LobbyFullscreen`, `LookoutFullscreen`, and `StorefrontFullscreen`. `MyStatusHud.kt` implements the **generated** HUD +views. The pack uses `target: "minestom"`, so a window view takes the `Player` it is shown to: `Main.kt` opens the shop +with `MyShop(player, market).open()`. Generated HUD views take no player; the handwritten ones that need it take it +themselves. `Main.kt` joins the status HUDs into one action-bar `HudStack` and resends it with `player.sendHud(stack)` +every tick, which keeps the wave bar moving smoothly, re-renders the clocks, and stays ahead of the action bar fading +out. The bindings live under `generated/`, produced by the rpp plugin — committed, do not hand-edit. ## Run it @@ -58,7 +59,9 @@ until the server stops. rename it in a native dialog, which returns to the lobby on Confirm or Cancel. The arrows or the scroll wheel move the world list, a click selects a world, and right clicking anywhere toggles ready, which switches the line under the list and retints the status. Play leaves once you are ready. `/lookout` opens a horse-mode window, which locks the view while -the cursor follows the mouse; Charge fills its signal bar. +the cursor follows the mouse; Charge fills its signal bar. `/store` opens a horse-mode storefront over the world: click +the search box and type to filter the grid as you go (Escape finishes), and the scroll wheel moves whichever of the grid +and the cart was clicked last. Right click flips the side pane between the details and the cart. The actionbar-backed HUD demo is disabled by default so the inventory examples stay visually focused. Enable it with `-Dwindow.hud.enabled=true`; use `-Dwindow.hud.spriteDebug=true` to print each HUD's static art to chat. The pack blanks @@ -70,6 +73,7 @@ vanilla's experience bar, and one of the HUDs draws its wave bar there. | `/upgrades` | opens the workshop, like the catalog's Workshop button | | `/lobby` | opens the full-screen lobby | | `/lookout` | opens the horse-mode lookout | +| `/store` | opens the horse-mode storefront | | `/tone ` | pins the tone the HUDs and newly opened windows draw in; `auto` unpins | | `/bar ` | pins how full the wave bar and a newly opened shop's bar are | diff --git a/example/pack/rpp.config.ts b/example/pack/rpp.config.ts index dce560bc..7702bc87 100644 --- a/example/pack/rpp.config.ts +++ b/example/pack/rpp.config.ts @@ -18,7 +18,7 @@ export default defineConfig({ namespace: "window", coreShaders: { hud: true, hover: true }, vanilla: { anvil: { field: "search_field" }, hud: { experience: false }, slotHighlight: false }, - size: { report: true, budget: 1_150_000 }, + size: { report: true, budget: 3_000_000 }, previews: { output: "build/previews" }, kotlin: { package: "com.chunkzero.window.example.generated", diff --git a/example/pack/src/window/art.ts b/example/pack/src/window/art.ts index f538f638..fb375171 100644 --- a/example/pack/src/window/art.ts +++ b/example/pack/src/window/art.ts @@ -85,3 +85,16 @@ export const icons = { clear: texture("window/icons/clear.png"), check: texture("window/icons/check.png"), }; + +/** White translucent glass, nine-sliced over its box; a `tint` colors it and the world shows through. */ +export const glass = texture("window/icons/store/glass.png", { insets: 2 }); + +/** A storefront product's 16x16 art by `STORE_ICONS` id; as a frame, it stretches over its box. */ +export const productIcon = (id: string) => texture(`window/icons/store/products/${id}.png`, { insets: 0 }); + +export const storeIcons = { + arrowUp: texture("window/icons/store/arrow_up.png"), + arrowDown: texture("window/icons/store/arrow_down.png"), + magnifier: texture("window/icons/store/magnifier.png"), + cart: texture("window/icons/store/cart.png"), +}; diff --git a/example/pack/src/window/handles.ts b/example/pack/src/window/handles.ts index 7cf5e6d8..22f7103b 100644 --- a/example/pack/src/window/handles.ts +++ b/example/pack/src/window/handles.ts @@ -88,3 +88,110 @@ export const play = action("play"); /** How far the lookout's signal has charged. */ export const signal = fraction("signal"); export const charge = action("charge"); + +// Storefront, a full-screen window; `tone` is shared +/** The product art a card or the detail pane shows; `none` shows nothing. */ +export const STORE_ICONS = [ + "none", + "diamond", + "emerald", + "gold", + "iron", + "copper", + "redstone", + "lapis", + "coal", + "quartz", + "amethyst", + "ender_pearl", + "blaze_rod", + "ghast_tear", + "prismarine", + "heart", + "nether_star", + "totem", + "trident", + "elytra", + "rocket", + "golden_apple", + "experience", + "book", + "spyglass", + "compass", + "clock", + "name_tag", + "saddle", + "shell", + "echo", +] as const; + +export const storeCategory = selection("store_category", ["all", "gear", "magic", "deals"]); +export const storePane = selection("store_pane", ["details", "cart"]); +export const storeSearch = text("store_search"); +export const storeHasSearch = flag("store_has_search"); +export const storeFind = action("store_find"); +export const storeClearSearch = action("store_clear_search"); +export const storeCartCount = text("store_cart_count"); +export const openDetails = action("open_details"); +export const openCart = action("open_cart"); + +export const STORE_CARDS = 9; +const storeCards = { shape: [STORE_CARDS] } as const; +export const cardName = text("card_name", storeCards); +export const cardPrice = text("card_price", storeCards); +export const cardIcon = value("card_icon", STORE_ICONS, storeCards); +export const cardFilled = flag("card_filled", storeCards); +export const cardFeatured = flag("card_featured", storeCards); +export const cardSelected = flag("card_selected", storeCards); +export const pickCard = action("pick_card", storeCards); +export const storeResults = text("store_results"); +export const storeSortLabel = text("store_sort_label"); +export const storeSort = action("store_sort"); +/** Which pane the scroll wheel moves. */ +export const catalogFocused = flag("catalog_focused"); + +/** Segments of a scrollbar track; each is lit while its stretch of the list is in view. */ +export const CATALOG_TRACK = 8; +export const catalogThumb = flag("catalog_thumb", { shape: [CATALOG_TRACK] }); +export const catalogUp = action("catalog_up"); +export const catalogDown = action("catalog_down"); + +export const detailIcon = value("detail_icon", STORE_ICONS); +export const detailName = text("detail_name"); +export const detailTier = tint("detail_tier", { + common: "#ffffff", + rare: "#55ffff", + epic: "#ff77ff", + legendary: "#ffb20b", +}); +export const detailKind = text("detail_kind"); +export const detailPrice = text("detail_price"); +export const detailBlurb = text("detail_blurb"); +export const detailInCart = text("detail_in_cart"); +export const quantity = text("quantity"); +export const canLess = flag("can_less"); +export const canMore = flag("can_more"); +export const less = action("less"); +export const more = action("more"); +export const addToCart = action("add_to_cart"); +export const buyNow = action("buy_now"); +export const canBuyNow = flag("can_buy_now"); +export const buyNowLabel = text("buy_now_label"); + +export const CART_ROWS = 5; +const cartRows = { shape: [CART_ROWS] } as const; +export const cartName = text("cart_name", cartRows); +export const cartQuantity = text("cart_quantity", cartRows); +export const cartPrice = text("cart_price", cartRows); +export const removeLine = action("remove_line", cartRows); +export const cartThumb = flag("cart_thumb", { shape: [CART_ROWS] }); +export const cartUp = action("cart_up"); +export const cartDown = action("cart_down"); +export const cartEmpty = flag("cart_empty"); +export const cartTotal = text("cart_total"); +export const checkout = action("checkout"); +export const canCheckout = flag("can_checkout"); +export const clearCart = action("clear_cart"); + +export const storeBalance = text("store_balance"); +export const storeToast = text("store_toast"); diff --git a/example/pack/src/window/icons/store/arrow_down.png b/example/pack/src/window/icons/store/arrow_down.png new file mode 100644 index 00000000..084f59f5 Binary files /dev/null and b/example/pack/src/window/icons/store/arrow_down.png differ diff --git a/example/pack/src/window/icons/store/arrow_up.png b/example/pack/src/window/icons/store/arrow_up.png new file mode 100644 index 00000000..efdaeb7c Binary files /dev/null and b/example/pack/src/window/icons/store/arrow_up.png differ diff --git a/example/pack/src/window/icons/store/cart.png b/example/pack/src/window/icons/store/cart.png new file mode 100644 index 00000000..8a2d54b6 Binary files /dev/null and b/example/pack/src/window/icons/store/cart.png differ diff --git a/example/pack/src/window/icons/store/glass.png b/example/pack/src/window/icons/store/glass.png new file mode 100644 index 00000000..5b6c7afc Binary files /dev/null and b/example/pack/src/window/icons/store/glass.png differ diff --git a/example/pack/src/window/icons/store/magnifier.png b/example/pack/src/window/icons/store/magnifier.png new file mode 100644 index 00000000..8dbafc52 Binary files /dev/null and b/example/pack/src/window/icons/store/magnifier.png differ diff --git a/example/pack/src/window/icons/store/products/amethyst.png b/example/pack/src/window/icons/store/products/amethyst.png new file mode 100644 index 00000000..4ff2dffa Binary files /dev/null and b/example/pack/src/window/icons/store/products/amethyst.png differ diff --git a/example/pack/src/window/icons/store/products/blaze_rod.png b/example/pack/src/window/icons/store/products/blaze_rod.png new file mode 100644 index 00000000..62b79d05 Binary files /dev/null and b/example/pack/src/window/icons/store/products/blaze_rod.png differ diff --git a/example/pack/src/window/icons/store/products/book.png b/example/pack/src/window/icons/store/products/book.png new file mode 100644 index 00000000..dbc73775 Binary files /dev/null and b/example/pack/src/window/icons/store/products/book.png differ diff --git a/example/pack/src/window/icons/store/products/clock.png b/example/pack/src/window/icons/store/products/clock.png new file mode 100644 index 00000000..d37e4094 Binary files /dev/null and b/example/pack/src/window/icons/store/products/clock.png differ diff --git a/example/pack/src/window/icons/store/products/coal.png b/example/pack/src/window/icons/store/products/coal.png new file mode 100644 index 00000000..53773135 Binary files /dev/null and b/example/pack/src/window/icons/store/products/coal.png differ diff --git a/example/pack/src/window/icons/store/products/compass.png b/example/pack/src/window/icons/store/products/compass.png new file mode 100644 index 00000000..fc0c67bf Binary files /dev/null and b/example/pack/src/window/icons/store/products/compass.png differ diff --git a/example/pack/src/window/icons/store/products/copper.png b/example/pack/src/window/icons/store/products/copper.png new file mode 100644 index 00000000..d5fe41a4 Binary files /dev/null and b/example/pack/src/window/icons/store/products/copper.png differ diff --git a/example/pack/src/window/icons/store/products/diamond.png b/example/pack/src/window/icons/store/products/diamond.png new file mode 100644 index 00000000..e2d3cb45 Binary files /dev/null and b/example/pack/src/window/icons/store/products/diamond.png differ diff --git a/example/pack/src/window/icons/store/products/echo.png b/example/pack/src/window/icons/store/products/echo.png new file mode 100644 index 00000000..0c462d09 Binary files /dev/null and b/example/pack/src/window/icons/store/products/echo.png differ diff --git a/example/pack/src/window/icons/store/products/elytra.png b/example/pack/src/window/icons/store/products/elytra.png new file mode 100644 index 00000000..479278a1 Binary files /dev/null and b/example/pack/src/window/icons/store/products/elytra.png differ diff --git a/example/pack/src/window/icons/store/products/emerald.png b/example/pack/src/window/icons/store/products/emerald.png new file mode 100644 index 00000000..d1f91ac5 Binary files /dev/null and b/example/pack/src/window/icons/store/products/emerald.png differ diff --git a/example/pack/src/window/icons/store/products/ender_pearl.png b/example/pack/src/window/icons/store/products/ender_pearl.png new file mode 100644 index 00000000..da2b682c Binary files /dev/null and b/example/pack/src/window/icons/store/products/ender_pearl.png differ diff --git a/example/pack/src/window/icons/store/products/experience.png b/example/pack/src/window/icons/store/products/experience.png new file mode 100644 index 00000000..0d9197fd Binary files /dev/null and b/example/pack/src/window/icons/store/products/experience.png differ diff --git a/example/pack/src/window/icons/store/products/ghast_tear.png b/example/pack/src/window/icons/store/products/ghast_tear.png new file mode 100644 index 00000000..88bcc001 Binary files /dev/null and b/example/pack/src/window/icons/store/products/ghast_tear.png differ diff --git a/example/pack/src/window/icons/store/products/gold.png b/example/pack/src/window/icons/store/products/gold.png new file mode 100644 index 00000000..3217bb43 Binary files /dev/null and b/example/pack/src/window/icons/store/products/gold.png differ diff --git a/example/pack/src/window/icons/store/products/golden_apple.png b/example/pack/src/window/icons/store/products/golden_apple.png new file mode 100644 index 00000000..8ef38e3e Binary files /dev/null and b/example/pack/src/window/icons/store/products/golden_apple.png differ diff --git a/example/pack/src/window/icons/store/products/heart.png b/example/pack/src/window/icons/store/products/heart.png new file mode 100644 index 00000000..7f97fb3d Binary files /dev/null and b/example/pack/src/window/icons/store/products/heart.png differ diff --git a/example/pack/src/window/icons/store/products/iron.png b/example/pack/src/window/icons/store/products/iron.png new file mode 100644 index 00000000..491281bc Binary files /dev/null and b/example/pack/src/window/icons/store/products/iron.png differ diff --git a/example/pack/src/window/icons/store/products/lapis.png b/example/pack/src/window/icons/store/products/lapis.png new file mode 100644 index 00000000..ce6f1715 Binary files /dev/null and b/example/pack/src/window/icons/store/products/lapis.png differ diff --git a/example/pack/src/window/icons/store/products/name_tag.png b/example/pack/src/window/icons/store/products/name_tag.png new file mode 100644 index 00000000..84696d4f Binary files /dev/null and b/example/pack/src/window/icons/store/products/name_tag.png differ diff --git a/example/pack/src/window/icons/store/products/nether_star.png b/example/pack/src/window/icons/store/products/nether_star.png new file mode 100644 index 00000000..79a53f5a Binary files /dev/null and b/example/pack/src/window/icons/store/products/nether_star.png differ diff --git a/example/pack/src/window/icons/store/products/prismarine.png b/example/pack/src/window/icons/store/products/prismarine.png new file mode 100644 index 00000000..12d07077 Binary files /dev/null and b/example/pack/src/window/icons/store/products/prismarine.png differ diff --git a/example/pack/src/window/icons/store/products/quartz.png b/example/pack/src/window/icons/store/products/quartz.png new file mode 100644 index 00000000..e7276359 Binary files /dev/null and b/example/pack/src/window/icons/store/products/quartz.png differ diff --git a/example/pack/src/window/icons/store/products/redstone.png b/example/pack/src/window/icons/store/products/redstone.png new file mode 100644 index 00000000..5f725326 Binary files /dev/null and b/example/pack/src/window/icons/store/products/redstone.png differ diff --git a/example/pack/src/window/icons/store/products/rocket.png b/example/pack/src/window/icons/store/products/rocket.png new file mode 100644 index 00000000..7ead1918 Binary files /dev/null and b/example/pack/src/window/icons/store/products/rocket.png differ diff --git a/example/pack/src/window/icons/store/products/saddle.png b/example/pack/src/window/icons/store/products/saddle.png new file mode 100644 index 00000000..47009d76 Binary files /dev/null and b/example/pack/src/window/icons/store/products/saddle.png differ diff --git a/example/pack/src/window/icons/store/products/shell.png b/example/pack/src/window/icons/store/products/shell.png new file mode 100644 index 00000000..a5b1aea2 Binary files /dev/null and b/example/pack/src/window/icons/store/products/shell.png differ diff --git a/example/pack/src/window/icons/store/products/spyglass.png b/example/pack/src/window/icons/store/products/spyglass.png new file mode 100644 index 00000000..fbcbdfe1 Binary files /dev/null and b/example/pack/src/window/icons/store/products/spyglass.png differ diff --git a/example/pack/src/window/icons/store/products/totem.png b/example/pack/src/window/icons/store/products/totem.png new file mode 100644 index 00000000..6772ac70 Binary files /dev/null and b/example/pack/src/window/icons/store/products/totem.png differ diff --git a/example/pack/src/window/icons/store/products/trident.png b/example/pack/src/window/icons/store/products/trident.png new file mode 100644 index 00000000..20487554 Binary files /dev/null and b/example/pack/src/window/icons/store/products/trident.png differ diff --git a/example/pack/src/window/index.ts b/example/pack/src/window/index.ts index 9e8400a1..a21f9aa6 100644 --- a/example/pack/src/window/index.ts +++ b/example/pack/src/window/index.ts @@ -10,6 +10,7 @@ import lookout from "./lookout.tsx"; import search from "./search.tsx"; import shop from "./shop.tsx"; import statusHuds, { bottomCenter, coins, hint, power, rate, topLeft, waveBar, waveCharge } from "./status_hud.tsx"; +import storefront from "./storefront.tsx"; import upgrades from "./upgrades.tsx"; /** A preview of the workshop with one card in each stage. */ @@ -31,11 +32,64 @@ const upgradesPreview = (options: PreviewOptions) => options, ); +/** The storefront browsing Gear, with a card selected and two lines in the cart. */ +const storefrontState = (pane: "details" | "cart") => + [ + [handles.storeCategory, "gear"], + [handles.storePane, pane], + [handles.storeSearch, "ing_"], + [handles.storeHasSearch, true], + [handles.storeCartCount, "3"], + [handles.storeResults, "Gear: 14 items"], + [handles.storeSortLabel, "Sort: Price"], + [handles.catalogFocused, pane === "details"], + [ + handles.cardName, + [ + "Gilded Ingot", + "Tempered Iron", + "Copper Bundle", + "Tide Trident", + "Sky Wings", + "Rocket Crate", + "Scout Spyglass", + "Explorer Compass", + "Chrono Dial", + ], + ], + [handles.cardPrice, ["180", "95", "75", "860", "1150", "155", "165", "205", "260"]], + [handles.cardIcon, ["gold", "iron", "copper", "trident", "elytra", "rocket", "spyglass", "compass", "clock"]], + [handles.cardFilled, [true, true, true, true, true, true, true, true, true]], + [handles.cardFeatured, [false, false, false, true, true]], + [handles.cardSelected, [false, false, false, true]], + [handles.catalogThumb, [false, false, true, true, true, true, false, false]], + [handles.detailIcon, "trident"], + [handles.detailName, "Tide Trident"], + [handles.detailTier, "legendary"], + [handles.detailKind, "Legendary gear"], + [handles.detailPrice, "860"], + [handles.detailBlurb, "Forged in the drowned halls. Returns to your hand and calls lightning in a storm."], + [handles.detailInCart, "1 already in your cart"], + [handles.quantity, "2"], + [handles.canLess, true], + [handles.canMore, true], + [handles.canBuyNow, true], + [handles.buyNowLabel, "Buy 1720"], + [handles.cartName, ["Tide Trident", "Copper Bundle", "Rocket Crate"]], + [handles.cartQuantity, ["x1", "x1", "x1"]], + [handles.cartPrice, ["860", "75", "155"]], + [handles.cartThumb, [true, true, true, true, true]], + [handles.cartTotal, "1090"], + [handles.canCheckout, true], + [handles.storeBalance, "2500"], + [handles.storeToast, "Added Tide Trident to your cart"], + ] as const; + export default defineWindows({ sprites: { searchField: art.inputField, ...ranks }, windows: [shop, search, upgrades], huds: statusHuds, - fullscreens: [lobby, lookout], + fullscreens: [lobby, lookout, storefront], // `rpp build` writes these to build/previews/, one PNG per preview. previews: [ preview(shop, [ @@ -85,5 +139,7 @@ export default defineWindows({ [handles.worldName, ["Ironvale", "Emberly", "Ashmoor"]], [handles.ready, true], ]), + preview(storefront, storefrontState("details")), + preview(storefront, storefrontState("cart"), { name: "storefront_cart" }), ], }); diff --git a/example/pack/src/window/storefront.tsx b/example/pack/src/window/storefront.tsx new file mode 100644 index 00000000..5aed5ae0 --- /dev/null +++ b/example/pack/src/window/storefront.tsx @@ -0,0 +1,380 @@ +import { Box, Case, Fullscreen, Image, Region, Switch, Text, create, shape } from "plugin:window/ui"; +import type { ActionHandle, FlagHandle, Indexed, ValueHandle } from "plugin:window/bind"; +import { Button, Column, Repeater, Row, Show, Spacer, Tabs, art } from "plugin:window/theme/industrial"; + +import { coin, glass, icons, productIcon, storeIcons, toneLamp } from "./art.ts"; +import { + STORE_ICONS, + addToCart, + buyNow, + buyNowLabel, + canBuyNow, + canCheckout, + canLess, + canMore, + cardFeatured, + cardFilled, + cardIcon, + cardName, + cardPrice, + cardSelected, + cartDown, + cartEmpty, + cartName, + cartPrice, + cartQuantity, + cartThumb, + cartTotal, + cartUp, + catalogDown, + catalogFocused, + catalogThumb, + catalogUp, + checkout, + clearCart, + detailBlurb, + detailIcon, + detailInCart, + detailKind, + detailName, + detailPrice, + detailTier, + less, + more, + openCart, + openDetails, + pickCard, + quantity, + removeLine, + storeBalance, + storeCartCount, + storeCategory, + storeClearSearch, + storeFind, + storeHasSearch, + storePane, + storeResults, + storeSearch, + storeSort, + storeSortLabel, + storeToast, + tone, +} from "./handles.ts"; + +type StoreIcon = (typeof STORE_ICONS)[number]; + +const s = create({ + nav: { frame: glass, tint: "#24508c", height: 24, padding: { left: 6, right: 4 }, gap: 4 }, + pane: { frame: glass, tint: "#1b3766" }, + footer: { frame: glass, tint: "#24508c", height: 16, padding: { left: 5, right: 2 }, gap: 4 }, + field: { frame: art.recess, width: 116, height: 16, padding: { left: 4, right: 3 }, gap: 4 }, + dim: { color: "#9cc4e4" }, + gold: { color: "#ffd27a" }, +}); + +/** The bar under the selected card. */ +const selectedBar = shape({ + kind: "panel", + width: 48, + height: 2, + fill: "#ffb20b", + border_width: 0, + radius: 0, + inset_depth: 0, +}); + +const categories = { all: "All", gear: "Gear", magic: "Magic", deals: "Deals" }; + +/** A product's art, switched by an icon handle and stretched over `size` pixels. */ +function ProductIcon(props: { bind: ValueHandle; size?: number }) { + const size = props.size ?? 16; + return ( + + {STORE_ICONS.map((id) => ( + + ))} + + ); +} + +/** A side pane tab; clicking it opens its pane and gives it the wheel, even when it is already selected. */ +function PaneTab(props: { label: string; open: ActionHandle; value: "details" | "cart" }) { + const face = (frame: typeof art.button) => ( + + ); + return ( + + {face(art.buttonSelected)} + {face(art.button)} + + ); +} + +/** A lamp that lights while its pane has the scroll wheel. */ +function FocusLamp(props: { lit: "true" | "false" }) { + const unlit = props.lit === "true" ? "false" : "true"; + return ( + + + + + + + + + ); +} + +/** + * A vertical scrollbar: arrow buttons around a track whose segments light while their stretch of the list is in view, + * so the thumb shows both where the view is and how much of the list it covers. + */ +function Scrollbar(props: { + thumb: Indexed; + segments: number; + segment: number; + up: ActionHandle; + down: ActionHandle; +}) { + const segment = shape({ + kind: "panel", + width: 4, + height: props.segment, + fill: "#ffb20b", + border_width: 0, + radius: 0, + inset_depth: 0, + }); + const arrow = { base: { width: 8, height: 10, padding: 0 } }; + return ( + + + + {Array.from({ length: props.segments }, (_, i) => ( + + + + ))} + + + + ); +} + +const nav = ( + + + Foundry Market + + {(value) => {categories[value]}} + + + + + + {{ + true: , + false: Search products, + }} + + + + + + +); + +const catalog = ( + + + + + + + + + {(i) => [ + , + , + + + + + + , + + + , + + + , + ]} + + + + Scroll the wheel or use the arrows to browse + +); + +const details = ( + + + + + + + + + + + + + + + + + + Quantity + + + + + + + + + + + +); + +const cart = ( + + + + Click a line to remove one + + + {{ + true: ( + + Your cart is empty + + ), + false: ( + + + {(i) => ( + + + + + + )} + + + + ), + }} + + + Total + + + + + + + + +); + +const footer = ( + + + + + + Right click: cart / details + + +); + +/** + * A web-style storefront over the world, in horse mode so the view holds still behind it: no backdrop, translucent + * glass panes, category tabs, a search box the player types into in place, a product grid and a cart that each scroll, + * and a detail pane to buy from. + */ +export default ( + + {nav} + + {catalog} + + + + + + {{ details, cart }} + + + {footer} + +); diff --git a/jvm/example/src/main/kotlin/com/chunkzero/window/example/Main.kt b/jvm/example/src/main/kotlin/com/chunkzero/window/example/Main.kt index 3d884641..1c722f1d 100644 --- a/jvm/example/src/main/kotlin/com/chunkzero/window/example/Main.kt +++ b/jvm/example/src/main/kotlin/com/chunkzero/window/example/Main.kt @@ -34,7 +34,8 @@ import java.nio.file.Path * ``` * * Then connect a Minecraft 26.2 client and the shop opens on spawn. Reopen it with `/shop` or the hotbar emerald, open - * the workshop with `/upgrades` or the shop's Workshop button, and the full-screen windows with `/lobby` and `/lookout`. + * the workshop with `/upgrades` or the shop's Workshop button, and the full-screen windows with `/lobby`, `/lookout`, and + * `/store`. */ fun main() { val server = MinecraftServer.init() @@ -50,7 +51,7 @@ fun main() { registerShopAccess(market) registerToneCommand() registerBarCommand() - registerFullscreens() + registerFullscreens(market) server.start("0.0.0.0", serverPort) println("Window example server listening on $serverPort — pack served at $packUrl.") @@ -129,14 +130,17 @@ private fun registerShopAccess(market: Market) { } } -/** `/lobby` opens the full-screen lobby, and `/lookout` the horse-mode lookout; sneak to leave either. */ -private fun registerFullscreens() { +/** `/lobby` opens the full-screen lobby, `/lookout` the horse-mode lookout, and `/store` the horse-mode storefront; sneak to leave. */ +private fun registerFullscreens(market: Market) { val lobby = Command("lobby") lobby.setDefaultExecutor { sender, _ -> (sender as? Player)?.let { MyLobby(it).open() } } MinecraftServer.getCommandManager().register(lobby) val lookout = Command("lookout") lookout.setDefaultExecutor { sender, _ -> (sender as? Player)?.let { MyLookout(it).open() } } MinecraftServer.getCommandManager().register(lookout) + val store = Command("store") + store.setDefaultExecutor { sender, _ -> (sender as? Player)?.let { MyStorefront(it, market).open() } } + MinecraftServer.getCommandManager().register(store) } // A fresh view per open: each carries its own reactive state. diff --git a/jvm/example/src/main/kotlin/com/chunkzero/window/example/MyStorefront.kt b/jvm/example/src/main/kotlin/com/chunkzero/window/example/MyStorefront.kt new file mode 100644 index 00000000..e167bad1 --- /dev/null +++ b/jvm/example/src/main/kotlin/com/chunkzero/window/example/MyStorefront.kt @@ -0,0 +1,427 @@ +package com.chunkzero.window.example + +import com.chunkzero.window.ExperimentalFullscreenApi +import com.chunkzero.window.FullscreenClick +import com.chunkzero.window.example.generated.StorefrontFullscreen +import net.kyori.adventure.text.Component +import net.minestom.server.entity.Player +import net.minestom.server.timer.Task +import net.minestom.server.timer.TaskSchedule +import kotlin.math.abs +import kotlin.math.ceil + +/** + * A web-style storefront drawn over a held-still view of the world: category tabs and a search box typed into in place + * filter a product grid, a detail pane buys or adds to a cart, and the grid and the cart each scroll with the wheel and + * their arrows. The wheel moves the pane last clicked; right click flips the side pane between the details and the cart. + */ +class MyStorefront( + player: Player, + private val market: Market, +) : StorefrontFullscreen(player) { + private var coins by state(0) + private var query by state("") + private var searching by state(false) + private var sort by state(Sort.FEATURED) + private var amount by state(1) + + /** Quantities by product id, in the order they were first added. */ + private var cart by state(mapOf()) + private var wheelOnCatalog by state(true) + private var toast by state?>(null) + private var toastTask: Task? = null + + private val catalog = + list(cells = CARD_NAME_SIZE, key = { it: Product? -> + it?.id + }, step = COLUMNS) { visibleProducts().inWholeRows() } + private val lines = + list(cells = CART_NAME_SIZE, key = { it: Pair -> it.first.id }, step = 1) { cartLines() } + + override fun onOpen() { + coins = market.balanceOf(player) + } + + override fun onClose() { + toastTask?.cancel() + } + + // Navigation bar + + override fun storeSearch(): Component = + if (searching) editing(query) else fit("store_search", Component.text(query)) + + override fun storeHasSearch(): Boolean = searching || query.isNotEmpty() + + /** Lets the player type the query in place; the grid filters as they type, until they press Escape. */ + @OptIn(ExperimentalFullscreenApi::class) + override fun onStoreFind(click: FullscreenClick) { + searching = true + promptText(query, onEdit = ::search) { text -> + searching = false + text?.let(::search) + } + } + + override fun onStoreClearSearch(click: FullscreenClick) = search("") + + override fun storeCartCount(): Component = Component.text(cart.values.sum()) + + override fun onStoreCategoryChanged(value: StoreCategory) = catalogChanged() + + override fun onOpenDetails(click: FullscreenClick) = showPane(StorePane.DETAILS) + + override fun onOpenCart(click: FullscreenClick) = showPane(StorePane.CART) + + // Product grid + + override fun storeResults(): Component { + val count = visibleProducts().size + val label = if (query.isBlank()) CATEGORY_LABELS.getValue(storeCategory) else "\"${query.trim()}\"" + return Component.text(if (count == 0) "$label: no matches" else "$label: ${plural(count, "item")}") + } + + override fun storeSortLabel(): Component = Component.text("Sort: ${sort.label}") + + override fun onStoreSort(click: FullscreenClick) { + sort = Sort.entries[(sort.ordinal + 1) % Sort.entries.size] + catalogChanged() + } + + override fun cardIcon(index: Int): CardIcon = + catalog.at(index)?.let { CardIcon.valueOf(it.id.uppercase()) } ?: CardIcon.NONE + + override fun cardName(index: Int): Component = Component.text(catalog.at(index)?.name.orEmpty()) + + override fun cardPrice(index: Int): Component = + Component.text( + catalog + .at(index) + ?.price + ?.toString() + .orEmpty(), + ) + + override fun cardFilled(index: Int): Boolean = catalog.at(index) != null + + override fun cardFeatured(index: Int): Boolean = catalog.at(index)?.featured == true + + override fun cardSelected(index: Int): Boolean = catalog.isSelected(index) + + override fun onPickCard( + index: Int, + click: FullscreenClick, + ) { + wheelOnCatalog = true + if (catalog.selectAt(index) == null) return + amount = 1 + storePane = StorePane.DETAILS + } + + override fun catalogFocused(): Boolean = wheelOnCatalog + + override fun catalogThumb(index: Int): Boolean = + thumb( + index, + CATALOG_THUMB_SIZE, + catalog.visible.first / COLUMNS, + CARD_NAME_SIZE / COLUMNS, + catalog.size / COLUMNS, + ) + + override fun onCatalogUp(click: FullscreenClick) { + wheelOnCatalog = true + catalog.previous() + } + + override fun onCatalogDown(click: FullscreenClick) { + wheelOnCatalog = true + catalog.next() + } + + // Detail pane + + private val selected: Product? get() = catalog.selected + + override fun detailIcon(): DetailIcon = selected?.let { DetailIcon.valueOf(it.id.uppercase()) } ?: DetailIcon.NONE + + override fun detailName(): Component = Component.text(selected?.name ?: "Nothing selected") + + override fun detailTier(): DetailTier = DetailTier.valueOf(selected?.tier?.name ?: "COMMON") + + override fun detailKind(): Component = + Component.text(selected?.let { "${it.tier.label} ${it.category.name.lowercase()}" }.orEmpty()) + + override fun detailPrice(): Component = Component.text(selected?.price?.toString().orEmpty()) + + override fun detailBlurb(): Component = Component.text(selected?.let { BLURBS[it.id] }.orEmpty()) + + override fun detailInCart(): Component { + val count = selected?.let { cart[it.id] } ?: return Component.text("Not in your cart yet") + return Component.text("$count already in your cart") + } + + override fun quantity(): Component = Component.text(amount) + + override fun canLess(): Boolean = amount > 1 + + override fun canMore(): Boolean = amount < MAX_AMOUNT + + override fun onLess(click: FullscreenClick) { + amount = (amount - 1).coerceAtLeast(1) + } + + override fun onMore(click: FullscreenClick) { + amount = (amount + 1).coerceAtMost(MAX_AMOUNT) + } + + override fun canBuyNow(): Boolean = selected?.let { it.price * amount <= coins } == true + + override fun buyNowLabel(): Component { + val product = selected ?: return Component.text("Buy") + val total = product.price * amount + return Component.text(if (total <= coins) "Buy $total" else "Need ${total - coins}") + } + + override fun onAddToCart(click: FullscreenClick) { + val product = selected ?: return + cart = cart + (product.id to (cart[product.id] ?: 0) + amount) + show("Added ${amountOf(product)} to your cart", Tone.OK) + } + + override fun onBuyNow(click: FullscreenClick) { + val product = selected ?: return + if (pay(product.price * amount)) show("Bought ${amountOf(product)}", Tone.OK) + } + + // Cart pane + + override fun cartEmpty(): Boolean = cart.isEmpty() + + override fun cartName(index: Int): Component = + Component.text( + lines + .at(index) + ?.first + ?.name + .orEmpty(), + ) + + override fun cartQuantity(index: Int): Component = + Component.text(lines.at(index)?.let { "x${it.second}" }.orEmpty()) + + override fun cartPrice(index: Int): Component = + Component.text( + lines + .at(index) + ?.let { (product, count) -> product.price * count } + ?.toString() + .orEmpty(), + ) + + override fun cartThumb(index: Int): Boolean = + thumb(index, CART_THUMB_SIZE, lines.visible.first, CART_NAME_SIZE, lines.size) + + override fun cartTotal(): Component = Component.text(cartTotalPrice()) + + override fun canCheckout(): Boolean = cart.isNotEmpty() && cartTotalPrice() <= coins + + override fun onRemoveLine( + index: Int, + click: FullscreenClick, + ) { + wheelOnCatalog = false + val (product, count) = lines.at(index) ?: return + cart = if (count > 1) cart + (product.id to count - 1) else cart - product.id + show("Removed one ${product.name}", Tone.WARN) + } + + override fun onCartUp(click: FullscreenClick) { + wheelOnCatalog = false + lines.previous() + } + + override fun onCartDown(click: FullscreenClick) { + wheelOnCatalog = false + lines.next() + } + + override fun onCheckout(click: FullscreenClick) { + val count = cart.values.sum() + if (!pay(cartTotalPrice())) return + cart = emptyMap() + show("Checked out ${plural(count, "item")}", Tone.OK) + } + + override fun onClearCart(click: FullscreenClick) { + cart = emptyMap() + show("Cart cleared", Tone.WARN) + } + + // Footer and input + + override fun storeBalance(): Component = Component.text(coins) + + override fun storeToast(): Component = Component.text(toast?.first ?: "Welcome to the Foundry Market") + + override fun tone(): Tone = toast?.second ?: Tone.OK + + override fun onScroll(steps: Int) { + val target = if (wheelOnCatalog) catalog else lines + repeat(abs(steps)) { if (steps > 0) target.next() else target.previous() } + } + + override fun onRightClick(click: FullscreenClick) { + showPane(if (storePane == StorePane.DETAILS) StorePane.CART else StorePane.DETAILS) + } + + private fun showPane(pane: StorePane) { + storePane = pane + wheelOnCatalog = pane == StorePane.DETAILS + } + + private fun visibleProducts(): List { + val products = + market.products.filter { product -> + product.name.contains(query.trim(), ignoreCase = true) && + when (storeCategory) { + StoreCategory.ALL -> true + StoreCategory.GEAR -> product.category == ProductCategory.GEAR + StoreCategory.MAGIC -> product.category == ProductCategory.MAGIC + StoreCategory.DEALS -> product.featured + } + } + return products.sortedWith(sort.order) + } + + /** Pads the grid with empty entries so every row is full and the list scrolls a whole row at a time. */ + private fun List.inWholeRows(): List = this + List((-size).mod(COLUMNS)) { null } + + private fun cartLines(): List> = + cart.mapNotNull { (id, count) -> market.products.find { it.id == id }?.let { it to count } } + + private fun cartTotalPrice(): Int = cartLines().sumOf { (product, count) -> product.price * count } + + private fun search(text: String) { + query = text + catalogChanged() + } + + /** Shows the top of the grid; the selection stays while it survives the change. */ + private fun catalogChanged() { + catalog.first() + wheelOnCatalog = true + } + + /** Pays [price] from the wallet, or explains the shortfall. */ + private fun pay(price: Int): Boolean { + val balance = market.purchase(player, price) + if (balance == null) { + show("Need ${plural(price - coins, "more coin")}", Tone.DANGER) + return false + } + coins = balance + return true + } + + private fun amountOf(product: Product): String = if (amount == 1) product.name else "${product.name} x$amount" + + /** Shows [message] in the footer for a few seconds. */ + private fun show( + message: String, + tone: Tone, + ) { + toast = message to tone + toastTask?.cancel() + toastTask = + player + .scheduler() + .buildTask { toast = null } + .delay(TaskSchedule.seconds(4)) + .schedule() + } + + /** [text] and a caret, dropping its start once it outgrows the field so the end stays in view. */ + private fun editing(text: String): Component = + (0..text.length) + .asSequence() + .map { Component.text(text.substring(it) + "_") } + .first { fit("store_search", it) == it } + + private enum class Sort( + val label: String, + val order: Comparator, + ) { + FEATURED("Top", compareByDescending(Product::featured).thenBy(Product::price)), + CHEAPEST("Cheap", compareBy(Product::price)), + PRICIEST("Pricey", compareByDescending(Product::price)), + NAME("A-Z", compareBy(Product::name)), + } +} + +private const val COLUMNS = 3 +private const val MAX_AMOUNT = 9 + +private val CATEGORY_LABELS = + mapOf( + StorefrontFullscreen.StoreCategory.ALL to "All", + StorefrontFullscreen.StoreCategory.GEAR to "Gear", + StorefrontFullscreen.StoreCategory.MAGIC to "Magic", + StorefrontFullscreen.StoreCategory.DEALS to "Deals", + ) + +private fun plural( + count: Int, + noun: String, +): String = if (count == 1) "1 $noun" else "$count ${noun}s" + +/** + * Whether scrollbar segment [index] of [segments] is lit: whether its stretch of a [total]-row list overlaps the + * [visible] rows starting at [first]. A list that fits lights every segment. + */ +private fun thumb( + index: Int, + segments: Int, + first: Int, + visible: Int, + total: Int, +): Boolean { + if (total <= visible) return true + val start = first * segments / total + val end = ceil((first + visible) * segments / total.toDouble()).toInt() + return index in start until end +} + +private val BLURBS = + mapOf( + "diamond" to "A sealed crate of flawless diamonds, cut at the deep mines of Ironvale.", + "emerald" to "Redeemable at any villager stall for a fair trade, no haggling needed.", + "gold" to "Gilded bars from the Emberly vaults, stamped with the foundry seal.", + "iron" to "Quench-hardened iron that holds an edge through a long night of mining.", + "copper" to "Bright copper bundled for wiring, rods, and the odd lightning trap.", + "redstone" to "Dust, repeaters, and a page of circuits to get a contraption running.", + "lapis" to "Fine lapis for the enchanting table, ground and bottled for travel.", + "coal" to "Packed coal that burns three times as long in any furnace.", + "quartz" to "A nether quartz prism that splits torchlight into seven colours.", + "amethyst" to "Shards that hum a low note when the moon is full. Staff favourite.", + "ender_pearl" to "One throw and you are there. Mind the fall and the endermen.", + "blaze_rod" to "A rod still warm from the fortress, ready to fire a brewing stand.", + "ghast_tear" to "Gathered gently from a sleeping ghast. Brews a strong regeneration.", + "prismarine" to "The glowing heart of an ocean monument, pried loose with care.", + "heart" to "Breathe and see beneath the waves once it sits in a conduit frame.", + "nether_star" to "Taken from the wither itself. Powers a beacon for a whole base.", + "totem" to "Holds death back once, then crumbles. Keep it in your off hand.", + "trident" to "Forged in the drowned halls. Returns to your hand and calls lightning in a storm.", + "elytra" to "Wings from an end ship. Pair with rockets for a long glide home.", + "rocket" to "A crate of flight rockets, three gunpowder strong. No stars, no boom.", + "golden_apple" to "Crisp and gilded. Absorbs a hit or two and heals on the go.", + "experience" to "A flask of bottled experience, for when the anvil says too expensive.", + "book" to "A manual of rare enchantments, bound in leather and lapis ink.", + "spyglass" to "Copper and amethyst lenses that pick out a creeper a mile off.", + "compass" to "Points home, or to a lodestone, through rain, night, and caves.", + "clock" to "Tells the hour underground, so you know when to head back up.", + "name_tag" to "Name a pet, a cow, or a very patient zombie. Ink included.", + "saddle" to "A ranger's saddle that fits horses, pigs, and striders alike.", + "shell" to "A shulker shell, half of a box that carries a whole chest.", + "echo" to "A shard from the deep dark that still answers when you call it.", + ) diff --git a/jvm/example/src/main/kotlin/com/chunkzero/window/example/generated/StorefrontFullscreen.kt b/jvm/example/src/main/kotlin/com/chunkzero/window/example/generated/StorefrontFullscreen.kt new file mode 100644 index 00000000..e71eeb07 --- /dev/null +++ b/jvm/example/src/main/kotlin/com/chunkzero/window/example/generated/StorefrontFullscreen.kt @@ -0,0 +1,462 @@ +// Generated by window-codegen — do not edit. +package com.chunkzero.window.example.generated + +import com.chunkzero.window.FullscreenClick +import com.chunkzero.window.FullscreenScope +import com.chunkzero.window.FullscreenView +import com.chunkzero.window.minestom.MinestomFullscreenHost +import net.kyori.adventure.text.Component +import net.minestom.server.entity.Player + +/** Typed view for the `storefront` full-screen window. Implement the abstract members. */ +public abstract class StorefrontFullscreen(protected val player: Player) : FullscreenView(WindowFullscreenDefinitions.storefront, MinestomFullscreenHost(player)) { + /** Handle a `add_to_cart` click. */ + protected abstract fun onAddToCart(click: FullscreenClick) + + /** Handle a `buy_now` click. */ + protected abstract fun onBuyNow(click: FullscreenClick) + + /** Render the `buy_now_label` text. */ + protected abstract fun buyNowLabel(): Component + + /** The `can_buy_now` flag. */ + protected abstract fun canBuyNow(): Boolean + + /** The `can_checkout` flag. */ + protected abstract fun canCheckout(): Boolean + + /** The `can_less` flag. */ + protected abstract fun canLess(): Boolean + + /** The `can_more` flag. */ + protected abstract fun canMore(): Boolean + + /** The `card_featured` flag. */ + protected abstract fun cardFeatured(index: Int): Boolean + + /** The `card_filled` flag. */ + protected abstract fun cardFilled(index: Int): Boolean + + /** The values of `card_icon`. */ + public enum class CardIcon(public val value: String) { + NONE("none"), + DIAMOND("diamond"), + EMERALD("emerald"), + GOLD("gold"), + IRON("iron"), + COPPER("copper"), + REDSTONE("redstone"), + LAPIS("lapis"), + COAL("coal"), + QUARTZ("quartz"), + AMETHYST("amethyst"), + ENDER_PEARL("ender_pearl"), + BLAZE_ROD("blaze_rod"), + GHAST_TEAR("ghast_tear"), + PRISMARINE("prismarine"), + HEART("heart"), + NETHER_STAR("nether_star"), + TOTEM("totem"), + TRIDENT("trident"), + ELYTRA("elytra"), + ROCKET("rocket"), + GOLDEN_APPLE("golden_apple"), + EXPERIENCE("experience"), + BOOK("book"), + SPYGLASS("spyglass"), + COMPASS("compass"), + CLOCK("clock"), + NAME_TAG("name_tag"), + SADDLE("saddle"), + SHELL("shell"), + ECHO("echo"), + } + + /** The `card_icon` value. */ + protected abstract fun cardIcon(index: Int): CardIcon + + /** Render the `card_name` text. */ + protected abstract fun cardName(index: Int): Component + + /** Render the `card_price` text. */ + protected abstract fun cardPrice(index: Int): Component + + /** The `card_selected` flag. */ + protected abstract fun cardSelected(index: Int): Boolean + + /** Handle a `cart_down` click. */ + protected abstract fun onCartDown(click: FullscreenClick) + + /** The `cart_empty` flag. */ + protected abstract fun cartEmpty(): Boolean + + /** Render the `cart_name` text. */ + protected abstract fun cartName(index: Int): Component + + /** Render the `cart_price` text. */ + protected abstract fun cartPrice(index: Int): Component + + /** Render the `cart_quantity` text. */ + protected abstract fun cartQuantity(index: Int): Component + + /** The `cart_thumb` flag. */ + protected abstract fun cartThumb(index: Int): Boolean + + /** Render the `cart_total` text. */ + protected abstract fun cartTotal(): Component + + /** Handle a `cart_up` click. */ + protected abstract fun onCartUp(click: FullscreenClick) + + /** Handle a `catalog_down` click. */ + protected abstract fun onCatalogDown(click: FullscreenClick) + + /** The `catalog_focused` flag. */ + protected abstract fun catalogFocused(): Boolean + + /** The `catalog_thumb` flag. */ + protected abstract fun catalogThumb(index: Int): Boolean + + /** Handle a `catalog_up` click. */ + protected abstract fun onCatalogUp(click: FullscreenClick) + + /** Handle a `checkout` click. */ + protected abstract fun onCheckout(click: FullscreenClick) + + /** Handle a `clear_cart` click. */ + protected abstract fun onClearCart(click: FullscreenClick) + + /** Render the `detail_blurb` text. */ + protected abstract fun detailBlurb(): Component + + /** The values of `detail_icon`. */ + public enum class DetailIcon(public val value: String) { + NONE("none"), + DIAMOND("diamond"), + EMERALD("emerald"), + GOLD("gold"), + IRON("iron"), + COPPER("copper"), + REDSTONE("redstone"), + LAPIS("lapis"), + COAL("coal"), + QUARTZ("quartz"), + AMETHYST("amethyst"), + ENDER_PEARL("ender_pearl"), + BLAZE_ROD("blaze_rod"), + GHAST_TEAR("ghast_tear"), + PRISMARINE("prismarine"), + HEART("heart"), + NETHER_STAR("nether_star"), + TOTEM("totem"), + TRIDENT("trident"), + ELYTRA("elytra"), + ROCKET("rocket"), + GOLDEN_APPLE("golden_apple"), + EXPERIENCE("experience"), + BOOK("book"), + SPYGLASS("spyglass"), + COMPASS("compass"), + CLOCK("clock"), + NAME_TAG("name_tag"), + SADDLE("saddle"), + SHELL("shell"), + ECHO("echo"), + } + + /** The `detail_icon` value. */ + protected abstract fun detailIcon(): DetailIcon + + /** Render the `detail_in_cart` text. */ + protected abstract fun detailInCart(): Component + + /** Render the `detail_kind` text. */ + protected abstract fun detailKind(): Component + + /** Render the `detail_name` text. */ + protected abstract fun detailName(): Component + + /** Render the `detail_price` text. */ + protected abstract fun detailPrice(): Component + + /** The values of `detail_tier`. */ + public enum class DetailTier(public val value: String) { + COMMON("common"), + RARE("rare"), + EPIC("epic"), + LEGENDARY("legendary"), + } + + /** The palette entry the `detail_tier` tint draws in. */ + protected abstract fun detailTier(): DetailTier + + /** Handle a `less` click. */ + protected abstract fun onLess(click: FullscreenClick) + + /** Handle a `more` click. */ + protected abstract fun onMore(click: FullscreenClick) + + /** Handle a `open_cart` click. */ + protected abstract fun onOpenCart(click: FullscreenClick) + + /** Handle a `open_details` click. */ + protected abstract fun onOpenDetails(click: FullscreenClick) + + /** Handle a `pick_card` click; `index` is the clicked entry, row-major. */ + protected abstract fun onPickCard(index: Int, click: FullscreenClick) + + /** Render the `quantity` text. */ + protected abstract fun quantity(): Component + + /** Handle a `remove_line` click; `index` is the clicked entry, row-major. */ + protected abstract fun onRemoveLine(index: Int, click: FullscreenClick) + + /** Render the `store_balance` text. */ + protected abstract fun storeBalance(): Component + + /** Render the `store_cart_count` text. */ + protected abstract fun storeCartCount(): Component + + /** The values of `store_category`. */ + public enum class StoreCategory(public val value: String) { + ALL("all"), + GEAR("gear"), + MAGIC("magic"), + DEALS("deals"), + } + + /** The `store_category` selection. Clicks change it, then call [onStoreCategoryChanged]. */ + protected var storeCategory: StoreCategory by state(StoreCategory.ALL) + + /** Called after a click changes `store_category`; assigning it does not call this. */ + protected open fun onStoreCategoryChanged(value: StoreCategory) {} + + /** Handle a `store_clear_search` click. */ + protected abstract fun onStoreClearSearch(click: FullscreenClick) + + /** Handle a `store_find` click. */ + protected abstract fun onStoreFind(click: FullscreenClick) + + /** The `store_has_search` flag. */ + protected abstract fun storeHasSearch(): Boolean + + /** The values of `store_pane`. */ + public enum class StorePane(public val value: String) { + DETAILS("details"), + CART("cart"), + } + + /** The `store_pane` selection. Clicks change it, then call [onStorePaneChanged]. */ + protected var storePane: StorePane by state(StorePane.DETAILS) + + /** Called after a click changes `store_pane`; assigning it does not call this. */ + protected open fun onStorePaneChanged(value: StorePane) {} + + /** Render the `store_results` text. */ + protected abstract fun storeResults(): Component + + /** Render the `store_search` text. */ + protected abstract fun storeSearch(): Component + + /** Handle a `store_sort` click. */ + protected abstract fun onStoreSort(click: FullscreenClick) + + /** Render the `store_sort_label` text. */ + protected abstract fun storeSortLabel(): Component + + /** Render the `store_toast` text. */ + protected abstract fun storeToast(): Component + + /** The values of `tone`. */ + public enum class Tone(public val value: String) { + OK("ok"), + WARN("warn"), + DANGER("danger"), + } + + /** The palette entry the `tone` tint draws in. */ + protected abstract fun tone(): Tone + + /** Handle a scroll of the wheel, as the signed steps the hotbar selection moved. */ + protected open fun onScroll(steps: Int) {} + + /** Handle a right click anywhere on the canvas. */ + protected open fun onRightClick(click: FullscreenClick) {} + + final override fun FullscreenScope.bind() { + button("add_to_cart", ::onAddToCart) + button("buy_now", ::onBuyNow) + slot("buy_now_label") { buyNowLabel() } + slot("buy_now_label~2") { buyNowLabel() } + switch("can_buy_now") { canBuyNow().toString() } + switch("can_checkout") { canCheckout().toString() } + switch("can_less") { canLess().toString() } + switch("can_more") { canMore().toString() } + for (index in 0 until CARD_FEATURED_SIZE) { + switch("card_featured[$index]") { cardFeatured(index).toString() } + } + for (index in 0 until CARD_FILLED_SIZE) { + switch("card_filled[$index]") { cardFilled(index).toString() } + } + for (index in 0 until CARD_ICON_SIZE) { + switch("card_icon[$index]") { cardIcon(index).value } + } + for (index in 0 until CARD_NAME_SIZE) { + slot("card_name[$index]") { cardName(index) } + } + for (index in 0 until CARD_PRICE_SIZE) { + slot("card_price[$index]") { cardPrice(index) } + } + for (index in 0 until CARD_SELECTED_SIZE) { + switch("card_selected[$index]") { cardSelected(index).toString() } + } + button("cart_down", ::onCartDown) + switch("cart_empty") { cartEmpty().toString() } + for (index in 0 until CART_NAME_SIZE) { + slot("cart_name[$index]") { cartName(index) } + } + for (index in 0 until CART_PRICE_SIZE) { + slot("cart_price[$index]") { cartPrice(index) } + } + for (index in 0 until CART_QUANTITY_SIZE) { + slot("cart_quantity[$index]") { cartQuantity(index) } + } + for (index in 0 until CART_THUMB_SIZE) { + switch("cart_thumb[$index]") { cartThumb(index).toString() } + } + slot("cart_total") { cartTotal() } + button("cart_up", ::onCartUp) + button("catalog_down", ::onCatalogDown) + switch("catalog_focused") { catalogFocused().toString() } + switch("catalog_focused~2") { catalogFocused().toString() } + for (index in 0 until CATALOG_THUMB_SIZE) { + switch("catalog_thumb[$index]") { catalogThumb(index).toString() } + } + button("catalog_up", ::onCatalogUp) + button("checkout", ::onCheckout) + button("clear_cart", ::onClearCart) + slot("detail_blurb") { detailBlurb() } + switch("detail_icon") { detailIcon().value } + slot("detail_in_cart") { detailInCart() } + slot("detail_kind") { detailKind() } + slot("detail_name") { detailName() } + slot("detail_price") { detailPrice() } + tint("detail_tier") { detailTier().value } + button("less", ::onLess) + button("more", ::onMore) + button("open_cart", ::onOpenCart) + button("open_cart~2", ::onOpenCart) + button("open_cart~3", ::onOpenCart) + button("open_details", ::onOpenDetails) + button("open_details~2", ::onOpenDetails) + for (index in 0 until PICK_CARD_SIZE) { + button("pick_card[$index]") { click -> + onPickCard(index, click) + } + } + slot("quantity") { quantity() } + for (index in 0 until REMOVE_LINE_SIZE) { + button("remove_line[$index]") { click -> + onRemoveLine(index, click) + } + } + slot("store_balance") { storeBalance() } + slot("store_cart_count") { storeCartCount() } + switch("store_category?all") { (storeCategory == StoreCategory.ALL).toString() } + button("store_category=all") { _ -> + if (storeCategory != StoreCategory.ALL) { + storeCategory = StoreCategory.ALL + onStoreCategoryChanged(storeCategory) + } + } + button("store_category=all~2") { _ -> + if (storeCategory != StoreCategory.ALL) { + storeCategory = StoreCategory.ALL + onStoreCategoryChanged(storeCategory) + } + } + switch("store_category?gear") { (storeCategory == StoreCategory.GEAR).toString() } + button("store_category=gear") { _ -> + if (storeCategory != StoreCategory.GEAR) { + storeCategory = StoreCategory.GEAR + onStoreCategoryChanged(storeCategory) + } + } + button("store_category=gear~2") { _ -> + if (storeCategory != StoreCategory.GEAR) { + storeCategory = StoreCategory.GEAR + onStoreCategoryChanged(storeCategory) + } + } + switch("store_category?magic") { (storeCategory == StoreCategory.MAGIC).toString() } + button("store_category=magic") { _ -> + if (storeCategory != StoreCategory.MAGIC) { + storeCategory = StoreCategory.MAGIC + onStoreCategoryChanged(storeCategory) + } + } + button("store_category=magic~2") { _ -> + if (storeCategory != StoreCategory.MAGIC) { + storeCategory = StoreCategory.MAGIC + onStoreCategoryChanged(storeCategory) + } + } + switch("store_category?deals") { (storeCategory == StoreCategory.DEALS).toString() } + button("store_category=deals") { _ -> + if (storeCategory != StoreCategory.DEALS) { + storeCategory = StoreCategory.DEALS + onStoreCategoryChanged(storeCategory) + } + } + button("store_category=deals~2") { _ -> + if (storeCategory != StoreCategory.DEALS) { + storeCategory = StoreCategory.DEALS + onStoreCategoryChanged(storeCategory) + } + } + button("store_clear_search", ::onStoreClearSearch) + button("store_find", ::onStoreFind) + switch("store_has_search") { storeHasSearch().toString() } + switch("store_has_search~2") { storeHasSearch().toString() } + switch("store_pane?details") { (storePane == StorePane.DETAILS).toString() } + switch("store_pane?cart") { (storePane == StorePane.CART).toString() } + switch("store_pane") { storePane.value } + slot("store_results") { storeResults() } + slot("store_search") { storeSearch() } + button("store_sort", ::onStoreSort) + slot("store_sort_label") { storeSortLabel() } + slot("store_toast") { storeToast() } + tint("tone") { tone().value } + scroll(::onScroll) + rightClick(::onRightClick) + } + + public companion object { + /** A shape dimension of `card_featured`. */ + public const val CARD_FEATURED_SIZE: Int = 9 + /** A shape dimension of `card_filled`. */ + public const val CARD_FILLED_SIZE: Int = 9 + /** A shape dimension of `card_icon`. */ + public const val CARD_ICON_SIZE: Int = 9 + /** A shape dimension of `card_name`. */ + public const val CARD_NAME_SIZE: Int = 9 + /** A shape dimension of `card_price`. */ + public const val CARD_PRICE_SIZE: Int = 9 + /** A shape dimension of `card_selected`. */ + public const val CARD_SELECTED_SIZE: Int = 9 + /** A shape dimension of `cart_name`. */ + public const val CART_NAME_SIZE: Int = 5 + /** A shape dimension of `cart_price`. */ + public const val CART_PRICE_SIZE: Int = 5 + /** A shape dimension of `cart_quantity`. */ + public const val CART_QUANTITY_SIZE: Int = 5 + /** A shape dimension of `cart_thumb`. */ + public const val CART_THUMB_SIZE: Int = 5 + /** A shape dimension of `catalog_thumb`. */ + public const val CATALOG_THUMB_SIZE: Int = 8 + /** A shape dimension of `pick_card`. */ + public const val PICK_CARD_SIZE: Int = 9 + /** A shape dimension of `remove_line`. */ + public const val REMOVE_LINE_SIZE: Int = 5 + } +} diff --git a/jvm/example/src/main/kotlin/com/chunkzero/window/example/generated/WindowEntries.kt b/jvm/example/src/main/kotlin/com/chunkzero/window/example/generated/WindowEntries.kt index b3fb0b0f..f213f96e 100644 --- a/jvm/example/src/main/kotlin/com/chunkzero/window/example/generated/WindowEntries.kt +++ b/jvm/example/src/main/kotlin/com/chunkzero/window/example/generated/WindowEntries.kt @@ -2531,7 +2531,7 @@ internal object WindowEntries { cases = listOf( SwitchCaseEntry( value = "true", - static = "\uDB80\uDC12\uDB80\uDC0F\uF826\uDB80\uDC03\uDB80\uDC05\uDB80\uDC0A", + static = "\uDB80\uDC12\uDB80\uDC0F\uF827\uDB80\uDC03\uDB80\uDC05\uDB80\uDC0A", slots = emptyList(), spriteSlots = emptyList(), regions = listOf("clear_search"), @@ -4462,7 +4462,7 @@ internal object WindowEntries { ), SwitchCaseEntry( value = "maxed", - static = "\uF153\uDB80\uDC05\uDB80\uDC06\uDB80\uDC08\uDB80\uDC0A", + static = "\uF154\uDB80\uDC05\uDB80\uDC06\uDB80\uDC08\uDB80\uDC0A", slots = listOf("upgrade_name[0]~3", "upgrade_level[0]~3", "label_2"), spriteSlots = emptyList(), regions = listOf("region~0"), @@ -4475,7 +4475,7 @@ internal object WindowEntries { cases = listOf( SwitchCaseEntry( value = "new", - static = "\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uE9F4\uDB80\uDC04\uDB80\uDC05\uDB80\uDC07\uDB80\uDC09\uDB80\uDC0A", + static = "\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uE9F5\uDB80\uDC04\uDB80\uDC05\uDB80\uDC07\uDB80\uDC09\uDB80\uDC0A", slots = listOf("upgrade_name[1]", "upgrade_level[1]", "label_3", "upgrade_cost[1]"), spriteSlots = emptyList(), regions = listOf("upgrade[1]"), @@ -4539,12 +4539,12 @@ internal object WindowEntries { name = "upgrade_progress[0]", x = 3, width = 46, - levels = listOf("\uECFB\uECFB\uECFB\uECFB\uECFB\uECFB\uECFB\uECFB\uECFB\uECFB\uECFB\uECFB\uECFB\uECFB\uECFB\uECFB\uECFB\uECFB\uECFB\uECFB\uECFB\uECFB\uECFB", "\uF82F\uF82F\uF82F\uF82F\uF82F\uF82F\uF82F\uF82F\uF82F\uF82F\uF82F\uF82F", "\uE69D\uE69D\uE69D\uE69D\uE69D\uE69D", "\uE43C\uE43C\uE43C", "\uF5B3", "\uEA5C"), + levels = listOf("\uECFC\uECFC\uECFC\uECFC\uECFC\uECFC\uECFC\uECFC\uECFC\uECFC\uECFC\uECFC\uECFC\uECFC\uECFC\uECFC\uECFC\uECFC\uECFC\uECFC\uECFC\uECFC\uECFC", "\uF82F\uF82F\uF82F\uF82F\uF82F\uF82F\uF82F\uF82F\uF82F\uF82F\uF82F\uF82F", "\uE69D\uE69D\uE69D\uE69D\uE69D\uE69D", "\uE43C\uE43C\uE43C", "\uF5B3", "\uEA5C"), advances = mapOf( "\uE43C" to 9, "\uE69D" to 5, "\uEA5C" to 33, - "\uECFB" to 2, + "\uECFC" to 2, "\uF5B3" to 17, "\uF82F" to 3, ), diff --git a/jvm/example/src/main/kotlin/com/chunkzero/window/example/generated/WindowFonts.kt b/jvm/example/src/main/kotlin/com/chunkzero/window/example/generated/WindowFonts.kt index 793c4b00..3f96ea96 100644 --- a/jvm/example/src/main/kotlin/com/chunkzero/window/example/generated/WindowFonts.kt +++ b/jvm/example/src/main/kotlin/com/chunkzero/window/example/generated/WindowFonts.kt @@ -842,17 +842,51 @@ internal object WindowFonts { "window:small_caps/y88" to fontMetrics0, "window:small_caps/y96" to fontMetrics0, "window:small_caps/ym1" to fontMetrics0, + "window:y101" to vanillaMetrics, + "window:y105" to vanillaMetrics, + "window:y110" to vanillaMetrics, "window:y113" to vanillaMetrics, + "window:y114" to vanillaMetrics, "window:y116" to vanillaMetrics, + "window:y117" to vanillaMetrics, + "window:y119" to vanillaMetrics, + "window:y129" to vanillaMetrics, + "window:y13" to vanillaMetrics, + "window:y131" to vanillaMetrics, + "window:y134" to vanillaMetrics, "window:y136" to vanillaMetrics, + "window:y139" to vanillaMetrics, "window:y144" to vanillaMetrics, + "window:y148" to vanillaMetrics, + "window:y149" to vanillaMetrics, + "window:y152" to vanillaMetrics, "window:y154" to vanillaMetrics, "window:y156" to vanillaMetrics, "window:y162" to vanillaMetrics, + "window:y169" to vanillaMetrics, + "window:y171" to vanillaMetrics, "window:y176" to vanillaMetrics, + "window:y183" to vanillaMetrics, + "window:y187" to vanillaMetrics, + "window:y193" to vanillaMetrics, "window:y195" to vanillaMetrics, + "window:y203" to vanillaMetrics, "window:y207" to vanillaMetrics, + "window:y225" to vanillaMetrics, + "window:y229" to vanillaMetrics, + "window:y236" to vanillaMetrics, + "window:y237" to vanillaMetrics, + "window:y252" to vanillaMetrics, + "window:y31" to vanillaMetrics, + "window:y43" to vanillaMetrics, + "window:y44" to vanillaMetrics, + "window:y61" to vanillaMetrics, + "window:y62" to vanillaMetrics, + "window:y71" to vanillaMetrics, "window:y80" to vanillaMetrics, + "window:y81" to vanillaMetrics, + "window:y85" to vanillaMetrics, + "window:y95" to vanillaMetrics, "window:y98" to vanillaMetrics, ) } diff --git a/jvm/example/src/main/kotlin/com/chunkzero/window/example/generated/WindowFullscreenDefinitions.kt b/jvm/example/src/main/kotlin/com/chunkzero/window/example/generated/WindowFullscreenDefinitions.kt index 45ae4b0e..d2c9e595 100644 --- a/jvm/example/src/main/kotlin/com/chunkzero/window/example/generated/WindowFullscreenDefinitions.kt +++ b/jvm/example/src/main/kotlin/com/chunkzero/window/example/generated/WindowFullscreenDefinitions.kt @@ -7,4 +7,5 @@ import com.chunkzero.window.FullscreenDefinition public object WindowFullscreenDefinitions { public val lobby: FullscreenDefinition = FullscreenDefinition(WindowPackData.manifest, "lobby") public val lookout: FullscreenDefinition = FullscreenDefinition(WindowPackData.manifest, "lookout") + public val storefront: FullscreenDefinition = FullscreenDefinition(WindowPackData.manifest, "storefront") } diff --git a/jvm/example/src/main/kotlin/com/chunkzero/window/example/generated/WindowFullscreenEntries.kt b/jvm/example/src/main/kotlin/com/chunkzero/window/example/generated/WindowFullscreenEntries.kt index 009ad957..937d4877 100644 --- a/jvm/example/src/main/kotlin/com/chunkzero/window/example/generated/WindowFullscreenEntries.kt +++ b/jvm/example/src/main/kotlin/com/chunkzero/window/example/generated/WindowFullscreenEntries.kt @@ -15,8 +15,10 @@ import com.chunkzero.window.manifest.HorseEntry import com.chunkzero.window.manifest.LayerEntry import com.chunkzero.window.manifest.LayerKind import com.chunkzero.window.manifest.SlotEntry +import com.chunkzero.window.manifest.SlotLinesEntry import com.chunkzero.window.manifest.SwitchCaseEntry import com.chunkzero.window.manifest.SwitchEntry +import com.chunkzero.window.manifest.TextOverflow /** Compiled full-screen entries and canvas contract of this Window pack. */ internal object WindowFullscreenEntries { @@ -685,6 +687,6597 @@ internal object WindowFullscreenEntries { ), backdropMarker = "#a80008", ), + "storefront" to FullscreenEntry( + surface = FullscreenSurfaceEntry( + kind = "fullscreen", + mode = FullscreenMode.HORSE, + size = listOf(480, 270), + ), + static = "\uDB80\uDC0D\uDB80\uDC0C\uE20C\uDB80\uDC02\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A\uDB80\uDC13\uDB80\uDC0D\uDB80\uDC0C\uF2F2\uDB80\uDC02\uDB80\uDC03\uDB80\uDC04\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A\uDB80\uDC0D\uDB80\uDC0C\uF166\uDB80\uDC02\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A\uDB80\uDC13\uDB80\uDC0D\uDB80\uDC0C\uF60C\uDB80\uDC02\uDB80\uDC03\uDB80\uDC04\uDB80\uDC06\uDB80\uDC07\uDB80\uDC09\uDB80\uDC0A", + staticMarker = "#a00400", + slots = mapOf( + "buy_now_label" to SlotEntry( + x = 395, + y = 171, + width = 73, + align = Align.CENTER, + font = "window:y171", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + ), + "buy_now_label~2" to SlotEntry( + x = 395, + y = 171, + width = 73, + align = Align.CENTER, + font = "window:y171", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + ), + "card_name[0]" to SlotEntry( + x = 14, + y = 85, + width = 84, + align = Align.CENTER, + font = "window:y85", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + overflow = TextOverflow.ELLIPSIS, + ), + "card_name[1]" to SlotEntry( + x = 103, + y = 85, + width = 84, + align = Align.CENTER, + font = "window:y85", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + overflow = TextOverflow.ELLIPSIS, + ), + "card_name[2]" to SlotEntry( + x = 191, + y = 85, + width = 84, + align = Align.CENTER, + font = "window:y85", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + overflow = TextOverflow.ELLIPSIS, + ), + "card_name[3]" to SlotEntry( + x = 14, + y = 139, + width = 84, + align = Align.CENTER, + font = "window:y139", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + overflow = TextOverflow.ELLIPSIS, + ), + "card_name[4]" to SlotEntry( + x = 103, + y = 139, + width = 84, + align = Align.CENTER, + font = "window:y139", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + overflow = TextOverflow.ELLIPSIS, + ), + "card_name[5]" to SlotEntry( + x = 191, + y = 139, + width = 84, + align = Align.CENTER, + font = "window:y139", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + overflow = TextOverflow.ELLIPSIS, + ), + "card_name[6]" to SlotEntry( + x = 14, + y = 193, + width = 84, + align = Align.CENTER, + font = "window:y193", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + overflow = TextOverflow.ELLIPSIS, + ), + "card_name[7]" to SlotEntry( + x = 103, + y = 193, + width = 84, + align = Align.CENTER, + font = "window:y193", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + overflow = TextOverflow.ELLIPSIS, + ), + "card_name[8]" to SlotEntry( + x = 191, + y = 193, + width = 84, + align = Align.CENTER, + font = "window:y193", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + overflow = TextOverflow.ELLIPSIS, + ), + "card_price[0]" to SlotEntry( + x = 46, + y = 95, + width = 30, + align = Align.LEFT, + font = "window:y95", + color = "#ffd27a", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + ), + "card_price[1]" to SlotEntry( + x = 135, + y = 95, + width = 30, + align = Align.LEFT, + font = "window:y95", + color = "#ffd27a", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + ), + "card_price[2]" to SlotEntry( + x = 223, + y = 95, + width = 30, + align = Align.LEFT, + font = "window:y95", + color = "#ffd27a", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + ), + "card_price[3]" to SlotEntry( + x = 46, + y = 149, + width = 30, + align = Align.LEFT, + font = "window:y149", + color = "#ffd27a", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + ), + "card_price[4]" to SlotEntry( + x = 135, + y = 149, + width = 30, + align = Align.LEFT, + font = "window:y149", + color = "#ffd27a", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + ), + "card_price[5]" to SlotEntry( + x = 223, + y = 149, + width = 30, + align = Align.LEFT, + font = "window:y149", + color = "#ffd27a", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + ), + "card_price[6]" to SlotEntry( + x = 46, + y = 203, + width = 30, + align = Align.LEFT, + font = "window:y203", + color = "#ffd27a", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + ), + "card_price[7]" to SlotEntry( + x = 135, + y = 203, + width = 30, + align = Align.LEFT, + font = "window:y203", + color = "#ffd27a", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + ), + "card_price[8]" to SlotEntry( + x = 223, + y = 203, + width = 30, + align = Align.LEFT, + font = "window:y203", + color = "#ffd27a", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + ), + "cart_name[0]" to SlotEntry( + x = 312, + y = 80, + width = 80, + align = Align.LEFT, + font = "window:y80", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + overflow = TextOverflow.ELLIPSIS, + ), + "cart_name[1]" to SlotEntry( + x = 312, + y = 98, + width = 80, + align = Align.LEFT, + font = "window:y98", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + overflow = TextOverflow.ELLIPSIS, + ), + "cart_name[2]" to SlotEntry( + x = 312, + y = 116, + width = 80, + align = Align.LEFT, + font = "window:y116", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + overflow = TextOverflow.ELLIPSIS, + ), + "cart_name[3]" to SlotEntry( + x = 312, + y = 134, + width = 80, + align = Align.LEFT, + font = "window:y134", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + overflow = TextOverflow.ELLIPSIS, + ), + "cart_name[4]" to SlotEntry( + x = 312, + y = 152, + width = 80, + align = Align.LEFT, + font = "window:y152", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + overflow = TextOverflow.ELLIPSIS, + ), + "cart_price[0]" to SlotEntry( + x = 414, + y = 80, + width = 32, + align = Align.RIGHT, + font = "window:y80", + color = "#ffd27a", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + ), + "cart_price[1]" to SlotEntry( + x = 414, + y = 98, + width = 32, + align = Align.RIGHT, + font = "window:y98", + color = "#ffd27a", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + ), + "cart_price[2]" to SlotEntry( + x = 414, + y = 116, + width = 32, + align = Align.RIGHT, + font = "window:y116", + color = "#ffd27a", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + ), + "cart_price[3]" to SlotEntry( + x = 414, + y = 134, + width = 32, + align = Align.RIGHT, + font = "window:y134", + color = "#ffd27a", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + ), + "cart_price[4]" to SlotEntry( + x = 414, + y = 152, + width = 32, + align = Align.RIGHT, + font = "window:y152", + color = "#ffd27a", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + ), + "cart_quantity[0]" to SlotEntry( + x = 394, + y = 80, + width = 18, + align = Align.LEFT, + font = "window:y80", + color = "#9cc4e4", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + ), + "cart_quantity[1]" to SlotEntry( + x = 394, + y = 98, + width = 18, + align = Align.LEFT, + font = "window:y98", + color = "#9cc4e4", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + ), + "cart_quantity[2]" to SlotEntry( + x = 394, + y = 116, + width = 18, + align = Align.LEFT, + font = "window:y116", + color = "#9cc4e4", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + ), + "cart_quantity[3]" to SlotEntry( + x = 394, + y = 134, + width = 18, + align = Align.LEFT, + font = "window:y134", + color = "#9cc4e4", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + ), + "cart_quantity[4]" to SlotEntry( + x = 394, + y = 152, + width = 18, + align = Align.LEFT, + font = "window:y152", + color = "#9cc4e4", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + ), + "cart_total" to SlotEntry( + x = 351, + y = 169, + width = 60, + align = Align.LEFT, + font = "window:y169", + color = "#ffd27a", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + ), + "detail_blurb" to SlotEntry( + x = 309, + y = 101, + width = 158, + align = Align.LEFT, + font = "window:y101", + color = "#d8e8f8", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + overflow = TextOverflow.ELLIPSIS, + lines = SlotLinesEntry( + count = 3, + lineHeight = 9, + fonts = listOf("window:y101", "window:y105", "window:y110", "window:y114", "window:y119"), + ), + ), + "detail_in_cart" to SlotEntry( + x = 309, + y = 131, + width = 158, + align = Align.LEFT, + font = "window:y131", + color = "#9cc4e4", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + ), + "detail_kind" to SlotEntry( + x = 351, + y = 71, + width = 116, + align = Align.LEFT, + font = "window:y71", + color = "#9cc4e4", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + ), + "detail_name" to SlotEntry( + x = 351, + y = 61, + width = 116, + align = Align.LEFT, + font = "window:y61", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + tint = "detail_tier", + tintMarkers = mapOf( + "common" to "#a17800", + "epic" to "#a1780d", + "legendary" to "#a1780e", + "rare" to "#a1780c", + ), + ), + "detail_price" to SlotEntry( + x = 361, + y = 81, + width = 60, + align = Align.LEFT, + font = "window:y81", + color = "#ffd27a", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + ), + "label_0" to SlotEntry( + x = 32, + y = 13, + width = 78, + align = Align.LEFT, + font = "window:y13", + color = "#ffe2b8", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Foundry Market", + shaderMarker = null, + shaderColor = null, + ), + "label_1" to SlotEntry( + x = 127, + y = 13, + width = 11, + align = Align.CENTER, + font = "window:y13", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "All", + shaderMarker = null, + shaderColor = null, + ), + "label_10" to SlotEntry( + x = 12, + y = 229, + width = 280, + align = Align.LEFT, + font = "window:y229", + color = "#9cc4e4", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Scroll the wheel or use the arrows to browse", + shaderMarker = null, + shaderColor = null, + ), + "label_11" to SlotEntry( + x = 333, + y = 44, + width = 32, + align = Align.CENTER, + font = "window:y44", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Details", + shaderMarker = null, + shaderColor = null, + ), + "label_12" to SlotEntry( + x = 333, + y = 44, + width = 32, + align = Align.CENTER, + font = "window:y44", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Details", + shaderMarker = null, + shaderColor = null, + ), + "label_13" to SlotEntry( + x = 423, + y = 44, + width = 21, + align = Align.CENTER, + font = "window:y44", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Cart", + shaderMarker = null, + shaderColor = null, + ), + "label_14" to SlotEntry( + x = 423, + y = 44, + width = 21, + align = Align.CENTER, + font = "window:y44", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Cart", + shaderMarker = null, + shaderColor = null, + ), + "label_15" to SlotEntry( + x = 309, + y = 148, + width = 40, + align = Align.LEFT, + font = "window:y148", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Quantity", + shaderMarker = null, + shaderColor = null, + ), + "label_16" to SlotEntry( + x = 359, + y = 148, + width = 5, + align = Align.CENTER, + font = "window:y148", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "-", + shaderMarker = null, + shaderColor = null, + ), + "label_17" to SlotEntry( + x = 359, + y = 148, + width = 5, + align = Align.CENTER, + font = "window:y148", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "-", + shaderMarker = null, + shaderColor = null, + ), + "label_18" to SlotEntry( + x = 409, + y = 148, + width = 5, + align = Align.CENTER, + font = "window:y148", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "+", + shaderMarker = null, + shaderColor = null, + ), + "label_19" to SlotEntry( + x = 409, + y = 148, + width = 5, + align = Align.CENTER, + font = "window:y148", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "+", + shaderMarker = null, + shaderColor = null, + ), + "label_2" to SlotEntry( + x = 127, + y = 13, + width = 11, + align = Align.CENTER, + font = "window:y13", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "All", + shaderMarker = null, + shaderColor = null, + ), + "label_20" to SlotEntry( + x = 320, + y = 171, + width = 57, + align = Align.CENTER, + font = "window:y171", + color = "#2a1200", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Add to cart", + shaderMarker = null, + shaderColor = null, + ), + "label_21" to SlotEntry( + x = 317, + y = 62, + width = 128, + align = Align.LEFT, + font = "window:y62", + color = "#9cc4e4", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Click a line to remove one", + shaderMarker = null, + shaderColor = null, + ), + "label_22" to SlotEntry( + x = 342, + y = 116, + width = 93, + align = Align.LEFT, + font = "window:y116", + color = "#9cc4e4", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Your cart is empty", + shaderMarker = null, + shaderColor = null, + ), + "label_23" to SlotEntry( + x = 309, + y = 169, + width = 30, + align = Align.LEFT, + font = "window:y169", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Total", + shaderMarker = null, + shaderColor = null, + ), + "label_24" to SlotEntry( + x = 327, + y = 187, + width = 44, + align = Align.CENTER, + font = "window:y187", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Checkout", + shaderMarker = null, + shaderColor = null, + ), + "label_25" to SlotEntry( + x = 327, + y = 187, + width = 44, + align = Align.CENTER, + font = "window:y187", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Checkout", + shaderMarker = null, + shaderColor = null, + ), + "label_26" to SlotEntry( + x = 419, + y = 187, + width = 26, + align = Align.CENTER, + font = "window:y187", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Clear", + shaderMarker = null, + shaderColor = null, + ), + "label_27" to SlotEntry( + x = 302, + y = 252, + width = 124, + align = Align.LEFT, + font = "window:y252", + color = "#9cc4e4", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Right click: cart / details", + shaderMarker = null, + shaderColor = null, + ), + "label_28" to SlotEntry( + x = 438, + y = 252, + width = 26, + align = Align.CENTER, + font = "window:y252", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Close", + shaderMarker = null, + shaderColor = null, + ), + "label_3" to SlotEntry( + x = 161, + y = 13, + width = 23, + align = Align.CENTER, + font = "window:y13", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Gear", + shaderMarker = null, + shaderColor = null, + ), + "label_4" to SlotEntry( + x = 161, + y = 13, + width = 23, + align = Align.CENTER, + font = "window:y13", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Gear", + shaderMarker = null, + shaderColor = null, + ), + "label_5" to SlotEntry( + x = 200, + y = 13, + width = 25, + align = Align.CENTER, + font = "window:y13", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Magic", + shaderMarker = null, + shaderColor = null, + ), + "label_6" to SlotEntry( + x = 200, + y = 13, + width = 25, + align = Align.CENTER, + font = "window:y13", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Magic", + shaderMarker = null, + shaderColor = null, + ), + "label_7" to SlotEntry( + x = 239, + y = 13, + width = 26, + align = Align.CENTER, + font = "window:y13", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Deals", + shaderMarker = null, + shaderColor = null, + ), + "label_8" to SlotEntry( + x = 239, + y = 13, + width = 26, + align = Align.CENTER, + font = "window:y13", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Deals", + shaderMarker = null, + shaderColor = null, + ), + "label_9" to SlotEntry( + x = 294, + y = 13, + width = 94, + align = Align.LEFT, + font = "window:y13", + color = "#9cc4e4", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Search products", + shaderMarker = null, + shaderColor = null, + ), + "quantity" to SlotEntry( + x = 376, + y = 148, + width = 20, + align = Align.CENTER, + font = "window:y148", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + ), + "store_balance" to SlotEntry( + x = 23, + y = 252, + width = 44, + align = Align.LEFT, + font = "window:y252", + color = "#ffd27a", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + ), + "store_cart_count" to SlotEntry( + x = 441, + y = 13, + width = 20, + align = Align.CENTER, + font = "window:y13", + color = "#2a1200", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + ), + "store_results" to SlotEntry( + x = 20, + y = 43, + width = 196, + align = Align.LEFT, + font = "window:y43", + color = "#ffd27a", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + ), + "store_search" to SlotEntry( + x = 294, + y = 13, + width = 94, + align = Align.LEFT, + font = "window:y13", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + ), + "store_sort_label" to SlotEntry( + x = 223, + y = 43, + width = 66, + align = Align.CENTER, + font = "window:y43", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + ), + "store_toast" to SlotEntry( + x = 77, + y = 252, + width = 221, + align = Align.LEFT, + font = "window:y252", + color = "#3ddc84", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = null, + shaderMarker = null, + shaderColor = null, + tint = "tone", + tintMarkers = mapOf( + "danger" to "#a23c04", + "ok" to "#a23c02", + "warn" to "#a23c03", + ), + ), + ), + controls = mapOf( + "add_to_cart" to ControlEntry( + index = 42, + x = 310, + y = 166, + width = 77, + height = 18, + action = "add_to_cart", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uEDAF\uDB80\uDC02\uDB80\uDC03\uDB80\uDC08", + source = "region `add_to_cart`", + ), + "buy_now" to ControlEntry( + index = 43, + x = 393, + y = 166, + width = 77, + height = 18, + action = "buy_now", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC13\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uEC05\uDB80\uDC02\uDB80\uDC03\uDB80\uDC04\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + source = "region `buy_now`", + ), + "cart_down" to ControlEntry( + index = 51, + x = 458, + y = 150, + width = 8, + height = 10, + action = "cart_down", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC13\uDB80\uDC12\uDB80\uDC11\uDB80\uDC0E\uDB80\uDC0C\uEACE\uDB80\uDC02\uDB80\uDC03\uDB80\uDC04\uDB80\uDC06\uDB80\uDC09\uDB80\uDC0A", + source = "region `cart_down`", + ), + "cart_up" to ControlEntry( + index = 50, + x = 458, + y = 76, + width = 8, + height = 10, + action = "cart_up", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC13\uDB80\uDC12\uDB80\uDC11\uDB80\uDC0E\uDB80\uDC0C\uF5E0\uDB80\uDC02\uDB80\uDC03\uDB80\uDC04\uDB80\uDC06\uDB80\uDC09\uDB80\uDC0A", + source = "region `cart_up`", + ), + "catalog_down" to ControlEntry( + index = 33, + x = 283, + y = 214, + width = 8, + height = 10, + action = "catalog_down", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC13\uDB80\uDC0F\uDB80\uDC0E\uDB80\uDC0C\uDB80\uDC0B\uF393\uDB80\uDC02\uDB80\uDC05\uDB80\uDC08", + source = "region `catalog_down`", + ), + "catalog_up" to ControlEntry( + index = 32, + x = 283, + y = 59, + width = 8, + height = 10, + action = "catalog_up", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC13\uDB80\uDC0F\uDB80\uDC0E\uDB80\uDC0C\uDB80\uDC0B\uE2C9\uDB80\uDC02\uDB80\uDC05\uDB80\uDC08", + source = "region `catalog_up`", + ), + "checkout" to ControlEntry( + index = 52, + x = 310, + y = 182, + width = 77, + height = 18, + action = "checkout", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uE4E4\uDB80\uDC02\uDB80\uDC03\uDB80\uDC08", + source = "region `checkout`", + ), + "clear_cart" to ControlEntry( + index = 54, + x = 393, + y = 182, + width = 77, + height = 18, + action = "clear_cart", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC13\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uEE42\uDB80\uDC02\uDB80\uDC03\uDB80\uDC04\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + source = "region `clear_cart`", + ), + "less" to ControlEntry( + index = 38, + x = 353, + y = 144, + width = 16, + height = 16, + action = "less", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC13\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE040\uDB80\uDC02\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC09", + source = "region `less`", + ), + "more" to ControlEntry( + index = 40, + x = 403, + y = 144, + width = 16, + height = 16, + action = "more", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC13\uDB80\uDC12\uDB80\uDC0F\uDB80\uDC0C\uDB80\uDC0B\uEF86\uDB80\uDC02\uDB80\uDC03\uDB80\uDC05\uDB80\uDC08", + source = "region `more`", + ), + "open_cart" to ControlEntry( + index = 21, + x = 419, + y = 9, + width = 50, + height = 16, + action = "open_cart", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC13\uDB80\uDC12\uDB80\uDC10\uDB80\uDC0C\uDB80\uDC0B\uE644\uDB80\uDC02\uDB80\uDC03\uDB80\uDC04\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09", + tooltip = ControlTooltipEntry( + panel = "\uDB80\uDC13\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0C\uDB80\uDC0B\uEA5D\uDB80\uDC02\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC0A", + marker = "#a3f000", + lines = listOf( + SlotEntry( + x = 399, + y = 31, + width = 77, + align = Align.LEFT, + font = "window:y31", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Open your cart", + shaderMarker = "#a3f400", + shaderColor = null, + source = "region `open_cart`", + ), + ), + ), + source = "region `open_cart`", + ), + "open_cart~2" to ControlEntry( + index = 36, + x = 394, + y = 40, + width = 78, + height = 16, + action = "open_cart~2", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC13\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0C\uEB6A\uDB80\uDC02\uDB80\uDC03\uDB80\uDC04\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + source = "region `open_cart~2`", + ), + "open_cart~3" to ControlEntry( + index = 37, + x = 394, + y = 40, + width = 78, + height = 16, + action = "open_cart~3", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC13\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0C\uE3DC\uDB80\uDC02\uDB80\uDC03\uDB80\uDC04\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + source = "region `open_cart~3`", + ), + "open_details" to ControlEntry( + index = 34, + x = 310, + y = 40, + width = 78, + height = 16, + action = "open_details", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uE9A8\uDB80\uDC02\uDB80\uDC03\uDB80\uDC08\uDB80\uDC0A", + source = "region `open_details`", + ), + "open_details~2" to ControlEntry( + index = 35, + x = 310, + y = 40, + width = 78, + height = 16, + action = "open_details~2", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uE64E\uDB80\uDC02\uDB80\uDC03\uDB80\uDC08\uDB80\uDC0A", + source = "region `open_details~2`", + ), + "pick_card[0]" to ControlEntry( + index = 23, + x = 13, + y = 59, + width = 87, + height = 52, + action = "pick_card[0]", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC0E\uDB80\uDC0D\uDB80\uDC0B\uF80F\uDB80\uDC04\uDB80\uDC05\uDB80\uDC08\uDB80\uDC0A", + tooltip = ControlTooltipEntry( + panel = "\uDB80\uDC0E\uDB80\uDC0D\uDB80\uDC0B\uF710\uDB80\uDC04\uDB80\uDC05\uDB80\uDC08\uDB80\uDC0A", + marker = "#a3f000", + lines = listOf( + SlotEntry( + x = 17, + y = 117, + width = 63, + align = Align.LEFT, + font = "window:y117", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "View product", + shaderMarker = "#a3f400", + shaderColor = null, + source = "region `pick_card[0]`", + ), + SlotEntry( + x = 17, + y = 129, + width = 79, + align = Align.LEFT, + font = "window:y129", + color = "#aaaaaa", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Click for details", + shaderMarker = "#a3f406", + shaderColor = null, + source = "region `pick_card[0]`", + ), + ), + ), + source = "region `pick_card[0]`", + ), + "pick_card[1]" to ControlEntry( + index = 24, + x = 102, + y = 59, + width = 86, + height = 52, + action = "pick_card[1]", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0D\uDB80\uDC0C\uEEFE\uDB80\uDC03\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC0A", + tooltip = ControlTooltipEntry( + panel = "\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0D\uDB80\uDC0C\uF6A3\uDB80\uDC03\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09", + marker = "#a3f000", + lines = listOf( + SlotEntry( + x = 106, + y = 117, + width = 63, + align = Align.LEFT, + font = "window:y117", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "View product", + shaderMarker = "#a3f400", + shaderColor = null, + source = "region `pick_card[1]`", + ), + SlotEntry( + x = 106, + y = 129, + width = 79, + align = Align.LEFT, + font = "window:y129", + color = "#aaaaaa", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Click for details", + shaderMarker = "#a3f406", + shaderColor = null, + source = "region `pick_card[1]`", + ), + ), + ), + source = "region `pick_card[1]`", + ), + "pick_card[2]" to ControlEntry( + index = 25, + x = 190, + y = 59, + width = 87, + height = 52, + action = "pick_card[2]", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC12\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0E\uDB80\uDC0D\uDB80\uDC0C\uE7DA\uDB80\uDC02\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09", + tooltip = ControlTooltipEntry( + panel = "\uDB80\uDC12\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0E\uDB80\uDC0D\uDB80\uDC0C\uEDFD\uDB80\uDC02\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09", + marker = "#a3f000", + lines = listOf( + SlotEntry( + x = 194, + y = 117, + width = 63, + align = Align.LEFT, + font = "window:y117", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "View product", + shaderMarker = "#a3f400", + shaderColor = null, + source = "region `pick_card[2]`", + ), + SlotEntry( + x = 194, + y = 129, + width = 79, + align = Align.LEFT, + font = "window:y129", + color = "#aaaaaa", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Click for details", + shaderMarker = "#a3f406", + shaderColor = null, + source = "region `pick_card[2]`", + ), + ), + ), + source = "region `pick_card[2]`", + ), + "pick_card[3]" to ControlEntry( + index = 26, + x = 13, + y = 113, + width = 87, + height = 52, + action = "pick_card[3]", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC0E\uDB80\uDC0D\uDB80\uDC0B\uF239\uDB80\uDC04\uDB80\uDC05\uDB80\uDC08\uDB80\uDC0A", + tooltip = ControlTooltipEntry( + panel = "\uDB80\uDC0E\uDB80\uDC0D\uDB80\uDC0B\uF781\uDB80\uDC04\uDB80\uDC05\uDB80\uDC08\uDB80\uDC0A", + marker = "#a3f000", + lines = listOf( + SlotEntry( + x = 17, + y = 171, + width = 63, + align = Align.LEFT, + font = "window:y171", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "View product", + shaderMarker = "#a3f400", + shaderColor = null, + source = "region `pick_card[3]`", + ), + SlotEntry( + x = 17, + y = 183, + width = 79, + align = Align.LEFT, + font = "window:y183", + color = "#aaaaaa", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Click for details", + shaderMarker = "#a3f406", + shaderColor = null, + source = "region `pick_card[3]`", + ), + ), + ), + source = "region `pick_card[3]`", + ), + "pick_card[4]" to ControlEntry( + index = 27, + x = 102, + y = 113, + width = 86, + height = 52, + action = "pick_card[4]", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0D\uDB80\uDC0C\uE5EE\uDB80\uDC03\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC0A", + tooltip = ControlTooltipEntry( + panel = "\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0D\uDB80\uDC0C\uF1D1\uDB80\uDC03\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09", + marker = "#a3f000", + lines = listOf( + SlotEntry( + x = 106, + y = 171, + width = 63, + align = Align.LEFT, + font = "window:y171", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "View product", + shaderMarker = "#a3f400", + shaderColor = null, + source = "region `pick_card[4]`", + ), + SlotEntry( + x = 106, + y = 183, + width = 79, + align = Align.LEFT, + font = "window:y183", + color = "#aaaaaa", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Click for details", + shaderMarker = "#a3f406", + shaderColor = null, + source = "region `pick_card[4]`", + ), + ), + ), + source = "region `pick_card[4]`", + ), + "pick_card[5]" to ControlEntry( + index = 28, + x = 190, + y = 113, + width = 87, + height = 52, + action = "pick_card[5]", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC12\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0E\uDB80\uDC0D\uDB80\uDC0C\uEFC7\uDB80\uDC02\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09", + tooltip = ControlTooltipEntry( + panel = "\uDB80\uDC12\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0E\uDB80\uDC0D\uDB80\uDC0C\uF17C\uDB80\uDC02\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09", + marker = "#a3f000", + lines = listOf( + SlotEntry( + x = 194, + y = 171, + width = 63, + align = Align.LEFT, + font = "window:y171", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "View product", + shaderMarker = "#a3f400", + shaderColor = null, + source = "region `pick_card[5]`", + ), + SlotEntry( + x = 194, + y = 183, + width = 79, + align = Align.LEFT, + font = "window:y183", + color = "#aaaaaa", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Click for details", + shaderMarker = "#a3f406", + shaderColor = null, + source = "region `pick_card[5]`", + ), + ), + ), + source = "region `pick_card[5]`", + ), + "pick_card[6]" to ControlEntry( + index = 29, + x = 13, + y = 167, + width = 87, + height = 52, + action = "pick_card[6]", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC0E\uDB80\uDC0D\uDB80\uDC0B\uE18D\uDB80\uDC04\uDB80\uDC05\uDB80\uDC08\uDB80\uDC0A", + tooltip = ControlTooltipEntry( + panel = "\uDB80\uDC0E\uDB80\uDC0D\uDB80\uDC0B\uE393\uDB80\uDC04\uDB80\uDC05\uDB80\uDC08\uDB80\uDC0A", + marker = "#a3f000", + lines = listOf( + SlotEntry( + x = 17, + y = 225, + width = 63, + align = Align.LEFT, + font = "window:y225", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "View product", + shaderMarker = "#a3f400", + shaderColor = null, + source = "region `pick_card[6]`", + ), + SlotEntry( + x = 17, + y = 237, + width = 79, + align = Align.LEFT, + font = "window:y237", + color = "#aaaaaa", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Click for details", + shaderMarker = "#a3f406", + shaderColor = null, + source = "region `pick_card[6]`", + ), + ), + ), + source = "region `pick_card[6]`", + ), + "pick_card[7]" to ControlEntry( + index = 30, + x = 102, + y = 167, + width = 86, + height = 52, + action = "pick_card[7]", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0D\uDB80\uDC0C\uE91F\uDB80\uDC03\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC0A", + tooltip = ControlTooltipEntry( + panel = "\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0D\uDB80\uDC0C\uF6EC\uDB80\uDC03\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09", + marker = "#a3f000", + lines = listOf( + SlotEntry( + x = 106, + y = 225, + width = 63, + align = Align.LEFT, + font = "window:y225", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "View product", + shaderMarker = "#a3f400", + shaderColor = null, + source = "region `pick_card[7]`", + ), + SlotEntry( + x = 106, + y = 237, + width = 79, + align = Align.LEFT, + font = "window:y237", + color = "#aaaaaa", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Click for details", + shaderMarker = "#a3f406", + shaderColor = null, + source = "region `pick_card[7]`", + ), + ), + ), + source = "region `pick_card[7]`", + ), + "pick_card[8]" to ControlEntry( + index = 31, + x = 190, + y = 167, + width = 87, + height = 52, + action = "pick_card[8]", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC12\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0E\uDB80\uDC0D\uDB80\uDC0C\uE299\uDB80\uDC02\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09", + tooltip = ControlTooltipEntry( + panel = "\uDB80\uDC12\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0E\uDB80\uDC0D\uDB80\uDC0C\uF4E4\uDB80\uDC02\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09", + marker = "#a3f000", + lines = listOf( + SlotEntry( + x = 194, + y = 225, + width = 63, + align = Align.LEFT, + font = "window:y225", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "View product", + shaderMarker = "#a3f400", + shaderColor = null, + source = "region `pick_card[8]`", + ), + SlotEntry( + x = 194, + y = 237, + width = 79, + align = Align.LEFT, + font = "window:y237", + color = "#aaaaaa", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Click for details", + shaderMarker = "#a3f406", + shaderColor = null, + source = "region `pick_card[8]`", + ), + ), + ), + source = "region `pick_card[8]`", + ), + "region~0" to ControlEntry( + index = 20, + x = 397, + y = 9, + width = 16, + height = 16, + action = null, + defaultAction = null, + hover = false, + outline = null, + source = "region `region~0`", + ), + "region~1" to ControlEntry( + index = 39, + x = 353, + y = 144, + width = 16, + height = 16, + action = null, + defaultAction = null, + hover = false, + outline = null, + source = "region `region~1`", + ), + "region~2" to ControlEntry( + index = 41, + x = 403, + y = 144, + width = 16, + height = 16, + action = null, + defaultAction = null, + hover = false, + outline = null, + source = "region `region~2`", + ), + "region~3" to ControlEntry( + index = 44, + x = 393, + y = 166, + width = 77, + height = 18, + action = null, + defaultAction = null, + hover = false, + outline = null, + source = "region `region~3`", + ), + "region~4" to ControlEntry( + index = 53, + x = 310, + y = 182, + width = 77, + height = 18, + action = null, + defaultAction = null, + hover = false, + outline = null, + source = "region `region~4`", + ), + "remove_line[0]" to ControlEntry( + index = 45, + x = 310, + y = 76, + width = 142, + height = 16, + action = "remove_line[0]", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uE403\uDB80\uDC02\uDB80\uDC03\uDB80\uDC04\uDB80\uDC08\uDB80\uDC0A", + source = "region `remove_line[0]`", + ), + "remove_line[1]" to ControlEntry( + index = 46, + x = 310, + y = 94, + width = 142, + height = 16, + action = "remove_line[1]", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uE068\uDB80\uDC02\uDB80\uDC03\uDB80\uDC04\uDB80\uDC08\uDB80\uDC0A", + source = "region `remove_line[1]`", + ), + "remove_line[2]" to ControlEntry( + index = 47, + x = 310, + y = 112, + width = 142, + height = 16, + action = "remove_line[2]", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uF7AF\uDB80\uDC02\uDB80\uDC03\uDB80\uDC04\uDB80\uDC08\uDB80\uDC0A", + source = "region `remove_line[2]`", + ), + "remove_line[3]" to ControlEntry( + index = 48, + x = 310, + y = 130, + width = 142, + height = 16, + action = "remove_line[3]", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uED9B\uDB80\uDC02\uDB80\uDC03\uDB80\uDC04\uDB80\uDC08\uDB80\uDC0A", + source = "region `remove_line[3]`", + ), + "remove_line[4]" to ControlEntry( + index = 49, + x = 310, + y = 148, + width = 142, + height = 16, + action = "remove_line[4]", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uE32F\uDB80\uDC02\uDB80\uDC03\uDB80\uDC04\uDB80\uDC08\uDB80\uDC0A", + source = "region `remove_line[4]`", + ), + "store_category=all" to ControlEntry( + index = 10, + x = 115, + y = 9, + width = 34, + height = 16, + action = "store_category=all", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0C\uDB80\uDC0B\uE2F0\uDB80\uDC03\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09", + tooltip = ControlTooltipEntry( + panel = "\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0E\uDB80\uDC0C\uEB4D\uDB80\uDC03\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09", + marker = "#a3f000", + lines = listOf( + SlotEntry( + x = 126, + y = 31, + width = 11, + align = Align.LEFT, + font = "window:y31", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "All", + shaderMarker = "#a3f400", + shaderColor = null, + source = "region `store_category=all`", + ), + ), + ), + source = "region `store_category=all`", + ), + "store_category=all~2" to ControlEntry( + index = 11, + x = 115, + y = 9, + width = 34, + height = 16, + action = "store_category=all~2", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0C\uDB80\uDC0B\uE26A\uDB80\uDC03\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09", + tooltip = ControlTooltipEntry( + panel = "\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0E\uDB80\uDC0C\uEB4D\uDB80\uDC03\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09", + marker = "#a3f000", + lines = listOf( + SlotEntry( + x = 126, + y = 31, + width = 11, + align = Align.LEFT, + font = "window:y31", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "All", + shaderMarker = "#a3f400", + shaderColor = null, + source = "region `store_category=all~2`", + ), + ), + ), + source = "region `store_category=all~2`", + ), + "store_category=deals" to ControlEntry( + index = 16, + x = 235, + y = 9, + width = 34, + height = 16, + action = "store_category=deals", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0E\uDB80\uDC0C\uDB80\uDC0B\uE07A\uDB80\uDC02\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09", + tooltip = ControlTooltipEntry( + panel = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0E\uDB80\uDC0C\uDB80\uDC0B\uE215\uDB80\uDC02\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09", + marker = "#a3f000", + lines = listOf( + SlotEntry( + x = 239, + y = 31, + width = 26, + align = Align.LEFT, + font = "window:y31", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Deals", + shaderMarker = "#a3f400", + shaderColor = null, + source = "region `store_category=deals`", + ), + ), + ), + source = "region `store_category=deals`", + ), + "store_category=deals~2" to ControlEntry( + index = 17, + x = 235, + y = 9, + width = 34, + height = 16, + action = "store_category=deals~2", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0E\uDB80\uDC0C\uDB80\uDC0B\uF4F2\uDB80\uDC02\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09", + tooltip = ControlTooltipEntry( + panel = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0E\uDB80\uDC0C\uDB80\uDC0B\uE215\uDB80\uDC02\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09", + marker = "#a3f000", + lines = listOf( + SlotEntry( + x = 239, + y = 31, + width = 26, + align = Align.LEFT, + font = "window:y31", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Deals", + shaderMarker = "#a3f400", + shaderColor = null, + source = "region `store_category=deals~2`", + ), + ), + ), + source = "region `store_category=deals~2`", + ), + "store_category=gear" to ControlEntry( + index = 12, + x = 155, + y = 9, + width = 34, + height = 16, + action = "store_category=gear", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC12\uDB80\uDC0F\uDB80\uDC0E\uDB80\uDC0C\uDB80\uDC0B\uF61F\uDB80\uDC03\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09", + tooltip = ControlTooltipEntry( + panel = "\uDB80\uDC12\uDB80\uDC0F\uDB80\uDC0E\uDB80\uDC0D\uF4EF\uDB80\uDC03\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08", + marker = "#a3f000", + lines = listOf( + SlotEntry( + x = 160, + y = 31, + width = 23, + align = Align.LEFT, + font = "window:y31", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Gear", + shaderMarker = "#a3f400", + shaderColor = null, + source = "region `store_category=gear`", + ), + ), + ), + source = "region `store_category=gear`", + ), + "store_category=gear~2" to ControlEntry( + index = 13, + x = 155, + y = 9, + width = 34, + height = 16, + action = "store_category=gear~2", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC12\uDB80\uDC0F\uDB80\uDC0E\uDB80\uDC0C\uDB80\uDC0B\uF84B\uDB80\uDC03\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09", + tooltip = ControlTooltipEntry( + panel = "\uDB80\uDC12\uDB80\uDC0F\uDB80\uDC0E\uDB80\uDC0D\uF4EF\uDB80\uDC03\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08", + marker = "#a3f000", + lines = listOf( + SlotEntry( + x = 160, + y = 31, + width = 23, + align = Align.LEFT, + font = "window:y31", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Gear", + shaderMarker = "#a3f400", + shaderColor = null, + source = "region `store_category=gear~2`", + ), + ), + ), + source = "region `store_category=gear~2`", + ), + "store_category=magic" to ControlEntry( + index = 14, + x = 195, + y = 9, + width = 34, + height = 16, + action = "store_category=magic", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC0C\uDB80\uDC0B\uF224\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC08\uDB80\uDC09", + tooltip = ControlTooltipEntry( + panel = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC0C\uDB80\uDC0B\uE11F\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC08\uDB80\uDC0A", + marker = "#a3f000", + lines = listOf( + SlotEntry( + x = 199, + y = 31, + width = 25, + align = Align.LEFT, + font = "window:y31", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Magic", + shaderMarker = "#a3f400", + shaderColor = null, + source = "region `store_category=magic`", + ), + ), + ), + source = "region `store_category=magic`", + ), + "store_category=magic~2" to ControlEntry( + index = 15, + x = 195, + y = 9, + width = 34, + height = 16, + action = "store_category=magic~2", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC0C\uDB80\uDC0B\uE1FD\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC08\uDB80\uDC09", + tooltip = ControlTooltipEntry( + panel = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC0C\uDB80\uDC0B\uE11F\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC08\uDB80\uDC0A", + marker = "#a3f000", + lines = listOf( + SlotEntry( + x = 199, + y = 31, + width = 25, + align = Align.LEFT, + font = "window:y31", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Magic", + shaderMarker = "#a3f400", + shaderColor = null, + source = "region `store_category=magic~2`", + ), + ), + ), + source = "region `store_category=magic~2`", + ), + "store_clear_search" to ControlEntry( + index = 19, + x = 397, + y = 9, + width = 16, + height = 16, + action = "store_clear_search", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC13\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0D\uDB80\uDC0B\uF70E\uDB80\uDC02\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09", + source = "region `store_clear_search`", + ), + "store_find" to ControlEntry( + index = 18, + x = 278, + y = 9, + width = 114, + height = 16, + action = "store_find", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC13\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uF211\uDB80\uDC02\uDB80\uDC03\uDB80\uDC07\uDB80\uDC0A", + tooltip = ControlTooltipEntry( + panel = "\uDB80\uDC13\uF8C3\uDB80\uDC02\uDB80\uDC03\uDB80\uDC05", + marker = "#a3f000", + lines = listOf( + SlotEntry( + x = 260, + y = 31, + width = 35, + align = Align.LEFT, + font = "window:y31", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Search", + shaderMarker = "#a3f400", + shaderColor = null, + source = "region `store_find`", + ), + SlotEntry( + x = 260, + y = 43, + width = 151, + align = Align.LEFT, + font = "window:y43", + color = "#aaaaaa", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Type to filter, then press Esc", + shaderMarker = "#a3f406", + shaderColor = null, + source = "region `store_find`", + ), + ), + ), + source = "region `store_find`", + ), + "store_sort" to ControlEntry( + index = 22, + x = 221, + y = 40, + width = 70, + height = 14, + action = "store_sort", + defaultAction = null, + hover = true, + outline = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC0F\uDB80\uDC0E\uDB80\uDC0D\uDB80\uDC0B\uF8C1\uDB80\uDC02\uDB80\uDC05\uDB80\uDC08", + source = "region `store_sort`", + ), + "window:close" to ControlEntry( + index = 55, + x = 431, + y = 250, + width = 40, + height = 12, + action = "window:close", + defaultAction = "window:close", + hover = true, + outline = "\uDB80\uDC13\uDB80\uDC12\uDB80\uDC10\uDB80\uDC0E\uDB80\uDC0D\uDB80\uDC0C\uDB80\uDC0B\uF332\uDB80\uDC02\uDB80\uDC03\uDB80\uDC04\uDB80\uDC06\uDB80\uDC07", + tooltip = ControlTooltipEntry( + panel = "\uDB80\uDC13\uDB80\uDC11\uDB80\uDC0E\uDB80\uDC0B\uE0CD\uDB80\uDC02\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC0A", + marker = "#a3f000", + lines = listOf( + SlotEntry( + x = 333, + y = 236, + width = 143, + align = Align.LEFT, + font = "window:y236", + color = "#ffffff", + shadow = false, + bold = false, + italic = false, + underlined = false, + strikethrough = false, + obfuscated = false, + text = "Leave the market (or sneak)", + shaderMarker = "#a3f400", + shaderColor = null, + source = "region `window:close`", + ), + ), + ), + source = "region `window:close`", + ), + ), + switches = mapOf( + "can_buy_now" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC13\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE0DA\uDB80\uDC02\uDB80\uDC03\uDB80\uDC04\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = listOf("buy_now_label"), + spriteSlots = emptyList(), + regions = listOf("buy_now"), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "\uDB80\uDC13\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uEF50\uDB80\uDC02\uDB80\uDC03\uDB80\uDC04\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = listOf("buy_now_label~2"), + spriteSlots = emptyList(), + regions = listOf("region~3"), + switches = emptyList(), + ), + ), + source = null, + ), + "can_checkout" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uF254\uDB80\uDC02\uDB80\uDC03\uDB80\uDC08", + slots = listOf("label_24"), + spriteSlots = emptyList(), + regions = listOf("checkout"), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uEB5A\uDB80\uDC02\uDB80\uDC03\uDB80\uDC08", + slots = listOf("label_25"), + spriteSlots = emptyList(), + regions = listOf("region~4"), + switches = emptyList(), + ), + ), + source = null, + ), + "can_less" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC13\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE642\uDB80\uDC02\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC09", + slots = listOf("label_16"), + spriteSlots = emptyList(), + regions = listOf("less"), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "\uDB80\uDC13\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE49A\uDB80\uDC02\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC09", + slots = listOf("label_17"), + spriteSlots = emptyList(), + regions = listOf("region~1"), + switches = emptyList(), + ), + ), + source = null, + ), + "can_more" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC13\uDB80\uDC12\uDB80\uDC0F\uDB80\uDC0C\uDB80\uDC0B\uF646\uDB80\uDC02\uDB80\uDC03\uDB80\uDC05\uDB80\uDC08", + slots = listOf("label_18"), + spriteSlots = emptyList(), + regions = listOf("more"), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "\uDB80\uDC13\uDB80\uDC12\uDB80\uDC0F\uDB80\uDC0C\uDB80\uDC0B\uE6E8\uDB80\uDC02\uDB80\uDC03\uDB80\uDC05\uDB80\uDC08", + slots = listOf("label_19"), + spriteSlots = emptyList(), + regions = listOf("region~2"), + switches = emptyList(), + ), + ), + source = null, + ), + "card_featured[0]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC11\uDB80\uDC0F\uDB80\uDC0E\uDB80\uDC0D\uDB80\uDC0B\uED9A\uDB80\uDC04\uDB80\uDC05\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "card_featured[1]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC12\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uEF5C\uDB80\uDC03\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "card_featured[2]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC13\uDB80\uDC0E\uDB80\uDC0D\uDB80\uDC0C\uE96C\uDB80\uDC02\uDB80\uDC06\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "card_featured[3]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC11\uDB80\uDC0F\uDB80\uDC0E\uDB80\uDC0D\uDB80\uDC0B\uEBDE\uDB80\uDC04\uDB80\uDC05\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "card_featured[4]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC12\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uE146\uDB80\uDC03\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "card_featured[5]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC13\uDB80\uDC0E\uDB80\uDC0D\uDB80\uDC0C\uEB6E\uDB80\uDC02\uDB80\uDC06\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "card_featured[6]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC11\uDB80\uDC0F\uDB80\uDC0E\uDB80\uDC0D\uDB80\uDC0B\uF8EB\uDB80\uDC04\uDB80\uDC05\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "card_featured[7]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC12\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uE480\uDB80\uDC03\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "card_featured[8]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC13\uDB80\uDC0E\uDB80\uDC0D\uDB80\uDC0C\uE10B\uDB80\uDC02\uDB80\uDC06\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "card_filled[0]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC10\uDB80\uDC0D\uE86F\uDB80\uDC05\uDB80\uDC07\uDB80\uDC08\uDB80\uDC0A", + slots = listOf("card_price[0]"), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "card_filled[1]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0E\uDB80\uDC0D\uDB80\uDC0B\uE445\uDB80\uDC03\uDB80\uDC08\uDB80\uDC09", + slots = listOf("card_price[1]"), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "card_filled[2]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0B\uEB49\uDB80\uDC03\uDB80\uDC04\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09", + slots = listOf("card_price[2]"), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "card_filled[3]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC10\uDB80\uDC0D\uEB24\uDB80\uDC05\uDB80\uDC07\uDB80\uDC08\uDB80\uDC0A", + slots = listOf("card_price[3]"), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "card_filled[4]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0E\uDB80\uDC0D\uDB80\uDC0B\uF826\uDB80\uDC03\uDB80\uDC08\uDB80\uDC09", + slots = listOf("card_price[4]"), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "card_filled[5]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0B\uE253\uDB80\uDC03\uDB80\uDC04\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09", + slots = listOf("card_price[5]"), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "card_filled[6]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC10\uDB80\uDC0D\uEBBF\uDB80\uDC05\uDB80\uDC07\uDB80\uDC08\uDB80\uDC0A", + slots = listOf("card_price[6]"), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "card_filled[7]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0E\uDB80\uDC0D\uDB80\uDC0B\uEC5D\uDB80\uDC03\uDB80\uDC08\uDB80\uDC09", + slots = listOf("card_price[7]"), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "card_filled[8]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0B\uE430\uDB80\uDC03\uDB80\uDC04\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09", + slots = listOf("card_price[8]"), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "card_icon[0]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "none", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "diamond", + static = "\uDB80\uDC10\uDB80\uDC0F\uE381\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "emerald", + static = "\uDB80\uDC10\uDB80\uDC0F\uE78E\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "gold", + static = "\uDB80\uDC10\uDB80\uDC0F\uF4FE\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "iron", + static = "\uDB80\uDC10\uDB80\uDC0F\uEC9D\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "copper", + static = "\uDB80\uDC10\uDB80\uDC0F\uEC20\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "redstone", + static = "\uDB80\uDC10\uDB80\uDC0F\uE0E0\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "lapis", + static = "\uDB80\uDC10\uDB80\uDC0F\uEB4A\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "coal", + static = "\uDB80\uDC10\uDB80\uDC0F\uF76C\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "quartz", + static = "\uDB80\uDC10\uDB80\uDC0F\uE3A5\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "amethyst", + static = "\uDB80\uDC10\uDB80\uDC0F\uE241\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "ender_pearl", + static = "\uDB80\uDC10\uDB80\uDC0F\uEA6F\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "blaze_rod", + static = "\uDB80\uDC10\uDB80\uDC0F\uF182\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "ghast_tear", + static = "\uDB80\uDC10\uDB80\uDC0F\uE246\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "prismarine", + static = "\uDB80\uDC10\uDB80\uDC0F\uE399\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "heart", + static = "\uDB80\uDC10\uDB80\uDC0F\uEDE4\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "nether_star", + static = "\uDB80\uDC10\uDB80\uDC0F\uE07E\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "totem", + static = "\uDB80\uDC10\uDB80\uDC0F\uEF1F\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "trident", + static = "\uDB80\uDC10\uDB80\uDC0F\uF2CB\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "elytra", + static = "\uDB80\uDC10\uDB80\uDC0F\uEC89\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "rocket", + static = "\uDB80\uDC10\uDB80\uDC0F\uF05D\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "golden_apple", + static = "\uDB80\uDC10\uDB80\uDC0F\uF87E\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "experience", + static = "\uDB80\uDC10\uDB80\uDC0F\uF477\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "book", + static = "\uDB80\uDC10\uDB80\uDC0F\uF5DC\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "spyglass", + static = "\uDB80\uDC10\uDB80\uDC0F\uF17B\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "compass", + static = "\uDB80\uDC10\uDB80\uDC0F\uE144\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "clock", + static = "\uDB80\uDC10\uDB80\uDC0F\uE67D\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "name_tag", + static = "\uDB80\uDC10\uDB80\uDC0F\uE434\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "saddle", + static = "\uDB80\uDC10\uDB80\uDC0F\uEF46\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "shell", + static = "\uDB80\uDC10\uDB80\uDC0F\uE739\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "echo", + static = "\uDB80\uDC10\uDB80\uDC0F\uE986\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "card_icon[1]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "none", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "diamond", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE4C4\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "emerald", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE7D4\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "gold", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE586\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "iron", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uEF93\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "copper", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE812\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "redstone", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE96B\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "lapis", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uEE46\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "coal", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uF11C\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "quartz", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uF520\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "amethyst", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uF11B\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "ender_pearl", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE4A1\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "blaze_rod", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE04F\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "ghast_tear", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE9E5\uDB80\uDC03\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "prismarine", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE34E\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "heart", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uED7A\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "nether_star", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uF284\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "totem", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uEBC1\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "trident", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uF126\uDB80\uDC03\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "elytra", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE71E\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "rocket", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE2F9\uDB80\uDC03\uDB80\uDC06\uDB80\uDC08\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "golden_apple", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uF8C5\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "experience", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE6AA\uDB80\uDC03\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "book", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE50E\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "spyglass", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uF260\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "compass", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uF5C7\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "clock", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE1E5\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "name_tag", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uF2A9\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "saddle", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE19A\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "shell", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uF87F\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "echo", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE456\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "card_icon[2]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "none", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "diamond", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uF521\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "emerald", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uF34B\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "gold", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uF55F\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "iron", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE67E\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "copper", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE137\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "redstone", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uF77D\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "lapis", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uF298\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "coal", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE3D1\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "quartz", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE292\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "amethyst", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uEC5B\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "ender_pearl", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uF3E8\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "blaze_rod", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uEED6\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "ghast_tear", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE080\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "prismarine", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uF8AC\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "heart", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uF4B6\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "nether_star", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uF179\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "totem", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uF5E9\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "trident", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uEDD5\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "elytra", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE31A\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "rocket", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uF6DE\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC07\uDB80\uDC08\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "golden_apple", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE9B9\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "experience", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE780\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "book", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE929\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "spyglass", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uEC91\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "compass", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE895\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "clock", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE169\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "name_tag", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE240\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "saddle", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE9F4\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "shell", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uF104\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "echo", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uF58B\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "card_icon[3]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "none", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "diamond", + static = "\uDB80\uDC10\uDB80\uDC0F\uE212\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "emerald", + static = "\uDB80\uDC10\uDB80\uDC0F\uF7DF\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "gold", + static = "\uDB80\uDC10\uDB80\uDC0F\uF0F9\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "iron", + static = "\uDB80\uDC10\uDB80\uDC0F\uEDB2\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "copper", + static = "\uDB80\uDC10\uDB80\uDC0F\uEFC6\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "redstone", + static = "\uDB80\uDC10\uDB80\uDC0F\uF42A\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "lapis", + static = "\uDB80\uDC10\uDB80\uDC0F\uE25D\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "coal", + static = "\uDB80\uDC10\uDB80\uDC0F\uE5AB\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "quartz", + static = "\uDB80\uDC10\uDB80\uDC0F\uF589\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "amethyst", + static = "\uDB80\uDC10\uDB80\uDC0F\uF4D1\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "ender_pearl", + static = "\uDB80\uDC10\uDB80\uDC0F\uEE96\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "blaze_rod", + static = "\uDB80\uDC10\uDB80\uDC0F\uEBB3\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "ghast_tear", + static = "\uDB80\uDC10\uDB80\uDC0F\uF0B9\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "prismarine", + static = "\uDB80\uDC10\uDB80\uDC0F\uE901\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "heart", + static = "\uDB80\uDC10\uDB80\uDC0F\uF7A1\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "nether_star", + static = "\uDB80\uDC10\uDB80\uDC0F\uF127\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "totem", + static = "\uDB80\uDC10\uDB80\uDC0F\uF58C\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "trident", + static = "\uDB80\uDC10\uDB80\uDC0F\uE899\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "elytra", + static = "\uDB80\uDC10\uDB80\uDC0F\uF7DE\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "rocket", + static = "\uDB80\uDC10\uDB80\uDC0F\uE074\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "golden_apple", + static = "\uDB80\uDC10\uDB80\uDC0F\uED6F\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "experience", + static = "\uDB80\uDC10\uDB80\uDC0F\uF249\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "book", + static = "\uDB80\uDC10\uDB80\uDC0F\uE07F\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "spyglass", + static = "\uDB80\uDC10\uDB80\uDC0F\uEE79\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "compass", + static = "\uDB80\uDC10\uDB80\uDC0F\uED2F\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "clock", + static = "\uDB80\uDC10\uDB80\uDC0F\uE3B6\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "name_tag", + static = "\uDB80\uDC10\uDB80\uDC0F\uE69B\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "saddle", + static = "\uDB80\uDC10\uDB80\uDC0F\uE4E1\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "shell", + static = "\uDB80\uDC10\uDB80\uDC0F\uE18F\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "echo", + static = "\uDB80\uDC10\uDB80\uDC0F\uF663\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "card_icon[4]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "none", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "diamond", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uF8CE\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "emerald", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE167\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "gold", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uED1F\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "iron", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE9CE\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "copper", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uF0DA\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "redstone", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE16B\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "lapis", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE788\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "coal", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uEE23\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "quartz", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uF33E\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "amethyst", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uEEC7\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "ender_pearl", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE958\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "blaze_rod", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE7D0\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "ghast_tear", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uF868\uDB80\uDC03\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "prismarine", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE106\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "heart", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uF3A6\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "nether_star", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE1DC\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "totem", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uF1DC\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "trident", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uEC1F\uDB80\uDC03\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "elytra", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uEEC5\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "rocket", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uF1CE\uDB80\uDC03\uDB80\uDC06\uDB80\uDC08\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "golden_apple", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE313\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "experience", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uF780\uDB80\uDC03\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "book", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uF132\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "spyglass", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE326\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "compass", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uF389\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "clock", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uF6A2\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "name_tag", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE6E0\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "saddle", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE959\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "shell", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE6A4\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "echo", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uF400\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "card_icon[5]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "none", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "diamond", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uEC66\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "emerald", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE591\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "gold", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE8B2\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "iron", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE92C\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "copper", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE149\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "redstone", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uEC8A\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "lapis", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE35D\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "coal", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uEB32\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "quartz", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uF421\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "amethyst", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE597\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "ender_pearl", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uF1DD\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "blaze_rod", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uF3B0\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "ghast_tear", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uEE26\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "prismarine", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE844\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "heart", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uEAA9\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "nether_star", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE681\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "totem", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uEBA3\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "trident", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uED1C\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "elytra", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uEB0A\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "rocket", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE1E7\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC07\uDB80\uDC08\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "golden_apple", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uF8E7\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "experience", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE369\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "book", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uECC1\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "spyglass", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE2B9\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "compass", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uF1BB\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "clock", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uED53\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "name_tag", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE4EB\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "saddle", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE4C1\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "shell", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uF464\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "echo", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uEEC6\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "card_icon[6]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "none", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "diamond", + static = "\uDB80\uDC10\uDB80\uDC0F\uE034\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "emerald", + static = "\uDB80\uDC10\uDB80\uDC0F\uF4BF\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "gold", + static = "\uDB80\uDC10\uDB80\uDC0F\uE727\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "iron", + static = "\uDB80\uDC10\uDB80\uDC0F\uF183\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "copper", + static = "\uDB80\uDC10\uDB80\uDC0F\uE04D\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "redstone", + static = "\uDB80\uDC10\uDB80\uDC0F\uE6FA\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "lapis", + static = "\uDB80\uDC10\uDB80\uDC0F\uF1A9\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "coal", + static = "\uDB80\uDC10\uDB80\uDC0F\uF153\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "quartz", + static = "\uDB80\uDC10\uDB80\uDC0F\uE77B\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "amethyst", + static = "\uDB80\uDC10\uDB80\uDC0F\uECFB\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "ender_pearl", + static = "\uDB80\uDC10\uDB80\uDC0F\uE6BF\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "blaze_rod", + static = "\uDB80\uDC10\uDB80\uDC0F\uE76D\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "ghast_tear", + static = "\uDB80\uDC10\uDB80\uDC0F\uF399\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "prismarine", + static = "\uDB80\uDC10\uDB80\uDC0F\uF058\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "heart", + static = "\uDB80\uDC10\uDB80\uDC0F\uF463\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "nether_star", + static = "\uDB80\uDC10\uDB80\uDC0F\uEC07\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "totem", + static = "\uDB80\uDC10\uDB80\uDC0F\uF119\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "trident", + static = "\uDB80\uDC10\uDB80\uDC0F\uF188\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "elytra", + static = "\uDB80\uDC10\uDB80\uDC0F\uE3D4\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "rocket", + static = "\uDB80\uDC10\uDB80\uDC0F\uE3BA\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "golden_apple", + static = "\uDB80\uDC10\uDB80\uDC0F\uED51\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "experience", + static = "\uDB80\uDC10\uDB80\uDC0F\uE4E5\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "book", + static = "\uDB80\uDC10\uDB80\uDC0F\uE9F2\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "spyglass", + static = "\uDB80\uDC10\uDB80\uDC0F\uE8B3\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "compass", + static = "\uDB80\uDC10\uDB80\uDC0F\uF51B\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "clock", + static = "\uDB80\uDC10\uDB80\uDC0F\uE654\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "name_tag", + static = "\uDB80\uDC10\uDB80\uDC0F\uE754\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "saddle", + static = "\uDB80\uDC10\uDB80\uDC0F\uF7CC\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "shell", + static = "\uDB80\uDC10\uDB80\uDC0F\uF72D\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "echo", + static = "\uDB80\uDC10\uDB80\uDC0F\uEE3C\uDB80\uDC04", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "card_icon[7]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "none", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "diamond", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uEA94\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "emerald", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE70C\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "gold", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE983\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "iron", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uEAAA\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "copper", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uF71A\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "redstone", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uEC71\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "lapis", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE8DA\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "coal", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uF75F\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "quartz", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE1AF\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "amethyst", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uF2DB\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "ender_pearl", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uF386\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "blaze_rod", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uF665\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "ghast_tear", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uF81C\uDB80\uDC03\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "prismarine", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE8DC\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "heart", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uF1D5\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "nether_star", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE4F4\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "totem", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uF074\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "trident", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uEFC2\uDB80\uDC03\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "elytra", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uF2EC\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "rocket", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uECE2\uDB80\uDC03\uDB80\uDC06\uDB80\uDC08\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "golden_apple", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uEAD4\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "experience", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE1AD\uDB80\uDC03\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "book", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE907\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "spyglass", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uF268\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "compass", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uF51C\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "clock", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uE06C\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "name_tag", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uEABA\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "saddle", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uEBE8\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "shell", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uF54F\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "echo", + static = "\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0B\uEDC7\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "card_icon[8]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "none", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "diamond", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uEDC9\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "emerald", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uEAC2\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "gold", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE201\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "iron", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uF115\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "copper", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uEB9F\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "redstone", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uF6ED\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "lapis", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uF4D4\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "coal", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE778\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "quartz", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uF722\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "amethyst", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uEF7A\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "ender_pearl", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE08C\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "blaze_rod", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uF519\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "ghast_tear", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE52E\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "prismarine", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE637\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "heart", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE9B8\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "nether_star", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE900\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "totem", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uF73E\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "trident", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uF370\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "elytra", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uEA79\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "rocket", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uF13D\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC07\uDB80\uDC08\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "golden_apple", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE4AA\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "experience", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uEA4D\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "book", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE432\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "spyglass", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uF885\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "compass", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE710\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "clock", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uEEEA\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "name_tag", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE802\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "saddle", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE818\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "shell", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE079\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "echo", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0B\uE568\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "card_selected[0]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC10\uDB80\uDC0B\uE7B6\uDB80\uDC04\uDB80\uDC06\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "card_selected[1]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0E\uDB80\uDC0C\uF8CC\uDB80\uDC03\uDB80\uDC05\uDB80\uDC07\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "card_selected[2]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC0F\uDB80\uDC0C\uE7E2\uDB80\uDC02\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "card_selected[3]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC10\uDB80\uDC0B\uF209\uDB80\uDC04\uDB80\uDC06\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "card_selected[4]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0E\uDB80\uDC0C\uE107\uDB80\uDC03\uDB80\uDC05\uDB80\uDC07\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "card_selected[5]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC0F\uDB80\uDC0C\uEE6B\uDB80\uDC02\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "card_selected[6]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC10\uDB80\uDC0B\uF2FB\uDB80\uDC04\uDB80\uDC06\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "card_selected[7]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0E\uDB80\uDC0C\uF328\uDB80\uDC03\uDB80\uDC05\uDB80\uDC07\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "card_selected[8]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC0F\uDB80\uDC0C\uEABD\uDB80\uDC02\uDB80\uDC09\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "cart_empty" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0B\uF05E\uDB80\uDC02\uDB80\uDC03\uDB80\uDC04\uDB80\uDC06\uDB80\uDC08", + slots = listOf("label_22"), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uE48B\uDB80\uDC02\uDB80\uDC03\uDB80\uDC04\uDB80\uDC06\uDB80\uDC09\uDB80\uDC0A", + slots = listOf("cart_name[0]", "cart_quantity[0]", "cart_price[0]", "cart_name[1]", "cart_quantity[1]", "cart_price[1]", "cart_name[2]", "cart_quantity[2]", "cart_price[2]", "cart_name[3]", "cart_quantity[3]", "cart_price[3]", "cart_name[4]", "cart_quantity[4]", "cart_price[4]"), + spriteSlots = emptyList(), + regions = listOf("remove_line[0]", "remove_line[1]", "remove_line[2]", "remove_line[3]", "remove_line[4]", "cart_up", "cart_down"), + switches = listOf("cart_thumb[0]", "cart_thumb[1]", "cart_thumb[2]", "cart_thumb[3]", "cart_thumb[4]"), + ), + ), + source = null, + ), + "cart_thumb[0]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC13\uDB80\uDC12\uDB80\uDC11\uDB80\uDC0E\uDB80\uDC0D\uE83F\uDB80\uDC02\uDB80\uDC03\uDB80\uDC04\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "cart_thumb[1]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC13\uDB80\uDC12\uDB80\uDC11\uDB80\uDC0E\uDB80\uDC0D\uE030\uDB80\uDC02\uDB80\uDC03\uDB80\uDC04\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "cart_thumb[2]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC13\uDB80\uDC12\uDB80\uDC11\uDB80\uDC0E\uDB80\uDC0D\uE913\uDB80\uDC02\uDB80\uDC03\uDB80\uDC04\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "cart_thumb[3]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC13\uDB80\uDC12\uDB80\uDC11\uDB80\uDC0E\uDB80\uDC0D\uF8C0\uDB80\uDC02\uDB80\uDC03\uDB80\uDC04\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "cart_thumb[4]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC13\uDB80\uDC12\uDB80\uDC11\uDB80\uDC0E\uDB80\uDC0D\uE177\uDB80\uDC02\uDB80\uDC03\uDB80\uDC04\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "catalog_focused" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC0E\uDB80\uDC0D\uF3BF\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "\uDB80\uDC0E\uDB80\uDC0D\uF488\uDB80\uDC06\uDB80\uDC0A", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "catalog_focused~2" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "false", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0B\uE441\uDB80\uDC02\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0B\uF0A9\uDB80\uDC02\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "catalog_thumb[0]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC13\uDB80\uDC0F\uDB80\uDC0E\uDB80\uDC0D\uDB80\uDC0B\uF397\uDB80\uDC02\uDB80\uDC05\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "catalog_thumb[1]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC13\uDB80\uDC0F\uDB80\uDC0E\uDB80\uDC0D\uDB80\uDC0B\uEA45\uDB80\uDC02\uDB80\uDC05\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "catalog_thumb[2]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC13\uDB80\uDC0F\uDB80\uDC0E\uDB80\uDC0D\uDB80\uDC0B\uE06D\uDB80\uDC02\uDB80\uDC05\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "catalog_thumb[3]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC13\uDB80\uDC0F\uDB80\uDC0E\uDB80\uDC0D\uDB80\uDC0B\uF549\uDB80\uDC02\uDB80\uDC05\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "catalog_thumb[4]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC13\uDB80\uDC0F\uDB80\uDC0E\uDB80\uDC0D\uDB80\uDC0B\uED63\uDB80\uDC02\uDB80\uDC05\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "catalog_thumb[5]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC13\uDB80\uDC0F\uDB80\uDC0E\uDB80\uDC0D\uDB80\uDC0B\uE117\uDB80\uDC02\uDB80\uDC05\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "catalog_thumb[6]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC13\uDB80\uDC0F\uDB80\uDC0E\uDB80\uDC0D\uDB80\uDC0B\uE8B4\uDB80\uDC02\uDB80\uDC05\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "catalog_thumb[7]" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC13\uDB80\uDC0F\uDB80\uDC0E\uDB80\uDC0D\uDB80\uDC0B\uF6FA\uDB80\uDC02\uDB80\uDC05\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "detail_icon" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "none", + static = "", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "diamond", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uDB80\uDC0B\uE131\uDB80\uDC02\uDB80\uDC04\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "emerald", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uDB80\uDC0B\uEF06\uDB80\uDC02\uDB80\uDC04\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "gold", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uDB80\uDC0B\uEC7F\uDB80\uDC02\uDB80\uDC04\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "iron", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uDB80\uDC0B\uE678\uDB80\uDC02\uDB80\uDC04\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "copper", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uDB80\uDC0B\uF6E6\uDB80\uDC02\uDB80\uDC04\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "redstone", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uDB80\uDC0B\uE102\uDB80\uDC02\uDB80\uDC04\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "lapis", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uDB80\uDC0B\uF1CA\uDB80\uDC02\uDB80\uDC04\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "coal", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uDB80\uDC0B\uEB29\uDB80\uDC02\uDB80\uDC04\uDB80\uDC06\uDB80\uDC08", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "quartz", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uDB80\uDC0B\uE4AC\uDB80\uDC02\uDB80\uDC04\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "amethyst", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uDB80\uDC0B\uF42B\uDB80\uDC02\uDB80\uDC04\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "ender_pearl", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uDB80\uDC0B\uF4AD\uDB80\uDC02\uDB80\uDC04\uDB80\uDC06\uDB80\uDC08", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "blaze_rod", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uDB80\uDC0B\uE4FE\uDB80\uDC02\uDB80\uDC04\uDB80\uDC06\uDB80\uDC08", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "ghast_tear", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uDB80\uDC0B\uE25A\uDB80\uDC02\uDB80\uDC04\uDB80\uDC06\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "prismarine", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uDB80\uDC0B\uE4BD\uDB80\uDC02\uDB80\uDC04\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "heart", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uDB80\uDC0B\uF82C\uDB80\uDC02\uDB80\uDC04\uDB80\uDC06\uDB80\uDC08", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "nether_star", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uDB80\uDC0B\uEC8E\uDB80\uDC02\uDB80\uDC04\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "totem", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uDB80\uDC0B\uF44F\uDB80\uDC02\uDB80\uDC04\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "trident", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uDB80\uDC0B\uEE7B\uDB80\uDC02\uDB80\uDC04\uDB80\uDC06", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "elytra", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uDB80\uDC0B\uE8CE\uDB80\uDC02\uDB80\uDC04\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "rocket", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uDB80\uDC0B\uEC1E\uDB80\uDC02\uDB80\uDC04\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "golden_apple", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uDB80\uDC0B\uE390\uDB80\uDC02\uDB80\uDC04\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "experience", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uDB80\uDC0B\uE579\uDB80\uDC02\uDB80\uDC04\uDB80\uDC06\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "book", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uDB80\uDC0B\uF57C\uDB80\uDC02\uDB80\uDC04\uDB80\uDC06\uDB80\uDC08", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "spyglass", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uDB80\uDC0B\uEB98\uDB80\uDC02\uDB80\uDC04\uDB80\uDC06\uDB80\uDC08", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "compass", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uDB80\uDC0B\uE73F\uDB80\uDC02\uDB80\uDC04\uDB80\uDC06\uDB80\uDC08", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "clock", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uDB80\uDC0B\uECCB\uDB80\uDC02\uDB80\uDC04\uDB80\uDC06\uDB80\uDC08", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "name_tag", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uDB80\uDC0B\uE389\uDB80\uDC02\uDB80\uDC04\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "saddle", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uDB80\uDC0B\uE5DE\uDB80\uDC02\uDB80\uDC04\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "shell", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uDB80\uDC0B\uF1B2\uDB80\uDC02\uDB80\uDC04\uDB80\uDC06\uDB80\uDC08", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "echo", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uDB80\uDC0B\uE67A\uDB80\uDC02\uDB80\uDC04\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "store_category?all" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0C\uDB80\uDC0B\uF476\uDB80\uDC03\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09", + slots = listOf("label_1"), + spriteSlots = emptyList(), + regions = listOf("store_category=all"), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0C\uDB80\uDC0B\uE8EC\uDB80\uDC03\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09", + slots = listOf("label_2"), + spriteSlots = emptyList(), + regions = listOf("store_category=all~2"), + switches = emptyList(), + ), + ), + source = null, + ), + "store_category?deals" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0E\uDB80\uDC0C\uDB80\uDC0B\uE85F\uDB80\uDC02\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09", + slots = listOf("label_7"), + spriteSlots = emptyList(), + regions = listOf("store_category=deals"), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC10\uDB80\uDC0E\uDB80\uDC0C\uDB80\uDC0B\uE59E\uDB80\uDC02\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09", + slots = listOf("label_8"), + spriteSlots = emptyList(), + regions = listOf("store_category=deals~2"), + switches = emptyList(), + ), + ), + source = null, + ), + "store_category?gear" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC12\uDB80\uDC0F\uDB80\uDC0E\uDB80\uDC0C\uDB80\uDC0B\uE12E\uDB80\uDC03\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09", + slots = listOf("label_3"), + spriteSlots = emptyList(), + regions = listOf("store_category=gear"), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "\uDB80\uDC12\uDB80\uDC0F\uDB80\uDC0E\uDB80\uDC0C\uDB80\uDC0B\uF2F3\uDB80\uDC03\uDB80\uDC05\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09", + slots = listOf("label_4"), + spriteSlots = emptyList(), + regions = listOf("store_category=gear~2"), + switches = emptyList(), + ), + ), + source = null, + ), + "store_category?magic" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC0C\uDB80\uDC0B\uE858\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC08\uDB80\uDC09", + slots = listOf("label_5"), + spriteSlots = emptyList(), + regions = listOf("store_category=magic"), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "\uDB80\uDC12\uDB80\uDC11\uDB80\uDC0C\uDB80\uDC0B\uF62D\uDB80\uDC03\uDB80\uDC04\uDB80\uDC05\uDB80\uDC08\uDB80\uDC09", + slots = listOf("label_6"), + spriteSlots = emptyList(), + regions = listOf("store_category=magic~2"), + switches = emptyList(), + ), + ), + source = null, + ), + "store_has_search" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "", + slots = listOf("store_search"), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "", + slots = listOf("label_9"), + spriteSlots = emptyList(), + regions = emptyList(), + switches = emptyList(), + ), + ), + source = null, + ), + "store_has_search~2" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC13\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0D\uDB80\uDC0B\uECBB\uDB80\uDC02\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = listOf("store_clear_search"), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "\uDB80\uDC13\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0D\uDB80\uDC0B\uE4E6\uDB80\uDC02\uDB80\uDC03\uDB80\uDC06\uDB80\uDC07\uDB80\uDC08\uDB80\uDC09", + slots = emptyList(), + spriteSlots = emptyList(), + regions = listOf("region~0"), + switches = emptyList(), + ), + ), + source = null, + ), + "store_pane" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "details", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0B\uE523\uDB80\uDC02\uDB80\uDC03\uDB80\uDC06", + slots = listOf("detail_name", "detail_kind", "detail_price", "detail_blurb", "detail_in_cart", "label_15", "quantity", "label_20"), + spriteSlots = emptyList(), + regions = listOf("add_to_cart"), + switches = listOf("detail_icon", "can_less", "can_more", "can_buy_now"), + ), + SwitchCaseEntry( + value = "cart", + static = "\uDB80\uDC13\uDB80\uDC11\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0B\uF724\uDB80\uDC02\uDB80\uDC03\uDB80\uDC04\uDB80\uDC06\uDB80\uDC08\uDB80\uDC09\uDB80\uDC0A", + slots = listOf("label_21", "label_23", "cart_total", "label_26"), + spriteSlots = emptyList(), + regions = listOf("clear_cart"), + switches = listOf("catalog_focused~2", "cart_empty", "can_checkout"), + ), + ), + source = null, + ), + "store_pane?cart" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC13\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0C\uECD6\uDB80\uDC02\uDB80\uDC03\uDB80\uDC04\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = listOf("label_13"), + spriteSlots = emptyList(), + regions = listOf("open_cart~2"), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "\uDB80\uDC13\uDB80\uDC12\uDB80\uDC0E\uDB80\uDC0C\uEB40\uDB80\uDC02\uDB80\uDC03\uDB80\uDC04\uDB80\uDC06\uDB80\uDC07\uDB80\uDC0A", + slots = listOf("label_14"), + spriteSlots = emptyList(), + regions = listOf("open_cart~3"), + switches = emptyList(), + ), + ), + source = null, + ), + "store_pane?details" to SwitchEntry( + cases = listOf( + SwitchCaseEntry( + value = "true", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uEBBD\uDB80\uDC02\uDB80\uDC03\uDB80\uDC08\uDB80\uDC0A", + slots = listOf("label_11"), + spriteSlots = emptyList(), + regions = listOf("open_details"), + switches = emptyList(), + ), + SwitchCaseEntry( + value = "false", + static = "\uDB80\uDC13\uDB80\uDC10\uDB80\uDC0F\uDB80\uDC0D\uDB80\uDC0C\uF508\uDB80\uDC02\uDB80\uDC03\uDB80\uDC08\uDB80\uDC0A", + slots = listOf("label_12"), + spriteSlots = emptyList(), + regions = listOf("open_details~2"), + switches = emptyList(), + ), + ), + source = null, + ), + ), + art = mapOf( + "art/0" to ArtEntry( + static = "\uDB80\uDC11\uDB80\uDC0D\uDB80\uDC0C\uDB80\uDC0B\uE8B1\uDB80\uDC04\uDB80\uDC07\uDB80\uDC09", + tint = "tone", + tintMarkers = mapOf( + "danger" to "#a23804", + "ok" to "#a23802", + "warn" to "#a23803", + ), + ), + ), + tints = mapOf( + "detail_tier" to mapOf( + "common" to "#ffffff", + "epic" to "#ff77ff", + "legendary" to "#ffb20b", + "rare" to "#55ffff", + ), + "tone" to mapOf( + "danger" to "#ff4d4d", + "ok" to "#3ddc84", + "warn" to "#ffb020", + ), + ), + layers = listOf( + LayerEntry(LayerKind.SLOT, "label_0"), + LayerEntry(LayerKind.SWITCH, "store_category?all"), + LayerEntry(LayerKind.SLOT, "label_1"), + LayerEntry(LayerKind.SLOT, "label_2"), + LayerEntry(LayerKind.SWITCH, "store_category?gear"), + LayerEntry(LayerKind.SLOT, "label_3"), + LayerEntry(LayerKind.SLOT, "label_4"), + LayerEntry(LayerKind.SWITCH, "store_category?magic"), + LayerEntry(LayerKind.SLOT, "label_5"), + LayerEntry(LayerKind.SLOT, "label_6"), + LayerEntry(LayerKind.SWITCH, "store_category?deals"), + LayerEntry(LayerKind.SLOT, "label_7"), + LayerEntry(LayerKind.SLOT, "label_8"), + LayerEntry(LayerKind.SWITCH, "store_has_search"), + LayerEntry(LayerKind.SLOT, "store_search"), + LayerEntry(LayerKind.SLOT, "label_9"), + LayerEntry(LayerKind.SWITCH, "store_has_search~2"), + LayerEntry(LayerKind.SLOT, "store_cart_count"), + LayerEntry(LayerKind.SWITCH, "catalog_focused"), + LayerEntry(LayerKind.SLOT, "store_results"), + LayerEntry(LayerKind.SLOT, "store_sort_label"), + LayerEntry(LayerKind.SWITCH, "card_icon[0]"), + LayerEntry(LayerKind.SLOT, "card_name[0]"), + LayerEntry(LayerKind.SWITCH, "card_filled[0]"), + LayerEntry(LayerKind.SLOT, "card_price[0]"), + LayerEntry(LayerKind.SWITCH, "card_featured[0]"), + LayerEntry(LayerKind.SWITCH, "card_selected[0]"), + LayerEntry(LayerKind.SWITCH, "card_icon[1]"), + LayerEntry(LayerKind.SLOT, "card_name[1]"), + LayerEntry(LayerKind.SWITCH, "card_filled[1]"), + LayerEntry(LayerKind.SLOT, "card_price[1]"), + LayerEntry(LayerKind.SWITCH, "card_featured[1]"), + LayerEntry(LayerKind.SWITCH, "card_selected[1]"), + LayerEntry(LayerKind.SWITCH, "card_icon[2]"), + LayerEntry(LayerKind.SLOT, "card_name[2]"), + LayerEntry(LayerKind.SWITCH, "card_filled[2]"), + LayerEntry(LayerKind.SLOT, "card_price[2]"), + LayerEntry(LayerKind.SWITCH, "card_featured[2]"), + LayerEntry(LayerKind.SWITCH, "card_selected[2]"), + LayerEntry(LayerKind.SWITCH, "card_icon[3]"), + LayerEntry(LayerKind.SLOT, "card_name[3]"), + LayerEntry(LayerKind.SWITCH, "card_filled[3]"), + LayerEntry(LayerKind.SLOT, "card_price[3]"), + LayerEntry(LayerKind.SWITCH, "card_featured[3]"), + LayerEntry(LayerKind.SWITCH, "card_selected[3]"), + LayerEntry(LayerKind.SWITCH, "card_icon[4]"), + LayerEntry(LayerKind.SLOT, "card_name[4]"), + LayerEntry(LayerKind.SWITCH, "card_filled[4]"), + LayerEntry(LayerKind.SLOT, "card_price[4]"), + LayerEntry(LayerKind.SWITCH, "card_featured[4]"), + LayerEntry(LayerKind.SWITCH, "card_selected[4]"), + LayerEntry(LayerKind.SWITCH, "card_icon[5]"), + LayerEntry(LayerKind.SLOT, "card_name[5]"), + LayerEntry(LayerKind.SWITCH, "card_filled[5]"), + LayerEntry(LayerKind.SLOT, "card_price[5]"), + LayerEntry(LayerKind.SWITCH, "card_featured[5]"), + LayerEntry(LayerKind.SWITCH, "card_selected[5]"), + LayerEntry(LayerKind.SWITCH, "card_icon[6]"), + LayerEntry(LayerKind.SLOT, "card_name[6]"), + LayerEntry(LayerKind.SWITCH, "card_filled[6]"), + LayerEntry(LayerKind.SLOT, "card_price[6]"), + LayerEntry(LayerKind.SWITCH, "card_featured[6]"), + LayerEntry(LayerKind.SWITCH, "card_selected[6]"), + LayerEntry(LayerKind.SWITCH, "card_icon[7]"), + LayerEntry(LayerKind.SLOT, "card_name[7]"), + LayerEntry(LayerKind.SWITCH, "card_filled[7]"), + LayerEntry(LayerKind.SLOT, "card_price[7]"), + LayerEntry(LayerKind.SWITCH, "card_featured[7]"), + LayerEntry(LayerKind.SWITCH, "card_selected[7]"), + LayerEntry(LayerKind.SWITCH, "card_icon[8]"), + LayerEntry(LayerKind.SLOT, "card_name[8]"), + LayerEntry(LayerKind.SWITCH, "card_filled[8]"), + LayerEntry(LayerKind.SLOT, "card_price[8]"), + LayerEntry(LayerKind.SWITCH, "card_featured[8]"), + LayerEntry(LayerKind.SWITCH, "card_selected[8]"), + LayerEntry(LayerKind.SWITCH, "catalog_thumb[0]"), + LayerEntry(LayerKind.SWITCH, "catalog_thumb[1]"), + LayerEntry(LayerKind.SWITCH, "catalog_thumb[2]"), + LayerEntry(LayerKind.SWITCH, "catalog_thumb[3]"), + LayerEntry(LayerKind.SWITCH, "catalog_thumb[4]"), + LayerEntry(LayerKind.SWITCH, "catalog_thumb[5]"), + LayerEntry(LayerKind.SWITCH, "catalog_thumb[6]"), + LayerEntry(LayerKind.SWITCH, "catalog_thumb[7]"), + LayerEntry(LayerKind.SLOT, "label_10"), + LayerEntry(LayerKind.SWITCH, "store_pane?details"), + LayerEntry(LayerKind.SLOT, "label_11"), + LayerEntry(LayerKind.SLOT, "label_12"), + LayerEntry(LayerKind.SWITCH, "store_pane?cart"), + LayerEntry(LayerKind.SLOT, "label_13"), + LayerEntry(LayerKind.SLOT, "label_14"), + LayerEntry(LayerKind.SWITCH, "store_pane"), + LayerEntry(LayerKind.SWITCH, "detail_icon"), + LayerEntry(LayerKind.SLOT, "detail_name"), + LayerEntry(LayerKind.SLOT, "detail_kind"), + LayerEntry(LayerKind.SLOT, "detail_price"), + LayerEntry(LayerKind.SLOT, "detail_blurb"), + LayerEntry(LayerKind.SLOT, "detail_in_cart"), + LayerEntry(LayerKind.SLOT, "label_15"), + LayerEntry(LayerKind.SWITCH, "can_less"), + LayerEntry(LayerKind.SLOT, "label_16"), + LayerEntry(LayerKind.SLOT, "label_17"), + LayerEntry(LayerKind.SLOT, "quantity"), + LayerEntry(LayerKind.SWITCH, "can_more"), + LayerEntry(LayerKind.SLOT, "label_18"), + LayerEntry(LayerKind.SLOT, "label_19"), + LayerEntry(LayerKind.SLOT, "label_20"), + LayerEntry(LayerKind.SWITCH, "can_buy_now"), + LayerEntry(LayerKind.SLOT, "buy_now_label"), + LayerEntry(LayerKind.SLOT, "buy_now_label~2"), + LayerEntry(LayerKind.SWITCH, "catalog_focused~2"), + LayerEntry(LayerKind.SLOT, "label_21"), + LayerEntry(LayerKind.SWITCH, "cart_empty"), + LayerEntry(LayerKind.SLOT, "label_22"), + LayerEntry(LayerKind.SLOT, "cart_name[0]"), + LayerEntry(LayerKind.SLOT, "cart_quantity[0]"), + LayerEntry(LayerKind.SLOT, "cart_price[0]"), + LayerEntry(LayerKind.SLOT, "cart_name[1]"), + LayerEntry(LayerKind.SLOT, "cart_quantity[1]"), + LayerEntry(LayerKind.SLOT, "cart_price[1]"), + LayerEntry(LayerKind.SLOT, "cart_name[2]"), + LayerEntry(LayerKind.SLOT, "cart_quantity[2]"), + LayerEntry(LayerKind.SLOT, "cart_price[2]"), + LayerEntry(LayerKind.SLOT, "cart_name[3]"), + LayerEntry(LayerKind.SLOT, "cart_quantity[3]"), + LayerEntry(LayerKind.SLOT, "cart_price[3]"), + LayerEntry(LayerKind.SLOT, "cart_name[4]"), + LayerEntry(LayerKind.SLOT, "cart_quantity[4]"), + LayerEntry(LayerKind.SLOT, "cart_price[4]"), + LayerEntry(LayerKind.SWITCH, "cart_thumb[0]"), + LayerEntry(LayerKind.SWITCH, "cart_thumb[1]"), + LayerEntry(LayerKind.SWITCH, "cart_thumb[2]"), + LayerEntry(LayerKind.SWITCH, "cart_thumb[3]"), + LayerEntry(LayerKind.SWITCH, "cart_thumb[4]"), + LayerEntry(LayerKind.SLOT, "label_23"), + LayerEntry(LayerKind.SLOT, "cart_total"), + LayerEntry(LayerKind.SWITCH, "can_checkout"), + LayerEntry(LayerKind.SLOT, "label_24"), + LayerEntry(LayerKind.SLOT, "label_25"), + LayerEntry(LayerKind.SLOT, "label_26"), + LayerEntry(LayerKind.SLOT, "store_balance"), + LayerEntry(LayerKind.ART, "art/0"), + LayerEntry(LayerKind.SLOT, "store_toast"), + LayerEntry(LayerKind.SLOT, "label_27"), + LayerEntry(LayerKind.SLOT, "label_28"), + ), + markers = mapOf( + "art/0" to "#a23800", + "buy_now_label" to "#a1b400", + "buy_now_label~2" to "#a1b800", + "can_buy_now" to "#a1b000", + "can_checkout" to "#a22400", + "can_less" to "#a19000", + "can_more" to "#a1a000", + "card_featured[0]" to "#a06c00", + "card_featured[1]" to "#a08400", + "card_featured[2]" to "#a09c00", + "card_featured[3]" to "#a0b400", + "card_featured[4]" to "#a0cc00", + "card_featured[5]" to "#a0e400", + "card_featured[6]" to "#a0fc00", + "card_featured[7]" to "#a11400", + "card_featured[8]" to "#a12c00", + "card_filled[0]" to "#a06400", + "card_filled[1]" to "#a07c00", + "card_filled[2]" to "#a09400", + "card_filled[3]" to "#a0ac00", + "card_filled[4]" to "#a0c400", + "card_filled[5]" to "#a0dc00", + "card_filled[6]" to "#a0f400", + "card_filled[7]" to "#a10c00", + "card_filled[8]" to "#a12400", + "card_icon[0]" to "#a05c00", + "card_icon[1]" to "#a07400", + "card_icon[2]" to "#a08c00", + "card_icon[3]" to "#a0a400", + "card_icon[4]" to "#a0bc00", + "card_icon[5]" to "#a0d400", + "card_icon[6]" to "#a0ec00", + "card_icon[7]" to "#a10400", + "card_icon[8]" to "#a11c00", + "card_name[0]" to "#a06000", + "card_name[1]" to "#a07800", + "card_name[2]" to "#a09000", + "card_name[3]" to "#a0a800", + "card_name[4]" to "#a0c000", + "card_name[5]" to "#a0d800", + "card_name[6]" to "#a0f000", + "card_name[7]" to "#a10800", + "card_name[8]" to "#a12000", + "card_price[0]" to "#a0680b", + "card_price[1]" to "#a0800b", + "card_price[2]" to "#a0980b", + "card_price[3]" to "#a0b00b", + "card_price[4]" to "#a0c80b", + "card_price[5]" to "#a0e00b", + "card_price[6]" to "#a0f80b", + "card_price[7]" to "#a1100b", + "card_price[8]" to "#a1280b", + "card_selected[0]" to "#a07000", + "card_selected[1]" to "#a08800", + "card_selected[2]" to "#a0a000", + "card_selected[3]" to "#a0b800", + "card_selected[4]" to "#a0d000", + "card_selected[5]" to "#a0e800", + "card_selected[6]" to "#a10000", + "card_selected[7]" to "#a11800", + "card_selected[8]" to "#a13000", + "cart_empty" to "#a1c400", + "cart_name[0]" to "#a1cc00", + "cart_name[1]" to "#a1d800", + "cart_name[2]" to "#a1e400", + "cart_name[3]" to "#a1f000", + "cart_name[4]" to "#a1fc00", + "cart_price[0]" to "#a1d40b", + "cart_price[1]" to "#a1e00b", + "cart_price[2]" to "#a1ec0b", + "cart_price[3]" to "#a1f80b", + "cart_price[4]" to "#a2040b", + "cart_quantity[0]" to "#a1d009", + "cart_quantity[1]" to "#a1dc09", + "cart_quantity[2]" to "#a1e809", + "cart_quantity[3]" to "#a1f409", + "cart_quantity[4]" to "#a20009", + "cart_thumb[0]" to "#a20800", + "cart_thumb[1]" to "#a20c00", + "cart_thumb[2]" to "#a21000", + "cart_thumb[3]" to "#a21400", + "cart_thumb[4]" to "#a21800", + "cart_total" to "#a2200b", + "catalog_focused" to "#a05000", + "catalog_focused~2" to "#a1bc00", + "catalog_thumb[0]" to "#a13400", + "catalog_thumb[1]" to "#a13800", + "catalog_thumb[2]" to "#a13c00", + "catalog_thumb[3]" to "#a14000", + "catalog_thumb[4]" to "#a14400", + "catalog_thumb[5]" to "#a14800", + "catalog_thumb[6]" to "#a14c00", + "catalog_thumb[7]" to "#a15000", + "detail_blurb" to "#a1840f", + "detail_icon" to "#a17400", + "detail_in_cart" to "#a18809", + "detail_kind" to "#a17c09", + "detail_name" to "#a17800", + "detail_price" to "#a1800b", + "label_0" to "#a00801", + "label_1" to "#a01000", + "label_10" to "#a15409", + "label_11" to "#a15c00", + "label_12" to "#a16000", + "label_13" to "#a16800", + "label_14" to "#a16c00", + "label_15" to "#a18c00", + "label_16" to "#a19400", + "label_17" to "#a19800", + "label_18" to "#a1a400", + "label_19" to "#a1a800", + "label_2" to "#a01400", + "label_20" to "#a1ac0a", + "label_21" to "#a1c009", + "label_22" to "#a1c809", + "label_23" to "#a21c00", + "label_24" to "#a22800", + "label_25" to "#a22c00", + "label_26" to "#a23000", + "label_27" to "#a24009", + "label_28" to "#a24400", + "label_3" to "#a01c00", + "label_4" to "#a02000", + "label_5" to "#a02800", + "label_6" to "#a02c00", + "label_7" to "#a03400", + "label_8" to "#a03800", + "label_9" to "#a04409", + "quantity" to "#a19c00", + "store_balance" to "#a2340b", + "store_cart_count" to "#a04c0a", + "store_category?all" to "#a00c00", + "store_category?deals" to "#a03000", + "store_category?gear" to "#a01800", + "store_category?magic" to "#a02400", + "store_has_search" to "#a03c00", + "store_has_search~2" to "#a04800", + "store_pane" to "#a17000", + "store_pane?cart" to "#a16400", + "store_pane?details" to "#a15800", + "store_results" to "#a0540b", + "store_search" to "#a04000", + "store_sort_label" to "#a05800", + "store_toast" to "#a23c02", + ), + ), ) val canvas: FullscreenCanvasEntry = FullscreenCanvasEntry(