minecraft_command_types/command/
title.rs

1use crate::command::enums::title_type::TitleType;
2use crate::snbt::SNBT;
3use crate::time::Time;
4use minecraft_command_types_derive::HasMacro;
5use std::fmt::{Display, Formatter};
6
7#[derive(Debug, Clone, Eq, PartialEq, Hash, HasMacro)]
8pub enum TitleCommand {
9    Clear,
10    Reset,
11    Title(TitleType, SNBT),
12    Times(Time, Time, Time),
13}
14
15impl Display for TitleCommand {
16    fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
17        match self {
18            TitleCommand::Clear => f.write_str("clear"),
19            TitleCommand::Reset => f.write_str("reset"),
20            TitleCommand::Title(type_, title) => write!(f, "{} {}", type_, title),
21            TitleCommand::Times(fade_in, stay, fade_out) => {
22                write!(f, "times {} {} {}", fade_in, stay, fade_out)
23            }
24        }
25    }
26}