minecraft_command_types/command/
experience.rs

1use crate::command::enums::experience_type::ExperienceType;
2use crate::entity_selector::EntitySelector;
3use minecraft_command_types_derive::HasMacro;
4use std::fmt::{Display, Formatter};
5
6#[derive(Debug, Clone, Eq, PartialEq, Hash, HasMacro)]
7pub enum ExperienceCommand {
8    Add(EntitySelector, i32, ExperienceType),
9    Set(EntitySelector, i32, ExperienceType),
10    Query(EntitySelector, ExperienceType),
11}
12
13impl Display for ExperienceCommand {
14    fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
15        match self {
16            ExperienceCommand::Add(selector, amount, experience_type) => {
17                write!(f, "add {} {} {}", selector, amount, experience_type)
18            }
19            ExperienceCommand::Set(selector, amount, experience_type) => {
20                write!(f, "set {} {} {}", selector, amount, experience_type)
21            }
22            ExperienceCommand::Query(selector, experience_type) => {
23                write!(f, "query {} {}", selector, experience_type)
24            }
25        }
26    }
27}