minecraft_command_types/command/
experience.rs1use 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}