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