azalea_core/
objectives.rs

1use std::{
2    fmt::{self, Display, Formatter},
3    str::FromStr,
4};
5
6use azalea_buf::AzBuf;
7
8#[derive(Clone, Copy, Debug, AzBuf)]
9pub enum ObjectiveCriteria {
10    Integer,
11    Hearts,
12}
13
14impl Display for ObjectiveCriteria {
15    fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
16        match self {
17            ObjectiveCriteria::Integer => write!(f, "integer"),
18            ObjectiveCriteria::Hearts => write!(f, "hearts"),
19        }
20    }
21}
22
23impl FromStr for ObjectiveCriteria {
24    type Err = ();
25
26    fn from_str(s: &str) -> Result<Self, Self::Err> {
27        match s {
28            "integer" => Ok(ObjectiveCriteria::Integer),
29            "hearts" => Ok(ObjectiveCriteria::Hearts),
30            _ => Err(()),
31        }
32    }
33}