Skip to main content

flatland_client_lib/
lib.rs

1//! Shared gameplay session state for TUI, bots, and third-party clients.
2
3mod assets;
4mod bot;
5mod character_sheet;
6mod client_config;
7mod connect;
8pub mod currency;
9mod game;
10mod worker_route_editor;
11pub mod harvest_debug;
12pub mod navigation;
13mod remote;
14mod session;
15mod settings;
16mod use_world;
17
18pub use assets::{
19    assets_index_url, build_bundle_index, firebase_download_url, firebase_object_path,
20    needs_asset_sync, read_local_state, read_repo_publish_rev, resolve_sprites_dir, sync_assets,
21    AssetBundleIndex, AssetFileEntry, AssetSyncKind, AssetSyncOptions, AssetSyncResult,
22    LocalAssetState, DEFAULT_FIREBASE_BUCKET,
23};
24pub use bot::{BotClient, BotConfig, BotStats};
25pub use character_sheet::{
26    build_character_sheet, format_pool_xp, format_progress_pct, format_xp_band,
27    format_xp_band_compact, format_xp_delta, format_xp_value, AttributeRow, CharacterSheet,
28    PoolRow, SheetSync, SkillRow,
29};
30pub use client_config::{
31    default_api_base_url, default_game_server_addr, ClientConfig, GfxWindowPrefs,
32    DEFAULT_API_PORT, DEFAULT_GAME_PORT,
33};
34pub use connect::{connect, connect_tcp, default_server_addr, ConnectOptions};
35pub use flatland_protocol::AuthCredential;
36pub use game::{
37    body_slot_label, worker_error_is_transient, ContextLine, GameClient, GameState,
38    InventoryBrowserLine, InventoryRow, InventoryRowView, InventorySection, MoveOption,
39    MoveOptionKind, MovePicker, NearbyContainer, RotationEditorMode, RotationEditorState, ShopTab,
40    WorkerGiveOption, WorkerGivePicker, WorkerTeachOption, WorkerTeachPicker, CONTAINER_RANGE_M,
41    WORKER_GIVE_RANGE_M,
42};
43pub use worker_route_editor::{
44    node_candidates, owned_container_candidates, owned_lodging_container_ids,
45    owned_storage_template_ids, pick_lodging_container_at, pick_resource_node_at,
46    pick_storage_container_at, pick_trade_npc_at, route_item_template_candidates,
47    summarize_contents, trade_npc_candidates, worker_craft_blueprint_ids, ContainerCandidate,
48    NodeCandidate, RouteEditorClick, RouteEditorSheet, TradeNpcCandidate, WithdrawLineDraft,
49    WithdrawLineMode, WorkerRouteEditorState, WorkerRouteStop, WorkerRouteWaypoint,
50    WorkerRouteWithdrawItem, ADD_MENU, WAYPOINT_MENU,
51};
52pub use harvest_debug::{verbose as harvest_debug_verbose, TARGET as HARVEST_LOG_TARGET};
53pub use navigation::AutoNavigator;
54pub use remote::RemoteSession;
55pub use session::{PlayConnection, SessionEvent};
56pub use settings::{load_client_settings, ClientKeyBindings, ClientSettings};
57pub use use_world::{UseWorldCandidate, UseWorldKind, UseWorldProbe, USE_WORLD_NEARBY_SCAN_M};