3 个不稳定版本
0.2.0 | 2023年7月22日 |
---|---|
0.1.1 | 2022年10月13日 |
0.1.0 | 2022年7月25日 |
#290 in 游戏
每月27次下载
83KB
2K SLoC
rs-pixel
一个完整的、速率限制的、异步的 Rust 实现 Hypixel 公共 API,具有广泛的 SkyBlock 支持。
[dependencies]
rs-pixel = "0.2.0"
入门
您需要一个 Hypixel API 密钥来访问大多数端点 (官方文档)。
创建实例
使用默认配置
let mut api = RsPixel::new("API KEY").await.unwrap();
或者配置客户端,Minecraft 用户名/UUID API 类型,以及速率限制策略
let config = ConfigBuilder::default()
.client(surf::Config::new().try_into().unwrap())
.minecraft_api_type(ApiType::PlayerDb)
.rate_limit_strategy(RateLimitStrategy::Error)
.into();
let mut api = RsPixel::from_config("API KEY", config).await.unwrap();
示例
打印玩家的名称和等级
let uuid = &api.username_to_uuid("USERNME").await.unwrap().uuid;
let response = api.get_player(uuid).await.unwrap();
println!(
"{} has the {} rank",
response.get_name().unwrap(),
response.get_rank()
);
打印 SkyBlock 玩家的统计数据
let uuid = &api.username_to_uuid("USERNME").await.unwrap().uuid;
let response = api.get_skyblock_profiles(uuid).await.unwrap();
let profile = response.get_selected_profile().unwrap();
println!(
"Enderman Slayer XP: {}\nCombat Skill Level: {}\nCatacombs LeveL: {}",
profile.get_slayer(uuid, "enderman").unwrap().current_exp,
profile.get_skill(uuid, "combat").unwrap().level,
profile.get_catacombs(uuid).unwrap().level
);
打印 SkyBlock 玩家的库存内容(NBT 解析为 JSON)
let uuid = "UUID";
let response = api.get_skyblock_profiles(uuid).await.unwrap();
let profile = response.get_selected_profile().unwrap();
println!("Inventory Contents: {}", profile.get_inventory(uuid).unwrap());
获取第一页并打印第一场拍卖
let response = api.get_skyblock_auctions(0).await.unwrap();
let auction = response.auctions.get(0).unwrap();
println!(
"The starting bid for a {} is {} coins",
auction.item_name, auction.starting_bid
);
待办事项
- 文档
- 更多示例
许可 & 贡献
许可协议为 Apache License, Version 2.0 或 MIT 许可证,任选其一。
除非您明确表示,否则您有意提交以包含在此软件包中的任何贡献,根据 Apache-2.0 许可证定义,均应双重许可,无需任何额外的条款或条件。
依赖项
~12–26MB
~379K SLoC