1 个不稳定版本

0.1.0 2021年11月7日

#156 in #minecraft

GPL-3.0 许可证

24KB
358

🕹️ mojang

Rust 莫贾恩 API 接口!

🚀 安装

只需将以下内容添加到您的 Cargo.toml

[dependencies]
mojang = "0.1.0"

📄 信息

非官方的 Rust 库,与 Mojang HTTP API 交互。Mojang API 文档 在这里

有关此库的更多信息,请查看文档 这里

💥 示例

🦦 玩家

从名字获取 UUID / 从 UUID 获取名字

// Import lib
use mojang::Player;

// Make a new Player
// This can be with player name or UUID
let p1 = Player::new("Sigma76").unwrap();

let p2 = Player::new("3c358264-b456-4bde-ab1e-fe1023db6679").unwrap();

assert_eq!(p1.name, p2.name);
assert_eq!(p1.uuid, p2.uuid);

获取玩家名字变更历史

// Import lib
use mojang::Player;

// Make a new Player
// Then fetch and add Name History Data
let p = Player::new("Sigma76").unwrap().add_name_change().unwrap();;

// Get name at timestamp (ms)
// Due to API limitations any timestamp before the first name change will count as the accounts original name
assert_eq!(p.name_at(16362446560000).unwrap(), "Sigma76");

获取玩家皮肤 URL

// Import lib
use mojang::Player;

// Make a new Player
// Then fetch and add skin data to it
let p = Player::new("Sigma76").unwrap().add_skin().unwrap();

assert_eq!(p.skin_url.unwrap(), "http://textures.minecraft.net/texture/c05f5efaf313464bde6060fb48aab8e6d07202cae19c764daee52029663df8b4");

🔮 莫贾恩统计

获取 Minecraft 销售数据

// Import Lib
use mojang::Stats;

// Get Stats for Default Metrics
let s = Stats::new().unwrap();

println!("Total Minecraft Sales: {}", s.total);
println!("Minecraft Sales 24h: {}", s.last24h);
println!("Minecraft Sales / Sec: {}", s.sale_per_sec);

获取所有莫贾恩游戏销售

// Import Lib
use mojang::Stats;
use mojang::MetricKeys;

let s = Stats::new_metrics(vec![
    MetricKeys::ItemSoldMinecraft,
    MetricKeys::PrepaidCardRedeemedMinecraft,
    MetricKeys::ItemSoldCobalt,
    MetricKeys::ItemSoldScrolls,
    MetricKeys::PrepaidCardRedeemedCobalt,
    MetricKeys::ItemSoldDungeons,
  ])
  .unwrap();

println!("Total Sales: {}", s.total);
println!("Sales 24h: {}", s.last24h);
println!("Sales / Sec: {}", s.sale_per_sec);

🍞 其他

检查服务器是否被 Mojang 封锁

// Import Lib
use mojang::BlockedServers;

// Get Blocked Servers (Hashes only)
let blocked = BlockedServers::new().unwrap();

// Check if server is blocked
assert!(blocked.blocked("mc.playmc.mx"));

依赖项

~2.5MB
~71K SLoC