1use azalea_registry_macros::registry;
6
7use crate::Registry;
8
9registry! {
10#[derive(Default)]
11enum FoxVariant {
12 #[default]
13 Red => "minecraft:red",
14 Snow => "minecraft:snow",
15}
16}
17
18registry! {
19enum ParrotVariant {
20 RedBlue => "minecraft:red_blue",
21 Blue => "minecraft:blue",
22 Green => "minecraft:green",
23 YellowBlue => "minecraft:yellow_blue",
24 Gray => "minecraft:gray",
25}
26}
27
28registry! {
29#[derive(Default)]
30enum MooshroomVariant {
31 #[default]
32 Red => "minecraft:red",
33 Brown => "minecraft:brown",
34}
35}
36
37registry! {
38#[derive(Default)]
39enum RabbitVariant {
40 #[default]
41 Brown => "minecraft:brown",
42 White => "minecraft:white",
43 Black => "minecraft:black",
44 WhiteSplotched => "minecraft:white_splotched",
45 Gold => "minecraft:gold",
46 Salt => "minecraft:salt",
47 Evil => "minecraft:evil",
48}
49}
50
51registry! {
52#[derive(Default)]
53enum HorseVariant {
54 #[default]
55 White => "minecraft:white",
56 Creamy => "minecraft:creamy",
57 Chestnut => "minecraft:chestnut",
58 Brown => "minecraft:brown",
59 Black => "minecraft:black",
60 Gray => "minecraft:gray",
61 DarkBrown => "minecraft:dark_brown",
62}
63}
64
65registry! {
66#[derive(Default)]
67enum LlamaVariant {
68 #[default]
69 Creamy => "minecraft:creamy",
70 White => "minecraft:white",
71 Brown => "minecraft:brown",
72 Gray => "minecraft:gray",
73}
74}
75
76registry! {
77#[derive(Default)]
78enum AxolotlVariant {
79 #[default]
80 Lucy => "minecraft:lucy",
81 Wild => "minecraft:wild",
82 Gold => "minecraft:gold",
83 Cyan => "minecraft:cyan",
84 Blue => "minecraft:blue",
85}
86}
87
88registry! {
89enum TrimMaterial {
90 Quartz => "minecraft:quartz",
91 Iron => "minecraft:iron",
92 Netherite => "minecraft:netherite",
93 Redstone => "minecraft:redstone",
94 Copper => "minecraft:copper",
95 Gold => "minecraft:gold",
96 Emerald => "minecraft:emerald",
97 Diamond => "minecraft:diamond",
98 Lapis => "minecraft:lapis",
99 Amethyst => "minecraft:amethyst",
100}
101}
102
103registry! {
104enum TrimPattern {
105 Sentry => "sentry",
106 Dune => "dune",
107 Coast => "coast",
108 Wild => "wild",
109 Ward => "ward",
110 Eye => "eye",
111 Vex => "vex",
112 Tide => "tide",
113 Snout => "snout",
114 Rib => "rib",
115 Spire => "spire",
116 Wayfinder => "wayfinder",
117 Shaper => "shaper",
118 Silence => "silence",
119 Raiser => "raiser",
120 Host => "host",
121 Flow => "flow",
122 Bolt => "bolt",
123}
124}
125
126registry! {
127enum JukeboxSong {
128 Thirteen => "13",
129 Cat => "cat",
130 Blocks => "blocks",
131 Chirp => "chirp",
132 Far => "far",
133 Mall => "mall",
134 Mellohi => "mellohi",
135 Stal => "stal",
136 Strad => "strad",
137 Ward => "ward",
138 Eleven => "11",
139 Wait => "wait",
140 Pigstep => "pigstep",
141 Otherside => "otherside",
142 Five => "5",
143 Relic => "relic",
144 Precipice => "precipice",
145 Creator => "creator",
146 CreatorMusicBox => "creator_music_box",
147}
148}
149
150registry! {
151enum ChatType {
152 Chat => "chat",
153 SayCommand => "say_command",
154 MsgCommandIncoming => "msg_command_incoming",
155 MsgCommandOutgoing => "msg_command_outgoing",
156 TeamMsgCommandIncoming => "team_msg_command_incoming",
157 TeamMsgCommandOutgoing => "team_msg_command_outgoing",
158 EmoteCommand => "emote_command",
159}
160}
161impl ChatType {
162 #[must_use]
163 pub fn chat_translation_key(self) -> &'static str {
164 match self {
165 ChatType::Chat => "chat.type.text",
166 ChatType::SayCommand => "chat.type.announcement",
167 ChatType::MsgCommandIncoming => "commands.message.display.incoming",
168 ChatType::MsgCommandOutgoing => "commands.message.display.outgoing",
169 ChatType::TeamMsgCommandIncoming => "chat.type.team.text",
170 ChatType::TeamMsgCommandOutgoing => "chat.type.team.sent",
171 ChatType::EmoteCommand => "chat.type.emote",
172 }
173 }
174
175 #[must_use]
176 pub fn narrator_translation_key(self) -> &'static str {
177 match self {
178 ChatType::EmoteCommand => "chat.type.emote",
179 _ => "chat.type.text.narrate",
180 }
181 }
182}
183
184registry! {
185enum Instrument {
186 PonderGoatHorn => "minecraft:ponder_goat_horn",
187 SingGoatHorn => "minecraft:sing_goat_horn",
188 SeekGoatHorn => "minecraft:seek_goat_horn",
189 FeelGoatHorn => "minecraft:feel_goat_horn",
190 AdmireGoatHorn => "minecraft:admire_goat_horn",
191 CallGoatHorn => "minecraft:call_goat_horn",
192 YearnGoatHorn => "minecraft:yearn_goat_horn",
193 DreamGoatHorn => "minecraft:dream_goat_horn",
194}
195}