Skip to main content

steel_registry/
lib.rs

1#![feature(const_trait_impl, const_cmp, derive_const)]
2#![expect(
3    missing_docs,
4    reason = "registry APIs mirror large generated vanilla data surfaces that are not individually documented yet"
5)]
6#![expect(
7    clippy::absolute_paths,
8    clippy::allow_attributes_without_reason,
9    clippy::fn_params_excessive_bools,
10    clippy::items_after_statements,
11    clippy::match_same_arms,
12    clippy::missing_fields_in_debug,
13    clippy::missing_panics_doc,
14    clippy::return_self_not_must_use,
15    clippy::too_many_lines,
16    clippy::trivially_copy_pass_by_ref,
17    clippy::unreadable_literal,
18    clippy::unused_self,
19    reason = "registry model code mirrors vanilla/generated data and keeps existing panic-heavy registry invariants"
20)]
21pub mod attribute;
22pub mod banner_pattern;
23pub mod biome;
24pub mod block_entity_type;
25pub mod block_transformer;
26pub mod blocks;
27pub mod carver;
28pub mod cat_sound_variant;
29pub mod cat_variant;
30pub mod chat_type;
31pub mod chicken_sound_variant;
32pub mod chicken_variant;
33pub mod consume_effect;
34pub mod cow_sound_variant;
35pub mod cow_variant;
36pub mod damage_type;
37pub mod data_component_predicate;
38pub mod data_components;
39pub mod decorated_pot_pattern;
40pub mod dialog;
41pub mod dimension_type;
42pub mod dye_color;
43pub mod enchantment;
44pub use enchantment::effect as enchantment_effect;
45pub mod entity_data;
46pub mod entity_type;
47pub mod entity_variant;
48pub mod equipment;
49pub mod feature;
50pub mod fluid;
51pub mod frog_variant;
52pub mod game_events;
53pub mod game_profile;
54pub mod game_rules;
55pub mod instrument;
56pub mod item_predicate;
57pub mod item_stack;
58pub mod item_stack_template;
59pub mod items;
60pub mod jukebox_song;
61pub mod loot_table;
62mod macros;
63pub mod map_decoration_type;
64pub mod menu_type;
65pub mod mob_effect;
66pub use mob_effect::instance as mob_effect_instance;
67pub mod painting_variant;
68pub mod particle_type;
69pub mod pig_sound_variant;
70pub mod pig_variant;
71pub mod poi;
72pub mod position_source;
73pub mod potion;
74pub mod recipe;
75pub mod registry;
76pub use registry::holder;
77pub use registry::holder_set;
78pub use registry::reference as registry_reference;
79pub use registry::*;
80pub mod resolvable_profile;
81pub mod sound_event;
82pub mod stat;
83pub mod steel_ticket_types;
84pub mod structure;
85pub use structure::processor as structure_processor;
86pub use structure::set as structure_set;
87pub use structure::template_pool;
88pub mod advancement;
89pub mod ticket_type;
90pub mod timeline;
91pub mod trim_material;
92pub mod trim_pattern;
93pub mod vanilla_ticket_types;
94pub mod villager_profession;
95pub mod villager_type;
96pub mod wolf_sound_variant;
97pub mod wolf_variant;
98pub mod world_clock;
99pub mod zombie_nautilus_variant;
100
101pub use consume_effect::{ConsumeEffectData, ConsumeEffectType, ConsumeEffectTypeRef};
102pub use dye_color::DyeColor;
103pub use entity_variant::{
104    AxolotlVariant, FoxVariant, HorseVariant, LlamaVariant, MooshroomVariant, ParrotVariant,
105    RabbitVariant, SalmonVariant, TropicalFishBase, TropicalFishPattern,
106};
107pub use game_profile::{GameProfile, ProfileProperty};
108pub use item_stack_template::ItemStackTemplate;
109pub use mob_effect_instance::{MobEffectInstance, MobEffectInstanceDetails};
110pub use potion::{Potion, PotionEffect, PotionRef};
111pub use resolvable_profile::{
112    PartialProfile, PlayerModelType, PlayerSkinPatch, ResolvableProfile, ResolvableProfileContents,
113};
114
115#[expect(warnings)]
116#[rustfmt::skip]
117#[path = "generated/vanilla_attributes.rs"]
118pub mod vanilla_attributes;
119
120#[expect(warnings)]
121#[rustfmt::skip]
122#[path = "generated/vanilla_blocks.rs"]
123pub mod vanilla_blocks;
124
125#[expect(warnings)]
126#[rustfmt::skip]
127#[path = "generated/vanilla_block_tags.rs"]
128pub mod vanilla_block_tags;
129
130#[expect(warnings)]
131#[rustfmt::skip]
132#[path = "generated/vanilla_banner_patterns.rs"]
133pub mod vanilla_banner_patterns;
134
135#[expect(warnings)]
136#[rustfmt::skip]
137#[path = "generated/vanilla_items.rs"]
138pub mod vanilla_items;
139
140#[expect(warnings)]
141#[rustfmt::skip]
142#[path = "generated/vanilla_item_tags.rs"]
143pub mod vanilla_item_tags;
144
145#[expect(warnings)]
146#[rustfmt::skip]
147#[path = "generated/vanilla_biomes.rs"]
148pub mod vanilla_biomes;
149
150#[expect(warnings)]
151#[rustfmt::skip]
152#[path = "generated/vanilla_biome_tags.rs"]
153pub mod vanilla_biome_tags;
154
155#[expect(warnings)]
156#[rustfmt::skip]
157#[path = "generated/vanilla_chat_types.rs"]
158pub mod vanilla_chat_types;
159
160#[expect(warnings)]
161#[rustfmt::skip]
162#[path = "generated/vanilla_trim_patterns.rs"]
163pub mod vanilla_trim_patterns;
164
165#[expect(warnings)]
166#[rustfmt::skip]
167#[path = "generated/vanilla_trim_materials.rs"]
168pub mod vanilla_trim_materials;
169
170#[expect(warnings)]
171#[rustfmt::skip]
172#[path = "generated/vanilla_decorated_pot_patterns.rs"]
173pub mod vanilla_decorated_pot_patterns;
174
175#[expect(warnings)]
176#[rustfmt::skip]
177#[path = "generated/vanilla_wolf_variants.rs"]
178pub mod vanilla_wolf_variants;
179
180#[expect(warnings)]
181#[rustfmt::skip]
182#[path = "generated/vanilla_wolf_sound_variants.rs"]
183pub mod vanilla_wolf_sound_variants;
184
185#[expect(warnings)]
186#[rustfmt::skip]
187#[path = "generated/vanilla_pig_variants.rs"]
188pub mod vanilla_pig_variants;
189
190#[expect(warnings)]
191#[rustfmt::skip]
192#[path = "generated/vanilla_pig_sound_variants.rs"]
193pub mod vanilla_pig_sound_variants;
194
195#[allow(warnings)]
196#[rustfmt::skip]
197#[path = "generated/vanilla_chicken_sound_variants.rs"]
198pub mod vanilla_chicken_sound_variants;
199
200#[allow(warnings)]
201#[rustfmt::skip]
202#[path = "generated/vanilla_cat_sound_variants.rs"]
203pub mod vanilla_cat_sound_variants;
204
205#[allow(warnings)]
206#[rustfmt::skip]
207#[path = "generated/vanilla_cow_sound_variants.rs"]
208pub mod vanilla_cow_sound_variants;
209
210#[allow(warnings)]
211#[rustfmt::skip]
212#[path = "generated/vanilla_frog_variants.rs"]
213pub mod vanilla_frog_variants;
214
215#[expect(warnings)]
216#[rustfmt::skip]
217#[path = "generated/vanilla_cat_variants.rs"]
218pub mod vanilla_cat_variants;
219
220#[expect(warnings)]
221#[rustfmt::skip]
222#[path = "generated/vanilla_cow_variants.rs"]
223pub mod vanilla_cow_variants;
224
225#[expect(warnings)]
226#[rustfmt::skip]
227#[path = "generated/vanilla_chicken_variants.rs"]
228pub mod vanilla_chicken_variants;
229
230#[expect(warnings)]
231#[rustfmt::skip]
232#[path = "generated/vanilla_painting_variants.rs"]
233pub mod vanilla_painting_variants;
234
235#[expect(warnings)]
236#[rustfmt::skip]
237#[path = "generated/vanilla_particle_types.rs"]
238pub mod vanilla_particle_types;
239
240#[expect(warnings)]
241#[rustfmt::skip]
242#[path = "generated/vanilla_position_source_types.rs"]
243pub mod vanilla_position_source_types;
244
245#[expect(warnings)]
246#[rustfmt::skip]
247#[path = "generated/vanilla_villager_types.rs"]
248pub mod vanilla_villager_types;
249
250#[expect(warnings)]
251#[rustfmt::skip]
252#[path = "generated/vanilla_villager_professions.rs"]
253pub mod vanilla_villager_professions;
254
255#[expect(warnings)]
256#[rustfmt::skip]
257#[path = "generated/vanilla_dimension_types.rs"]
258pub mod vanilla_dimension_types;
259
260#[expect(warnings)]
261#[rustfmt::skip]
262#[path = "generated/vanilla_damage_types.rs"]
263pub mod vanilla_damage_types;
264
265#[expect(warnings)]
266#[rustfmt::skip]
267#[path = "generated/vanilla_block_transformers.rs"]
268pub mod vanilla_block_transformers;
269
270#[expect(warnings)]
271#[rustfmt::skip]
272#[path = "generated/vanilla_damage_type_tags.rs"]
273pub mod vanilla_damage_type_tags;
274
275#[expect(warnings)]
276#[rustfmt::skip]
277#[path = "generated/vanilla_jukebox_songs.rs"]
278pub mod vanilla_jukebox_songs;
279
280#[expect(warnings)]
281#[rustfmt::skip]
282#[path = "generated/vanilla_instruments.rs"]
283pub mod vanilla_instruments;
284
285#[expect(warnings)]
286#[rustfmt::skip]
287#[path = "generated/vanilla_dialogs.rs"]
288pub mod vanilla_dialogs;
289
290#[expect(warnings)]
291#[rustfmt::skip]
292#[path = "generated/vanilla_dialog_tags.rs"]
293pub mod vanilla_dialog_tags;
294
295#[expect(warnings)]
296#[rustfmt::skip]
297#[path = "generated/vanilla_menu_types.rs"]
298pub mod vanilla_menu_types;
299
300#[expect(warnings)]
301#[rustfmt::skip]
302#[path = "generated/vanilla_mob_effects.rs"]
303pub mod vanilla_mob_effects;
304
305#[expect(warnings)]
306#[rustfmt::skip]
307#[path = "generated/vanilla_map_decoration_types.rs"]
308pub mod vanilla_map_decoration_types;
309
310#[expect(warnings)]
311#[rustfmt::skip]
312#[path = "generated/vanilla_potions.rs"]
313pub mod vanilla_potions;
314
315#[expect(warnings)]
316#[rustfmt::skip]
317#[path = "generated/vanilla_zombie_nautilus_variants.rs"]
318pub mod vanilla_zombie_nautilus_variants;
319
320#[expect(warnings)]
321#[rustfmt::skip]
322#[path = "generated/vanilla_timelines.rs"]
323pub mod vanilla_timelines;
324
325#[expect(warnings)]
326#[rustfmt::skip]
327#[path = "generated/vanilla_timeline_tags.rs"]
328pub mod vanilla_timeline_tags;
329
330#[expect(warnings)]
331#[rustfmt::skip]
332#[path = "generated/vanilla_recipes.rs"]
333pub mod vanilla_recipes;
334
335#[expect(warnings)]
336#[rustfmt::skip]
337#[path = "generated/vanilla_entities.rs"]
338pub mod vanilla_entities;
339
340#[expect(warnings)]
341#[rustfmt::skip]
342#[path = "generated/vanilla_entity_data.rs"]
343pub mod vanilla_entity_data;
344
345#[expect(warnings)]
346#[rustfmt::skip]
347#[path = "generated/vanilla_fluids.rs"]
348pub mod vanilla_fluids;
349
350#[expect(warnings)]
351#[rustfmt::skip]
352#[path = "generated/vanilla_poi_types.rs"]
353pub mod vanilla_poi_types;
354
355#[expect(warnings)]
356#[rustfmt::skip]
357#[path = "generated/vanilla_banner_pattern_tags.rs"]
358pub mod vanilla_banner_pattern_tags;
359
360#[expect(warnings)]
361#[rustfmt::skip]
362#[path = "generated/vanilla_entity_type_tags.rs"]
363pub mod vanilla_entity_type_tags;
364
365#[expect(warnings)]
366#[rustfmt::skip]
367#[path = "generated/vanilla_enchantment_tags.rs"]
368pub mod vanilla_enchantment_tags;
369
370#[expect(warnings)]
371#[rustfmt::skip]
372#[path = "generated/vanilla_potion_tags.rs"]
373pub mod vanilla_potion_tags;
374#[expect(warnings)]
375#[rustfmt::skip]
376#[path = "generated/vanilla_enchantments.rs"]
377pub mod vanilla_enchantments;
378
379#[allow(warnings)]
380#[rustfmt::skip]
381#[path = "generated/vanilla_instrument_tags.rs"]
382pub mod vanilla_instrument_tags;
383
384#[expect(warnings)]
385#[rustfmt::skip]
386#[path = "generated/vanilla_painting_variant_tags.rs"]
387pub mod vanilla_painting_variant_tags;
388
389#[expect(warnings)]
390#[rustfmt::skip]
391#[path = "generated/vanilla_poi_type_tags.rs"]
392pub mod vanilla_poi_type_tags;
393
394#[expect(warnings)]
395#[rustfmt::skip]
396#[path = "generated/vanilla_fluid_tags.rs"]
397pub mod vanilla_fluid_tags;
398
399#[expect(warnings)]
400#[rustfmt::skip]
401#[path = "generated/vanilla_loot_tables.rs"]
402pub mod vanilla_loot_tables;
403
404#[expect(warnings)]
405#[rustfmt::skip]
406#[path = "generated/vanilla_block_entity_types.rs"]
407pub mod vanilla_block_entity_types;
408
409#[expect(warnings)]
410#[rustfmt::skip]
411#[path = "generated/vanilla_game_rules.rs"]
412pub mod vanilla_game_rules;
413
414#[expect(warnings)]
415#[rustfmt::skip]
416#[path = "generated/vanilla_game_events.rs"]
417pub mod vanilla_game_events;
418
419#[expect(warnings)]
420#[rustfmt::skip]
421#[path = "generated/vanilla_level_events.rs"]
422pub mod level_events;
423
424#[expect(warnings)]
425#[rustfmt::skip]
426#[path = "generated/vanilla_sound_events.rs"]
427pub mod sound_events;
428
429#[expect(warnings)]
430#[rustfmt::skip]
431#[path = "generated/vanilla_sound_types.rs"]
432pub mod sound_types;
433
434#[expect(warnings)]
435#[rustfmt::skip]
436#[path = "generated/vanilla_structures.rs"]
437pub mod vanilla_structures;
438
439#[expect(warnings)]
440#[rustfmt::skip]
441#[path = "generated/vanilla_structure_tags.rs"]
442pub mod vanilla_structure_tags;
443
444#[expect(warnings)]
445#[rustfmt::skip]
446#[path = "generated/vanilla_structure_sets.rs"]
447pub mod vanilla_structure_sets;
448
449#[expect(warnings)]
450#[rustfmt::skip]
451#[path = "generated/vanilla_structure_processors.rs"]
452pub mod vanilla_structure_processors;
453
454#[expect(
455    clippy::doc_markdown,
456    clippy::must_use_candidate,
457    reason = "generated vanilla template pool data is emitted by the registry build script"
458)]
459#[rustfmt::skip]
460#[path = "generated/vanilla_template_pools.rs"]
461pub mod vanilla_template_pools;
462
463#[allow(warnings)]
464#[rustfmt::skip]
465#[path = "generated/vanilla_packets.rs"]
466pub mod packets;
467
468#[allow(warnings)]
469#[rustfmt::skip]
470#[path = "generated/vanilla_world_clocks.rs"]
471pub mod vanilla_world_clocks;
472pub mod shared_structs;
473
474#[expect(warnings)]
475#[rustfmt::skip]
476#[path = "generated/vanilla_configured_carvers.rs"]
477pub mod vanilla_configured_carvers;
478
479#[expect(warnings)]
480#[rustfmt::skip]
481#[path = "generated/vanilla_configured_features.rs"]
482pub mod vanilla_configured_features;
483
484#[expect(warnings)]
485#[rustfmt::skip]
486#[path = "generated/vanilla_placed_features.rs"]
487pub mod vanilla_placed_features;
488
489#[expect(warnings)]
490#[rustfmt::skip]
491#[path = "generated/vanilla_block_state_providers.rs"]
492pub mod vanilla_block_state_providers;
493
494#[expect(warnings)]
495#[rustfmt::skip]
496#[path = "generated/vanilla_custom_stats.rs"]
497pub mod vanilla_custom_stats;
498
499#[expect(warnings)]
500#[rustfmt::skip]
501#[path = "generated/vanilla_suspicious_stew_effects.rs"]
502pub mod vanilla_suspicious_stew_effects;
503
504#[expect(warnings)]
505#[rustfmt::skip]
506#[path = "generated/vanilla_advancements.rs"]
507pub mod vanilla_advancements;