feat: complete in-game commands, GUIs, admin panel fixes, and launcher enhancements

This commit is contained in:
scoped committed 2026-09-29 12:14:16 -04:00
1 parent a9ff92e1d1
commit 752f0cc43d
34 files changed
+4170 -181

No files matched your search

+101 -1
View File
@@ -417,13 +417,34 @@ pub struct LaunchEvent {
pub struct UserLevelInfo {
pub uuid: String,
pub global_xp: i64,
#[serde(default)]
pub current_xp: i64,
pub global_level: i64,
#[serde(default)]
pub level: i64,
pub current_level_xp: i64,
pub next_level_xp: i64,
pub progress_pct: f64,
pub title: Option<String>,
pub badges: Vec<String>,
pub server_levels: Vec<ServerLevelInfo>,
#[serde(default)]
pub rank: Option<usize>,
#[serde(default)]
pub rewards: Vec<LevelReward>,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub struct LevelReward {
pub id: i64,
pub level: i64,
pub reward_type: String,
pub reward_value: String,
pub description: String,
#[serde(default)]
pub icon: Option<String>,
#[serde(default)]
pub server_id: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
@@ -450,16 +471,26 @@ pub struct Quest {
pub xp_reward: i64,
pub icon: String,
pub enabled: bool,
#[serde(default)]
pub quest_type: Option<String>,
#[serde(default)]
pub stat_type: Option<String>,
#[serde(default)]
pub active: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub struct UserQuest {
#[serde(flatten)]
pub quest: Quest,
#[serde(default)]
pub progress: i64,
#[serde(default)]
pub current_count: i64,
pub completed: bool,
pub claimed: bool,
pub period_key: String,
#[serde(default)]
pub expires_at: Option<String>,
}
// ---------------------------------------------------------------------------
@@ -473,17 +504,86 @@ pub struct Achievement {
pub description: String,
pub category: String,
pub icon_frame: String, // "task", "goal", "challenge"
#[serde(default)]
pub frame_type: Option<String>,
pub icon_item: String,
pub icon_bg: String,
pub icon_border: String,
pub xp_reward: i64,
pub secret: bool,
#[serde(default)]
pub stat_type: Option<String>,
#[serde(default)]
pub target_count: Option<i64>,
#[serde(default)]
pub unlocked: bool,
#[serde(default)]
pub unlocked_at: Option<String>,
}
// ---------------------------------------------------------------------------
// Economy
// ---------------------------------------------------------------------------
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub struct ServerEconomyBalance {
pub server_id: i64,
pub server_name: String,
pub balance: f64,
pub currency_symbol: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub struct EconomyTransaction {
pub id: i64,
pub server_id: i64,
#[serde(default)]
pub server_name: Option<String>,
pub from_uuid: String,
pub from_name: String,
pub to_uuid: String,
pub to_name: String,
pub amount: f64,
pub description: String,
pub created_at: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub struct BaltopEntry {
pub rank: usize,
pub uuid: String,
pub username: String,
pub balance: f64,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub struct MarketListing {
pub id: i64,
pub server_id: i64,
pub seller_uuid: String,
pub seller_name: String,
pub item_id: String,
pub item_name: String,
pub amount: i32,
pub price: f64,
pub created_at: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub struct MemberProfile {
pub uuid: String,
pub username: String,
pub role: String,
pub status: String,
pub skin_url: Option<String>,
pub global_level: i64,
pub title: Option<String>,
pub playtime_secs: i64,
pub last_seen: Option<String>,
pub online: bool,
pub is_friend: bool,
}
// ---------------------------------------------------------------------------
// Guilds & Land Claiming
// ---------------------------------------------------------------------------