Skip to main content

steel_registry/data_component_predicate/
vanilla.rs

1use super::{
2    AttributeModifiersPredicate, BundlePredicate, ContainerPredicate, CustomDataPredicate,
3    DamagePredicate, DataComponentPredicateType, DataComponentPredicateTypeRegistry,
4    EnchantmentsPredicate, FireworkExplosionPredicate, FireworksPredicate,
5    JukeboxPlayablePredicate, PotionsPredicate, StoredEnchantmentsPredicate, TrimPredicate,
6    VillagerTypePredicate, WritableBookPredicate, WrittenBookPredicate,
7};
8
9/// Vanilla component-predicate types in protocol registry order.
10pub mod vanilla_data_component_predicate_types {
11    use super::{
12        AttributeModifiersPredicate, BundlePredicate, ContainerPredicate, CustomDataPredicate,
13        DamagePredicate, DataComponentPredicateType, DataComponentPredicateTypeRegistry,
14        EnchantmentsPredicate, FireworkExplosionPredicate, FireworksPredicate,
15        JukeboxPlayablePredicate, PotionsPredicate, StoredEnchantmentsPredicate, TrimPredicate,
16        VillagerTypePredicate, WritableBookPredicate, WrittenBookPredicate,
17    };
18    use steel_utils::Identifier;
19
20    pub static DAMAGE: DataComponentPredicateType =
21        DataComponentPredicateType::of::<DamagePredicate>(Identifier::vanilla_static("damage"));
22    pub static ENCHANTMENTS: DataComponentPredicateType =
23        DataComponentPredicateType::of::<EnchantmentsPredicate>(Identifier::vanilla_static(
24            "enchantments",
25        ));
26    pub static STORED_ENCHANTMENTS: DataComponentPredicateType =
27        DataComponentPredicateType::of::<StoredEnchantmentsPredicate>(Identifier::vanilla_static(
28            "stored_enchantments",
29        ));
30    pub static POTION_CONTENTS: DataComponentPredicateType =
31        DataComponentPredicateType::of::<PotionsPredicate>(Identifier::vanilla_static(
32            "potion_contents",
33        ));
34    pub static CUSTOM_DATA: DataComponentPredicateType =
35        DataComponentPredicateType::of::<CustomDataPredicate>(Identifier::vanilla_static(
36            "custom_data",
37        ));
38    pub static CONTAINER: DataComponentPredicateType =
39        DataComponentPredicateType::of::<ContainerPredicate>(Identifier::vanilla_static(
40            "container",
41        ));
42    pub static BUNDLE_CONTENTS: DataComponentPredicateType =
43        DataComponentPredicateType::of::<BundlePredicate>(Identifier::vanilla_static(
44            "bundle_contents",
45        ));
46    pub static FIREWORK_EXPLOSION: DataComponentPredicateType =
47        DataComponentPredicateType::of::<FireworkExplosionPredicate>(Identifier::vanilla_static(
48            "firework_explosion",
49        ));
50    pub static FIREWORKS: DataComponentPredicateType =
51        DataComponentPredicateType::of::<FireworksPredicate>(Identifier::vanilla_static(
52            "fireworks",
53        ));
54    pub static WRITABLE_BOOK_CONTENT: DataComponentPredicateType =
55        DataComponentPredicateType::of::<WritableBookPredicate>(Identifier::vanilla_static(
56            "writable_book_content",
57        ));
58    pub static WRITTEN_BOOK_CONTENT: DataComponentPredicateType =
59        DataComponentPredicateType::of::<WrittenBookPredicate>(Identifier::vanilla_static(
60            "written_book_content",
61        ));
62    pub static ATTRIBUTE_MODIFIERS: DataComponentPredicateType =
63        DataComponentPredicateType::of::<AttributeModifiersPredicate>(Identifier::vanilla_static(
64            "attribute_modifiers",
65        ));
66    pub static TRIM: DataComponentPredicateType =
67        DataComponentPredicateType::of::<TrimPredicate>(Identifier::vanilla_static("trim"));
68    pub static JUKEBOX_PLAYABLE: DataComponentPredicateType =
69        DataComponentPredicateType::of::<JukeboxPlayablePredicate>(Identifier::vanilla_static(
70            "jukebox_playable",
71        ));
72    pub static VILLAGER_VARIANT: DataComponentPredicateType =
73        DataComponentPredicateType::of::<VillagerTypePredicate>(Identifier::vanilla_static(
74            "villager/variant",
75        ));
76
77    pub fn register_data_component_predicate_types(
78        registry: &mut DataComponentPredicateTypeRegistry,
79    ) {
80        registry.register(&DAMAGE);
81        registry.register(&ENCHANTMENTS);
82        registry.register(&STORED_ENCHANTMENTS);
83        registry.register(&POTION_CONTENTS);
84        registry.register(&CUSTOM_DATA);
85        registry.register(&CONTAINER);
86        registry.register(&BUNDLE_CONTENTS);
87        registry.register(&FIREWORK_EXPLOSION);
88        registry.register(&FIREWORKS);
89        registry.register(&WRITABLE_BOOK_CONTENT);
90        registry.register(&WRITTEN_BOOK_CONTENT);
91        registry.register(&ATTRIBUTE_MODIFIERS);
92        registry.register(&TRIM);
93        registry.register(&JUKEBOX_PLAYABLE);
94        registry.register(&VILLAGER_VARIANT);
95    }
96}