Clean up and follow clippy reccomendations

This commit is contained in:
Jeff 2024-07-08 14:38:23 -04:00
parent 135dc0b19e
commit 5ebf582538
2 changed files with 18 additions and 35 deletions

View File

@ -40,7 +40,7 @@ pub struct Bot {
impl Bot { impl Bot {
pub fn new( pub fn new(
username: String, username: &str,
password: &str, password: &str,
buy_prices: HashMap<String, u32>, buy_prices: HashMap<String, u32>,
sell_prices: HashMap<String, u32>, sell_prices: HashMap<String, u32>,
@ -49,7 +49,7 @@ impl Bot {
) -> Result<Self, String> { ) -> Result<Self, String> {
log::info!("Connecting to veloren"); log::info!("Connecting to veloren");
let client = connect_to_veloren(&username, password)?; let client = connect_to_veloren(username, password)?;
let clock = Clock::new(Duration::from_secs_f64(1.0 / 60.0)); let clock = Clock::new(Duration::from_secs_f64(1.0 / 60.0));
Ok(Bot { Ok(Bot {
@ -244,7 +244,7 @@ impl Bot {
their_offer their_offer
.into_iter() .into_iter()
.fold(0, |acc: i32, (slot_id, quantity)| { .fold(0, |acc: i32, (slot_id, quantity)| {
if let Some(item) = their_inventory.get(slot_id.clone()) { if let Some(item) = their_inventory.get(*slot_id) {
let item_id = item.persistence_item_id(); let item_id = item.persistence_item_id();
let item_value = if item_id == COINS { let item_value = if item_id == COINS {
@ -272,7 +272,7 @@ impl Bot {
my_offer my_offer
.into_iter() .into_iter()
.fold(0, |acc: i32, (slot_id, quantity)| { .fold(0, |acc: i32, (slot_id, quantity)| {
if let Some(item) = my_inventory.get(slot_id.clone()) { if let Some(item) = my_inventory.get(*slot_id) {
let item_id = item.persistence_item_id(); let item_id = item.persistence_item_id();
let item_value = if item_id == COINS { let item_value = if item_id == COINS {
@ -300,9 +300,7 @@ impl Bot {
let mut my_items_to_remove = Vec::new(); let mut my_items_to_remove = Vec::new();
for (slot_id, amount) in my_offer { for (slot_id, amount) in my_offer {
let item = my_inventory let item = my_inventory.get(*slot_id).ok_or("Failed to get item")?;
.get(slot_id.clone())
.ok_or("Failed to get item")?;
let item_id = item.persistence_item_id(); let item_id = item.persistence_item_id();
if item_id == COINS { if item_id == COINS {
@ -310,16 +308,14 @@ impl Bot {
} }
if !self.sell_prices.contains_key(&item_id) { if !self.sell_prices.contains_key(&item_id) {
my_items_to_remove.push((slot_id.clone(), *amount)); my_items_to_remove.push((*slot_id, *amount));
} }
} }
let mut their_items_to_remove = Vec::new(); let mut their_items_to_remove = Vec::new();
for (slot_id, amount) in their_offer { for (slot_id, amount) in their_offer {
let item = their_inventory let item = their_inventory.get(*slot_id).ok_or("Failed to get item")?;
.get(slot_id.clone())
.ok_or("Failed to get item")?;
let item_id = item.persistence_item_id(); let item_id = item.persistence_item_id();
@ -328,7 +324,7 @@ impl Bot {
} }
if !self.buy_prices.contains_key(&item_id) { if !self.buy_prices.contains_key(&item_id) {
their_items_to_remove.push((slot_id.clone(), *amount)); their_items_to_remove.push((*slot_id, *amount));
} }
} }
@ -382,7 +378,7 @@ impl Bot {
return Ok(()); return Ok(());
} }
let difference: i32 = their_offered_items_value as i32 - my_offered_items_value as i32; let difference = their_offered_items_value - my_offered_items_value;
// If the trade is balanced // If the trade is balanced
if difference == 0 { if difference == 0 {
@ -415,7 +411,7 @@ impl Bot {
// Remove my coins to balance // Remove my coins to balance
self.client.perform_trade_action(TradeAction::RemoveItem { self.client.perform_trade_action(TradeAction::RemoveItem {
item: my_coins, item: my_coins,
quantity: difference.abs() as u32, quantity: difference.unsigned_abs(),
ours: true, ours: true,
}); });
// If I am not offering coins // If I am not offering coins
@ -423,7 +419,7 @@ impl Bot {
// Add their coins to balance // Add their coins to balance
self.client.perform_trade_action(TradeAction::AddItem { self.client.perform_trade_action(TradeAction::AddItem {
item: their_coins, item: their_coins,
quantity: difference.abs() as u32, quantity: difference.unsigned_abs(),
ours: false, ours: false,
}); });
} }
@ -514,11 +510,10 @@ impl Bot {
None => return Ok(()), None => return Ok(()),
} }
let entity = self.client.entity().clone(); let entity = self.client.entity();
let ecs = self.client.state_mut().ecs(); let ecs = self.client.state_mut().ecs();
let mut position_state = ecs.write_storage::<Pos>(); let mut position_state = ecs.write_storage::<Pos>();
let mut orientation_state = ecs.write_storage::<Ori>(); let mut orientation_state = ecs.write_storage::<Ori>();
let orientation = match self.orientation.to_lowercase().as_str() { let orientation = match self.orientation.to_lowercase().as_str() {
"west" => Ori::default() "west" => Ori::default()
.uprighted() .uprighted()

View File

@ -2,8 +2,8 @@ mod bot;
use std::{ use std::{
collections::HashMap, collections::HashMap,
env::var, env::{args, var},
fs::{read_to_string, write}, fs::read_to_string,
}; };
use bot::Bot; use bot::Bot;
@ -22,13 +22,6 @@ impl Secrets {
toml::from_str::<Secrets>(&config_file_content).map_err(|error| error.to_string()) toml::from_str::<Secrets>(&config_file_content).map_err(|error| error.to_string())
} }
fn _write(&self) -> Result<(), String> {
let config_path = var("SECRETS").map_err(|error| error.to_string())?;
let config_string = toml::to_string(self).map_err(|error| error.to_string())?;
write(config_path, config_string).map_err(|error| error.to_string())
}
} }
#[derive(Serialize, Deserialize)] #[derive(Serialize, Deserialize)]
@ -41,18 +34,13 @@ struct Config {
impl Config { impl Config {
fn read() -> Result<Self, String> { fn read() -> Result<Self, String> {
let config_path = var("CONFIG").map_err(|error| error.to_string())?; let config_path = args()
.nth(1)
.expect("Pass an argument specifying the config file");
let config_file_content = read_to_string(config_path).map_err(|error| error.to_string())?; let config_file_content = read_to_string(config_path).map_err(|error| error.to_string())?;
toml::from_str::<Config>(&config_file_content).map_err(|error| error.to_string()) toml::from_str::<Config>(&config_file_content).map_err(|error| error.to_string())
} }
fn _write(&self) -> Result<(), String> {
let config_path = var("CONFIG").map_err(|error| error.to_string())?;
let config_string = toml::to_string(self).map_err(|error| error.to_string())?;
write(config_path, config_string).map_err(|error| error.to_string())
}
} }
fn main() { fn main() {
@ -61,7 +49,7 @@ fn main() {
let secrets = Secrets::read().unwrap(); let secrets = Secrets::read().unwrap();
let config = Config::read().unwrap(); let config = Config::read().unwrap();
let mut bot = Bot::new( let mut bot = Bot::new(
secrets.username, &secrets.username,
&secrets.password, &secrets.password,
config.buy_prices, config.buy_prices,
config.sell_prices, config.sell_prices,