1use azalea_registry_macros::registry;
6
7use crate::Registry;
8
9registry! {
10enum WolfVariant {
11 Pale => "minecraft:wolf",
12 Spotted => "minecraft:wolf_spotted",
13 Snowy => "minecraft:wolf_snowy",
14 Black => "minecraft:wolf_black",
15 Ashen => "minecraft:wolf_ashen",
16 Rusty => "minecraft:wolf_rusty",
17 Woods => "minecraft:wolf_woods",
18 Chestnut => "minecraft:wolf_chestnut",
19 Striped => "minecraft:wolf_striped",
20}
21}
22
23#[allow(clippy::derivable_impls)]
24impl Default for WolfVariant {
25 fn default() -> Self {
26 WolfVariant::Pale
27 }
28}
29
30registry! {
31enum TrimMaterial {
32 Quartz => "minecraft:quartz",
33 Iron => "minecraft:iron",
34 Netherite => "minecraft:netherite",
35 Redstone => "minecraft:redstone",
36 Copper => "minecraft:copper",
37 Gold => "minecraft:gold",
38 Emerald => "minecraft:emerald",
39 Diamond => "minecraft:diamond",
40 Lapis => "minecraft:lapis",
41 Amethyst => "minecraft:amethyst",
42}
43}
44
45registry! {
46enum TrimPattern {
47 Sentry => "sentry",
48 Dune => "dune",
49 Coast => "coast",
50 Wild => "wild",
51 Ward => "ward",
52 Eye => "eye",
53 Vex => "vex",
54 Tide => "tide",
55 Snout => "snout",
56 Rib => "rib",
57 Spire => "spire",
58 Wayfinder => "wayfinder",
59 Shaper => "shaper",
60 Silence => "silence",
61 Raiser => "raiser",
62 Host => "host",
63 Flow => "flow",
64 Bolt => "bolt",
65}
66}
67
68registry! {
69enum JukeboxSong {
70 Thirteen => "13",
71 Cat => "cat",
72 Blocks => "blocks",
73 Chirp => "chirp",
74 Far => "far",
75 Mall => "mall",
76 Mellohi => "mellohi",
77 Stal => "stal",
78 Strad => "strad",
79 Ward => "ward",
80 Eleven => "11",
81 Wait => "wait",
82 Pigstep => "pigstep",
83 Otherside => "otherside",
84 Five => "5",
85 Relic => "relic",
86 Precipice => "precipice",
87 Creator => "creator",
88 CreatorMusicBox => "creator_music_box",
89}
90}
91
92registry! {
93enum ChatType {
94 Chat => "chat",
95 SayCommand => "say_command",
96 MsgCommandIncoming => "msg_command_incoming",
97 MsgCommandOutgoing => "msg_command_outgoing",
98 TeamMsgCommandIncoming => "team_msg_command_incoming",
99 TeamMsgCommandOutgoing => "team_msg_command_outgoing",
100 EmoteCommand => "emote_command",
101}
102}
103impl ChatType {
104 #[must_use]
105 pub fn chat_translation_key(self) -> &'static str {
106 match self {
107 ChatType::Chat => "chat.type.text",
108 ChatType::SayCommand => "chat.type.announcement",
109 ChatType::MsgCommandIncoming => "commands.message.display.incoming",
110 ChatType::MsgCommandOutgoing => "commands.message.display.outgoing",
111 ChatType::TeamMsgCommandIncoming => "chat.type.team.text",
112 ChatType::TeamMsgCommandOutgoing => "chat.type.team.sent",
113 ChatType::EmoteCommand => "chat.type.emote",
114 }
115 }
116
117 #[must_use]
118 pub fn narrator_translation_key(self) -> &'static str {
119 match self {
120 ChatType::EmoteCommand => "chat.type.emote",
121 _ => "chat.type.text.narrate",
122 }
123 }
124}
125
126registry! {
127enum Instrument {
128 PonderGoatHorn => "minecraft:ponder_goat_horn",
129 SingGoatHorn => "minecraft:sing_goat_horn",
130 SeekGoatHorn => "minecraft:seek_goat_horn",
131 FeelGoatHorn => "minecraft:feel_goat_horn",
132 AdmireGoatHorn => "minecraft:admire_goat_horn",
133 CallGoatHorn => "minecraft:call_goat_horn",
134 YearnGoatHorn => "minecraft:yearn_goat_horn",
135 DreamGoatHorn => "minecraft:dream_goat_horn",
136}
137}
138
139registry! {
140enum PaintingVariant {
141 Kebab => "minecraft:kebab",
142 Aztec => "minecraft:aztec",
143 Alban => "minecraft:alban",
144 Aztec2 => "minecraft:aztec2",
145 Bomb => "minecraft:bomb",
146 Plant => "minecraft:plant",
147 Wasteland => "minecraft:wasteland",
148 Pool => "minecraft:pool",
149 Courbet => "minecraft:courbet",
150 Sea => "minecraft:sea",
151 Sunset => "minecraft:sunset",
152 Creebet => "minecraft:creebet",
153 Wanderer => "minecraft:wanderer",
154 Graham => "minecraft:graham",
155 Match => "minecraft:match",
156 Bust => "minecraft:bust",
157 Stage => "minecraft:stage",
158 Void => "minecraft:void",
159 SkullAndRoses => "minecraft:skull_and_roses",
160 Wither => "minecraft:wither",
161 Fighters => "minecraft:fighters",
162 Pointer => "minecraft:pointer",
163 Pigscene => "minecraft:pigscene",
164 BurningSkull => "minecraft:burning_skull",
165 Skeleton => "minecraft:skeleton",
166 Earth => "minecraft:earth",
167 Wind => "minecraft:wind",
168 Water => "minecraft:water",
169 Fire => "minecraft:fire",
170 DonkeyKong => "minecraft:donkey_kong",
171}
172}