mcdex 0.1.0.dev0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. mcdex/__init__.py +281 -0
  2. mcdex/advancements/__init__.py +16 -0
  3. mcdex/advancements/_mc_advancements.py +3558 -0
  4. mcdex/advancements/advancements.json +12101 -0
  5. mcdex/attributes/__init__.py +16 -0
  6. mcdex/attributes/_mc_attributes.py +83 -0
  7. mcdex/attributes/attributes.json +289 -0
  8. mcdex/banner_patterns/__init__.py +16 -0
  9. mcdex/banner_patterns/_mc_banner_patterns.py +86 -0
  10. mcdex/banner_patterns/banner_patterns.json +310 -0
  11. mcdex/base/__init__.py +146 -0
  12. mcdex/base/_advancement_id.py +22 -0
  13. mcdex/base/_attribute_id.py +22 -0
  14. mcdex/base/_banner_pattern_id.py +26 -0
  15. mcdex/base/_biome_id.py +22 -0
  16. mcdex/base/_block_entity_id.py +22 -0
  17. mcdex/base/_block_id.py +35 -0
  18. mcdex/base/_cat_sound_variant_id.py +23 -0
  19. mcdex/base/_cat_variant_id.py +22 -0
  20. mcdex/base/_catalogue_meta.py +38 -0
  21. mcdex/base/_chicken_sound_variant_id.py +23 -0
  22. mcdex/base/_chicken_variant_id.py +23 -0
  23. mcdex/base/_cow_sound_variant_id.py +23 -0
  24. mcdex/base/_cow_variant_id.py +22 -0
  25. mcdex/base/_damage_type_id.py +21 -0
  26. mcdex/base/_dimension_id.py +21 -0
  27. mcdex/base/_effect_id.py +21 -0
  28. mcdex/base/_enchantment_id.py +22 -0
  29. mcdex/base/_entity_id.py +35 -0
  30. mcdex/base/_equipment_slot.py +34 -0
  31. mcdex/base/_frog_variant_id.py +22 -0
  32. mcdex/base/_game_id.py +88 -0
  33. mcdex/base/_game_rule_id.py +21 -0
  34. mcdex/base/_item_id.py +98 -0
  35. mcdex/base/_mc_thing.py +289 -0
  36. mcdex/base/_mc_version.py +140 -0
  37. mcdex/base/_music_id.py +25 -0
  38. mcdex/base/_not_in_version.py +68 -0
  39. mcdex/base/_painting_variant_id.py +23 -0
  40. mcdex/base/_particle_id.py +21 -0
  41. mcdex/base/_pig_sound_variant_id.py +23 -0
  42. mcdex/base/_pig_variant_id.py +22 -0
  43. mcdex/base/_potion_id.py +25 -0
  44. mcdex/base/_potion_modifier.py +30 -0
  45. mcdex/base/_sound_id.py +21 -0
  46. mcdex/base/_statistic_id.py +22 -0
  47. mcdex/base/_structure_id.py +21 -0
  48. mcdex/base/_trim_material_id.py +26 -0
  49. mcdex/base/_trim_pattern_id.py +25 -0
  50. mcdex/base/_version.py +188 -0
  51. mcdex/base/_villager_profession_id.py +24 -0
  52. mcdex/base/_villager_type_id.py +25 -0
  53. mcdex/base/_wolf_sound_variant_id.py +23 -0
  54. mcdex/base/_wolf_variant_id.py +22 -0
  55. mcdex/base/_zombie_nautilus_variant_id.py +23 -0
  56. mcdex/biomes/__init__.py +16 -0
  57. mcdex/biomes/_mc_biomes.py +137 -0
  58. mcdex/biomes/biomes.json +652 -0
  59. mcdex/block_entities/__init__.py +16 -0
  60. mcdex/block_entities/_mc_block_entities.py +95 -0
  61. mcdex/block_entities/block_entities.json +331 -0
  62. mcdex/blocks/__init__.py +16 -0
  63. mcdex/blocks/_mc_blocks.py +1338 -0
  64. mcdex/blocks/blocks.json +7770 -0
  65. mcdex/cat_sound_variants/__init__.py +16 -0
  66. mcdex/cat_sound_variants/_mc_cat_sound_variants.py +47 -0
  67. mcdex/cat_sound_variants/cat_sound_variants.json +25 -0
  68. mcdex/cat_variants/__init__.py +16 -0
  69. mcdex/cat_variants/_mc_cat_variants.py +54 -0
  70. mcdex/cat_variants/cat_variants.json +91 -0
  71. mcdex/chicken_sound_variants/__init__.py +17 -0
  72. mcdex/chicken_sound_variants/_mc_chicken_sound_variants.py +48 -0
  73. mcdex/chicken_sound_variants/chicken_sound_variants.json +24 -0
  74. mcdex/chicken_variants/__init__.py +16 -0
  75. mcdex/chicken_variants/_mc_chicken_variants.py +47 -0
  76. mcdex/chicken_variants/chicken_variants.json +30 -0
  77. mcdex/cow_sound_variants/__init__.py +16 -0
  78. mcdex/cow_sound_variants/_mc_cow_sound_variants.py +47 -0
  79. mcdex/cow_sound_variants/cow_sound_variants.json +24 -0
  80. mcdex/cow_variants/__init__.py +16 -0
  81. mcdex/cow_variants/_mc_cow_variants.py +47 -0
  82. mcdex/cow_variants/cow_variants.json +30 -0
  83. mcdex/damage_types/__init__.py +16 -0
  84. mcdex/damage_types/_mc_damage_types.py +94 -0
  85. mcdex/damage_types/damage_types.json +317 -0
  86. mcdex/dimensions/__init__.py +16 -0
  87. mcdex/dimensions/_mc_dimensions.py +46 -0
  88. mcdex/dimensions/dimensions.json +29 -0
  89. mcdex/effects/__init__.py +16 -0
  90. mcdex/effects/_mc_effects.py +83 -0
  91. mcdex/effects/effects.json +251 -0
  92. mcdex/enchantments/__init__.py +16 -0
  93. mcdex/enchantments/_mc_enchantments.py +86 -0
  94. mcdex/enchantments/enchantments.json +270 -0
  95. mcdex/entities/__init__.py +16 -0
  96. mcdex/entities/_mc_entities.py +206 -0
  97. mcdex/entities/entities.json +1042 -0
  98. mcdex/frog_variants/__init__.py +16 -0
  99. mcdex/frog_variants/_mc_frog_variants.py +47 -0
  100. mcdex/frog_variants/frog_variants.json +29 -0
  101. mcdex/game_rules/__init__.py +16 -0
  102. mcdex/game_rules/_mc_game_rules.py +110 -0
  103. mcdex/game_rules/game_rules.json +436 -0
  104. mcdex/items/__init__.py +16 -0
  105. mcdex/items/_mc_items.py +1842 -0
  106. mcdex/items/items.json +20060 -0
  107. mcdex/music/__init__.py +16 -0
  108. mcdex/music/_music.py +65 -0
  109. mcdex/music/music.json +143 -0
  110. mcdex/painting_variants/__init__.py +16 -0
  111. mcdex/painting_variants/_mc_painting_variants.py +96 -0
  112. mcdex/painting_variants/painting_variants.json +369 -0
  113. mcdex/particles/__init__.py +16 -0
  114. mcdex/particles/_mc_particles.py +184 -0
  115. mcdex/particles/particles.json +917 -0
  116. mcdex/pig_sound_variants/__init__.py +16 -0
  117. mcdex/pig_sound_variants/_mc_pig_sound_variants.py +48 -0
  118. mcdex/pig_sound_variants/pig_sound_variants.json +30 -0
  119. mcdex/pig_variants/__init__.py +16 -0
  120. mcdex/pig_variants/_mc_pig_variants.py +46 -0
  121. mcdex/pig_variants/pig_variants.json +30 -0
  122. mcdex/potions/__init__.py +20 -0
  123. mcdex/potions/_mc_potions.py +101 -0
  124. mcdex/potions/_modified_potion.py +129 -0
  125. mcdex/potions/potions.json +297 -0
  126. mcdex/py.typed +0 -0
  127. mcdex/sounds/__init__.py +16 -0
  128. mcdex/sounds/_mc_sounds.py +2395 -0
  129. mcdex/sounds/sounds.json +13077 -0
  130. mcdex/statistics/__init__.py +16 -0
  131. mcdex/statistics/_mc_statistics.py +123 -0
  132. mcdex/statistics/statistics.json +521 -0
  133. mcdex/structures/__init__.py +16 -0
  134. mcdex/structures/_mc_structures.py +99 -0
  135. mcdex/structures/structures.json +367 -0
  136. mcdex/trim_materials/__init__.py +16 -0
  137. mcdex/trim_materials/_mc_trim_materials.py +54 -0
  138. mcdex/trim_materials/trim_materials.json +77 -0
  139. mcdex/trim_patterns/__init__.py +16 -0
  140. mcdex/trim_patterns/_mc_trim_patterns.py +61 -0
  141. mcdex/trim_patterns/trim_patterns.json +119 -0
  142. mcdex/villager_professions/__init__.py +17 -0
  143. mcdex/villager_professions/_mc_villager_professions.py +61 -0
  144. mcdex/villager_professions/villager_professions.json +125 -0
  145. mcdex/villager_types/__init__.py +16 -0
  146. mcdex/villager_types/_mc_villager_types.py +52 -0
  147. mcdex/villager_types/villager_types.json +54 -0
  148. mcdex/wolf_sound_variants/__init__.py +17 -0
  149. mcdex/wolf_sound_variants/_mc_wolf_sound_variants.py +53 -0
  150. mcdex/wolf_sound_variants/wolf_sound_variants.json +54 -0
  151. mcdex/wolf_variants/__init__.py +16 -0
  152. mcdex/wolf_variants/_mc_wolf_variants.py +53 -0
  153. mcdex/wolf_variants/wolf_variants.json +66 -0
  154. mcdex/zombie_nautilus_variants/__init__.py +17 -0
  155. mcdex/zombie_nautilus_variants/_mc_zombie_nautilus_variants.py +48 -0
  156. mcdex/zombie_nautilus_variants/zombie_nautilus_variants.json +23 -0
  157. mcdex-0.1.0.dev0.dist-info/METADATA +1285 -0
  158. mcdex-0.1.0.dev0.dist-info/RECORD +161 -0
  159. mcdex-0.1.0.dev0.dist-info/WHEEL +5 -0
  160. mcdex-0.1.0.dev0.dist-info/licenses/LICENSE +201 -0
  161. mcdex-0.1.0.dev0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,16 @@
1
+ """
2
+ The 'mcdex.statistics' package provides the statistics of the game: the
3
+ 'MCStatistics' catalogue, an enumeration of every statistic of the data file
4
+ 'statistics.json' that ships with the package.
5
+
6
+ - MCStatistics
7
+ """
8
+ # Apache-2.0 license
9
+ # Copyright (c) 2026 Asger Jon Vistisen
10
+ from __future__ import annotations
11
+
12
+ from ._mc_statistics import MCStatistics
13
+
14
+ __all__ = (
15
+ 'MCStatistics',
16
+ )
@@ -0,0 +1,123 @@
1
+ """
2
+ MCStatistics is the catalogue of the game's statistics: an enumeration with one
3
+ member for every statistic of the data file that ships with mcdex, each the
4
+ same statistic in every version, with the id each version knows it by:
5
+ the name the game keeps the count under, which /scoreboard objectives count.
6
+ """
7
+ # Apache-2.0 license
8
+ # Copyright (c) 2026 Asger Jon Vistisen
9
+ from __future__ import annotations
10
+
11
+ from worktoy.keenum import Kee
12
+
13
+ from ..base import MCThing, StatisticId
14
+
15
+
16
+ class MCStatistics(MCThing):
17
+ """
18
+ The catalogue of the game's statistics, each a member, found by its name in
19
+ capitals, in any case, or by its unique name:
20
+
21
+ jump = MCStatistics.JUMP
22
+ jump is MCStatistics['jump'] # True
23
+ jump['1.12.2'] # StatisticId('jump', 'stat.jump')
24
+ len(MCStatistics)
25
+
26
+ Implementation
27
+ --------------
28
+
29
+ All of it is 'MCThing's, reading 'statistics.json' beside this module.
30
+ mcdex's tools write the members, one for every name of that file.
31
+ """
32
+
33
+ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
34
+ # NAMESPACE # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
35
+ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
36
+
37
+ # Class Variables
38
+ __data_file__ = 'statistics.json'
39
+ __data_key__ = 'statistics'
40
+ __id_class__ = StatisticId
41
+ __kind__ = 'statistic'
42
+
43
+ # Members, one for every name of 'statistics.json'
44
+ ANIMALS_BRED = Kee[str]('animals_bred')
45
+ AVIATE_ONE_CM = Kee[str]('aviate_one_cm')
46
+ BELL_RING = Kee[str]('bell_ring')
47
+ BOAT_ONE_CM = Kee[str]('boat_one_cm')
48
+ CLEAN_ARMOR = Kee[str]('clean_armor')
49
+ CLEAN_BANNER = Kee[str]('clean_banner')
50
+ CLEAN_SHULKER_BOX = Kee[str]('clean_shulker_box')
51
+ CLIMB_ONE_CM = Kee[str]('climb_one_cm')
52
+ CROUCH_ONE_CM = Kee[str]('crouch_one_cm')
53
+ DAMAGE_ABSORBED = Kee[str]('damage_absorbed')
54
+ DAMAGE_BLOCKED_BY_SHIELD = Kee[str]('damage_blocked_by_shield')
55
+ DAMAGE_DEALT = Kee[str]('damage_dealt')
56
+ DAMAGE_DEALT_ABSORBED = Kee[str]('damage_dealt_absorbed')
57
+ DAMAGE_DEALT_RESISTED = Kee[str]('damage_dealt_resisted')
58
+ DAMAGE_RESISTED = Kee[str]('damage_resisted')
59
+ DAMAGE_TAKEN = Kee[str]('damage_taken')
60
+ DEATHS = Kee[str]('deaths')
61
+ DROP = Kee[str]('drop')
62
+ EAT_CAKE_SLICE = Kee[str]('eat_cake_slice')
63
+ ENCHANT_ITEM = Kee[str]('enchant_item')
64
+ FALL_ONE_CM = Kee[str]('fall_one_cm')
65
+ FILL_CAULDRON = Kee[str]('fill_cauldron')
66
+ FISH_CAUGHT = Kee[str]('fish_caught')
67
+ FLY_ONE_CM = Kee[str]('fly_one_cm')
68
+ HAPPY_GHAST_ONE_CM = Kee[str]('happy_ghast_one_cm')
69
+ HORSE_ONE_CM = Kee[str]('horse_one_cm')
70
+ INSPECT_DISPENSER = Kee[str]('inspect_dispenser')
71
+ INSPECT_DROPPER = Kee[str]('inspect_dropper')
72
+ INSPECT_HOPPER = Kee[str]('inspect_hopper')
73
+ INTERACT_WITH_ANVIL = Kee[str]('interact_with_anvil')
74
+ INTERACT_WITH_BEACON = Kee[str]('interact_with_beacon')
75
+ INTERACT_WITH_BLAST_FURNACE = Kee[str]('interact_with_blast_furnace')
76
+ INTERACT_WITH_BREWINGSTAND = Kee[str]('interact_with_brewingstand')
77
+ INTERACT_WITH_CAMPFIRE = Kee[str]('interact_with_campfire')
78
+ INTERACT_WITH_CARTOGRAPHY_TABLE = Kee[str]('interact_with_cartography_table')
79
+ INTERACT_WITH_CRAFTING_TABLE = Kee[str]('interact_with_crafting_table')
80
+ INTERACT_WITH_FURNACE = Kee[str]('interact_with_furnace')
81
+ INTERACT_WITH_GRINDSTONE = Kee[str]('interact_with_grindstone')
82
+ INTERACT_WITH_LECTERN = Kee[str]('interact_with_lectern')
83
+ INTERACT_WITH_LOOM = Kee[str]('interact_with_loom')
84
+ INTERACT_WITH_SMITHING_TABLE = Kee[str]('interact_with_smithing_table')
85
+ INTERACT_WITH_SMOKER = Kee[str]('interact_with_smoker')
86
+ INTERACT_WITH_STONECUTTER = Kee[str]('interact_with_stonecutter')
87
+ JUMP = Kee[str]('jump')
88
+ JUNK_FISHED = Kee[str]('junk_fished')
89
+ LEAVE_GAME = Kee[str]('leave_game')
90
+ MINECART_ONE_CM = Kee[str]('minecart_one_cm')
91
+ MOB_KILLS = Kee[str]('mob_kills')
92
+ NAUTILUS_ONE_CM = Kee[str]('nautilus_one_cm')
93
+ OPEN_BARREL = Kee[str]('open_barrel')
94
+ OPEN_CHEST = Kee[str]('open_chest')
95
+ OPEN_ENDERCHEST = Kee[str]('open_enderchest')
96
+ OPEN_SHULKER_BOX = Kee[str]('open_shulker_box')
97
+ PIG_ONE_CM = Kee[str]('pig_one_cm')
98
+ PLAY_NOTEBLOCK = Kee[str]('play_noteblock')
99
+ PLAY_RECORD = Kee[str]('play_record')
100
+ PLAY_TIME = Kee[str]('play_time')
101
+ PLAYER_KILLS = Kee[str]('player_kills')
102
+ POT_FLOWER = Kee[str]('pot_flower')
103
+ RAID_TRIGGER = Kee[str]('raid_trigger')
104
+ RAID_WIN = Kee[str]('raid_win')
105
+ SLEEP_IN_BED = Kee[str]('sleep_in_bed')
106
+ SLEEP_IN_STRAW_BED = Kee[str]('sleep_in_straw_bed')
107
+ SNEAK_TIME = Kee[str]('sneak_time')
108
+ SPRINT_ONE_CM = Kee[str]('sprint_one_cm')
109
+ STRIDER_ONE_CM = Kee[str]('strider_one_cm')
110
+ SWIM_ONE_CM = Kee[str]('swim_one_cm')
111
+ TALKED_TO_VILLAGER = Kee[str]('talked_to_villager')
112
+ TARGET_HIT = Kee[str]('target_hit')
113
+ TIME_SINCE_DEATH = Kee[str]('time_since_death')
114
+ TIME_SINCE_REST = Kee[str]('time_since_rest')
115
+ TOTAL_WORLD_TIME = Kee[str]('total_world_time')
116
+ TRADED_WITH_VILLAGER = Kee[str]('traded_with_villager')
117
+ TREASURE_FISHED = Kee[str]('treasure_fished')
118
+ TRIGGER_TRAPPED_CHEST = Kee[str]('trigger_trapped_chest')
119
+ TUNE_NOTEBLOCK = Kee[str]('tune_noteblock')
120
+ USE_CAULDRON = Kee[str]('use_cauldron')
121
+ WALK_ON_WATER_ONE_CM = Kee[str]('walk_on_water_one_cm')
122
+ WALK_ONE_CM = Kee[str]('walk_one_cm')
123
+ WALK_UNDER_WATER_ONE_CM = Kee[str]('walk_under_water_one_cm')
@@ -0,0 +1,521 @@
1
+ {
2
+ "covers": [
3
+ "1.7.2",
4
+ "26.3"
5
+ ],
6
+ "legend": {
7
+ "": "vanilla has no such statistic in this version"
8
+ },
9
+ "statistics": {
10
+ "animals_bred": {
11
+ "ids": {
12
+ "1.7.2": "stat.animalsBred",
13
+ "1.13": "minecraft:animals_bred"
14
+ }
15
+ },
16
+ "aviate_one_cm": {
17
+ "ids": {
18
+ "1.7.2": "",
19
+ "1.9": "stat.aviateOneCm",
20
+ "1.13": "minecraft:aviate_one_cm"
21
+ }
22
+ },
23
+ "bell_ring": {
24
+ "ids": {
25
+ "1.7.2": "",
26
+ "1.14": "minecraft:bell_ring"
27
+ }
28
+ },
29
+ "boat_one_cm": {
30
+ "ids": {
31
+ "1.7.2": "stat.boatOneCm",
32
+ "1.13": "minecraft:boat_one_cm"
33
+ }
34
+ },
35
+ "clean_armor": {
36
+ "ids": {
37
+ "1.7.2": "",
38
+ "1.8.2": "stat.armorCleaned",
39
+ "1.13": "minecraft:clean_armor"
40
+ }
41
+ },
42
+ "clean_banner": {
43
+ "ids": {
44
+ "1.7.2": "",
45
+ "1.8.2": "stat.bannerCleaned",
46
+ "1.13": "minecraft:clean_banner"
47
+ }
48
+ },
49
+ "clean_shulker_box": {
50
+ "ids": {
51
+ "1.7.2": "",
52
+ "1.13.1": "minecraft:clean_shulker_box"
53
+ }
54
+ },
55
+ "climb_one_cm": {
56
+ "ids": {
57
+ "1.7.2": "stat.climbOneCm",
58
+ "1.13": "minecraft:climb_one_cm"
59
+ }
60
+ },
61
+ "crouch_one_cm": {
62
+ "ids": {
63
+ "1.7.2": "",
64
+ "1.8": "stat.crouchOneCm",
65
+ "1.13": "minecraft:crouch_one_cm"
66
+ }
67
+ },
68
+ "damage_absorbed": {
69
+ "ids": {
70
+ "1.7.2": "",
71
+ "1.13.1": "minecraft:damage_absorbed"
72
+ }
73
+ },
74
+ "damage_blocked_by_shield": {
75
+ "ids": {
76
+ "1.7.2": "",
77
+ "1.13.1": "minecraft:damage_blocked_by_shield"
78
+ }
79
+ },
80
+ "damage_dealt": {
81
+ "ids": {
82
+ "1.7.2": "stat.damageDealt",
83
+ "1.13": "minecraft:damage_dealt"
84
+ }
85
+ },
86
+ "damage_dealt_absorbed": {
87
+ "ids": {
88
+ "1.7.2": "",
89
+ "1.13.1": "minecraft:damage_dealt_absorbed"
90
+ }
91
+ },
92
+ "damage_dealt_resisted": {
93
+ "ids": {
94
+ "1.7.2": "",
95
+ "1.13.1": "minecraft:damage_dealt_resisted"
96
+ }
97
+ },
98
+ "damage_resisted": {
99
+ "ids": {
100
+ "1.7.2": "",
101
+ "1.13.1": "minecraft:damage_resisted"
102
+ }
103
+ },
104
+ "damage_taken": {
105
+ "ids": {
106
+ "1.7.2": "stat.damageTaken",
107
+ "1.13": "minecraft:damage_taken"
108
+ }
109
+ },
110
+ "deaths": {
111
+ "ids": {
112
+ "1.7.2": "stat.deaths",
113
+ "1.13": "minecraft:deaths"
114
+ }
115
+ },
116
+ "drop": {
117
+ "ids": {
118
+ "1.7.2": "stat.drop",
119
+ "1.13": "minecraft:drop"
120
+ }
121
+ },
122
+ "eat_cake_slice": {
123
+ "ids": {
124
+ "1.7.2": "",
125
+ "1.8.2": "stat.cakeSlicesEaten",
126
+ "1.13": "minecraft:eat_cake_slice"
127
+ }
128
+ },
129
+ "enchant_item": {
130
+ "ids": {
131
+ "1.7.2": "",
132
+ "1.8.2": "stat.itemEnchanted",
133
+ "1.13": "minecraft:enchant_item"
134
+ }
135
+ },
136
+ "fall_one_cm": {
137
+ "ids": {
138
+ "1.7.2": "stat.fallOneCm",
139
+ "1.13": "minecraft:fall_one_cm"
140
+ }
141
+ },
142
+ "fill_cauldron": {
143
+ "ids": {
144
+ "1.7.2": "",
145
+ "1.8.2": "stat.cauldronFilled",
146
+ "1.13": "minecraft:fill_cauldron"
147
+ }
148
+ },
149
+ "fish_caught": {
150
+ "ids": {
151
+ "1.7.2": "stat.fishCaught",
152
+ "1.13": "minecraft:fish_caught"
153
+ }
154
+ },
155
+ "fly_one_cm": {
156
+ "ids": {
157
+ "1.7.2": "stat.flyOneCm",
158
+ "1.13": "minecraft:fly_one_cm"
159
+ }
160
+ },
161
+ "happy_ghast_one_cm": {
162
+ "ids": {
163
+ "1.7.2": "",
164
+ "1.21.6": "minecraft:happy_ghast_one_cm"
165
+ }
166
+ },
167
+ "horse_one_cm": {
168
+ "ids": {
169
+ "1.7.2": "stat.horseOneCm",
170
+ "1.13": "minecraft:horse_one_cm"
171
+ }
172
+ },
173
+ "inspect_dispenser": {
174
+ "ids": {
175
+ "1.7.2": "",
176
+ "1.8.2": "stat.dispenserInspected",
177
+ "1.13": "minecraft:inspect_dispenser"
178
+ }
179
+ },
180
+ "inspect_dropper": {
181
+ "ids": {
182
+ "1.7.2": "",
183
+ "1.8.2": "stat.dropperInspected",
184
+ "1.13": "minecraft:inspect_dropper"
185
+ }
186
+ },
187
+ "inspect_hopper": {
188
+ "ids": {
189
+ "1.7.2": "",
190
+ "1.8.2": "stat.hopperInspected",
191
+ "1.13": "minecraft:inspect_hopper"
192
+ }
193
+ },
194
+ "interact_with_anvil": {
195
+ "ids": {
196
+ "1.7.2": "",
197
+ "1.15": "minecraft:interact_with_anvil"
198
+ }
199
+ },
200
+ "interact_with_beacon": {
201
+ "ids": {
202
+ "1.7.2": "",
203
+ "1.8.2": "stat.beaconInteraction",
204
+ "1.13": "minecraft:interact_with_beacon"
205
+ }
206
+ },
207
+ "interact_with_blast_furnace": {
208
+ "ids": {
209
+ "1.7.2": "",
210
+ "1.14": "minecraft:interact_with_blast_furnace"
211
+ }
212
+ },
213
+ "interact_with_brewingstand": {
214
+ "ids": {
215
+ "1.7.2": "",
216
+ "1.8.2": "stat.brewingstandInteraction",
217
+ "1.13": "minecraft:interact_with_brewingstand"
218
+ }
219
+ },
220
+ "interact_with_campfire": {
221
+ "ids": {
222
+ "1.7.2": "",
223
+ "1.14": "minecraft:interact_with_campfire"
224
+ }
225
+ },
226
+ "interact_with_cartography_table": {
227
+ "ids": {
228
+ "1.7.2": "",
229
+ "1.14": "minecraft:interact_with_cartography_table"
230
+ }
231
+ },
232
+ "interact_with_crafting_table": {
233
+ "ids": {
234
+ "1.7.2": "",
235
+ "1.8.2": "stat.craftingTableInteraction",
236
+ "1.13": "minecraft:interact_with_crafting_table"
237
+ }
238
+ },
239
+ "interact_with_furnace": {
240
+ "ids": {
241
+ "1.7.2": "",
242
+ "1.8.2": "stat.furnaceInteraction",
243
+ "1.13": "minecraft:interact_with_furnace"
244
+ }
245
+ },
246
+ "interact_with_grindstone": {
247
+ "ids": {
248
+ "1.7.2": "",
249
+ "1.15": "minecraft:interact_with_grindstone"
250
+ }
251
+ },
252
+ "interact_with_lectern": {
253
+ "ids": {
254
+ "1.7.2": "",
255
+ "1.14": "minecraft:interact_with_lectern"
256
+ }
257
+ },
258
+ "interact_with_loom": {
259
+ "ids": {
260
+ "1.7.2": "",
261
+ "1.14": "minecraft:interact_with_loom"
262
+ }
263
+ },
264
+ "interact_with_smithing_table": {
265
+ "ids": {
266
+ "1.7.2": "",
267
+ "1.16": "minecraft:interact_with_smithing_table"
268
+ }
269
+ },
270
+ "interact_with_smoker": {
271
+ "ids": {
272
+ "1.7.2": "",
273
+ "1.14": "minecraft:interact_with_smoker"
274
+ }
275
+ },
276
+ "interact_with_stonecutter": {
277
+ "ids": {
278
+ "1.7.2": "",
279
+ "1.14": "minecraft:interact_with_stonecutter"
280
+ }
281
+ },
282
+ "jump": {
283
+ "ids": {
284
+ "1.7.2": "stat.jump",
285
+ "1.13": "minecraft:jump"
286
+ }
287
+ },
288
+ "junk_fished": {
289
+ "ids": {
290
+ "1.7.2": "stat.junkFished",
291
+ "1.11.1": ""
292
+ }
293
+ },
294
+ "leave_game": {
295
+ "ids": {
296
+ "1.7.2": "stat.leaveGame",
297
+ "1.13": "minecraft:leave_game"
298
+ }
299
+ },
300
+ "minecart_one_cm": {
301
+ "ids": {
302
+ "1.7.2": "stat.minecartOneCm",
303
+ "1.13": "minecraft:minecart_one_cm"
304
+ }
305
+ },
306
+ "mob_kills": {
307
+ "ids": {
308
+ "1.7.2": "stat.mobKills",
309
+ "1.13": "minecraft:mob_kills"
310
+ }
311
+ },
312
+ "nautilus_one_cm": {
313
+ "ids": {
314
+ "1.7.2": "",
315
+ "1.21.11": "minecraft:nautilus_one_cm"
316
+ }
317
+ },
318
+ "open_barrel": {
319
+ "ids": {
320
+ "1.7.2": "",
321
+ "1.14": "minecraft:open_barrel"
322
+ }
323
+ },
324
+ "open_chest": {
325
+ "ids": {
326
+ "1.7.2": "",
327
+ "1.8.2": "stat.chestOpened",
328
+ "1.13": "minecraft:open_chest"
329
+ }
330
+ },
331
+ "open_enderchest": {
332
+ "ids": {
333
+ "1.7.2": "",
334
+ "1.8.2": "stat.enderchestOpened",
335
+ "1.13": "minecraft:open_enderchest"
336
+ }
337
+ },
338
+ "open_shulker_box": {
339
+ "ids": {
340
+ "1.7.2": "",
341
+ "1.11": "stat.shulkerBoxOpened",
342
+ "1.13": "minecraft:open_shulker_box"
343
+ }
344
+ },
345
+ "pig_one_cm": {
346
+ "ids": {
347
+ "1.7.2": "stat.pigOneCm",
348
+ "1.13": "minecraft:pig_one_cm"
349
+ }
350
+ },
351
+ "play_noteblock": {
352
+ "ids": {
353
+ "1.7.2": "",
354
+ "1.8.2": "stat.noteblockPlayed",
355
+ "1.13": "minecraft:play_noteblock"
356
+ }
357
+ },
358
+ "play_record": {
359
+ "ids": {
360
+ "1.7.2": "",
361
+ "1.8.2": "stat.recordPlayed",
362
+ "1.13": "minecraft:play_record"
363
+ }
364
+ },
365
+ "play_time": {
366
+ "ids": {
367
+ "1.7.2": "stat.playOneMinute",
368
+ "1.13": "minecraft:play_one_minute",
369
+ "1.17": "minecraft:play_time"
370
+ }
371
+ },
372
+ "player_kills": {
373
+ "ids": {
374
+ "1.7.2": "stat.playerKills",
375
+ "1.13": "minecraft:player_kills"
376
+ }
377
+ },
378
+ "pot_flower": {
379
+ "ids": {
380
+ "1.7.2": "",
381
+ "1.8.2": "stat.flowerPotted",
382
+ "1.13": "minecraft:pot_flower"
383
+ }
384
+ },
385
+ "raid_trigger": {
386
+ "ids": {
387
+ "1.7.2": "",
388
+ "1.14": "minecraft:raid_trigger"
389
+ }
390
+ },
391
+ "raid_win": {
392
+ "ids": {
393
+ "1.7.2": "",
394
+ "1.14": "minecraft:raid_win"
395
+ }
396
+ },
397
+ "sleep_in_bed": {
398
+ "ids": {
399
+ "1.7.2": "",
400
+ "1.9": "stat.sleepInBed",
401
+ "1.13": "minecraft:sleep_in_bed"
402
+ }
403
+ },
404
+ "sleep_in_straw_bed": {
405
+ "ids": {
406
+ "1.7.2": "",
407
+ "26.3": "minecraft:sleep_in_straw_bed"
408
+ }
409
+ },
410
+ "sneak_time": {
411
+ "ids": {
412
+ "1.7.2": "",
413
+ "1.9": "stat.sneakTime",
414
+ "1.13": "minecraft:sneak_time"
415
+ }
416
+ },
417
+ "sprint_one_cm": {
418
+ "ids": {
419
+ "1.7.2": "",
420
+ "1.8": "stat.sprintOneCm",
421
+ "1.13": "minecraft:sprint_one_cm"
422
+ }
423
+ },
424
+ "strider_one_cm": {
425
+ "ids": {
426
+ "1.7.2": "",
427
+ "1.16": "minecraft:strider_one_cm"
428
+ }
429
+ },
430
+ "swim_one_cm": {
431
+ "ids": {
432
+ "1.7.2": "",
433
+ "1.13": "minecraft:swim_one_cm"
434
+ }
435
+ },
436
+ "talked_to_villager": {
437
+ "ids": {
438
+ "1.7.2": "",
439
+ "1.8": "stat.talkedToVillager",
440
+ "1.13": "minecraft:talked_to_villager"
441
+ }
442
+ },
443
+ "target_hit": {
444
+ "ids": {
445
+ "1.7.2": "",
446
+ "1.16": "minecraft:target_hit"
447
+ }
448
+ },
449
+ "time_since_death": {
450
+ "ids": {
451
+ "1.7.2": "",
452
+ "1.8": "stat.timeSinceDeath",
453
+ "1.13": "minecraft:time_since_death"
454
+ }
455
+ },
456
+ "time_since_rest": {
457
+ "ids": {
458
+ "1.7.2": "",
459
+ "1.13": "minecraft:time_since_rest"
460
+ }
461
+ },
462
+ "total_world_time": {
463
+ "ids": {
464
+ "1.7.2": "",
465
+ "1.17": "minecraft:total_world_time"
466
+ }
467
+ },
468
+ "traded_with_villager": {
469
+ "ids": {
470
+ "1.7.2": "",
471
+ "1.8": "stat.tradedWithVillager",
472
+ "1.13": "minecraft:traded_with_villager"
473
+ }
474
+ },
475
+ "treasure_fished": {
476
+ "ids": {
477
+ "1.7.2": "stat.treasureFished",
478
+ "1.11.1": ""
479
+ }
480
+ },
481
+ "trigger_trapped_chest": {
482
+ "ids": {
483
+ "1.7.2": "",
484
+ "1.8.2": "stat.trappedChestTriggered",
485
+ "1.13": "minecraft:trigger_trapped_chest"
486
+ }
487
+ },
488
+ "tune_noteblock": {
489
+ "ids": {
490
+ "1.7.2": "",
491
+ "1.8.2": "stat.noteblockTuned",
492
+ "1.13": "minecraft:tune_noteblock"
493
+ }
494
+ },
495
+ "use_cauldron": {
496
+ "ids": {
497
+ "1.7.2": "",
498
+ "1.8.2": "stat.cauldronUsed",
499
+ "1.13": "minecraft:use_cauldron"
500
+ }
501
+ },
502
+ "walk_on_water_one_cm": {
503
+ "ids": {
504
+ "1.7.2": "stat.swimOneCm",
505
+ "1.13": "minecraft:walk_on_water_one_cm"
506
+ }
507
+ },
508
+ "walk_one_cm": {
509
+ "ids": {
510
+ "1.7.2": "stat.walkOneCm",
511
+ "1.13": "minecraft:walk_one_cm"
512
+ }
513
+ },
514
+ "walk_under_water_one_cm": {
515
+ "ids": {
516
+ "1.7.2": "stat.diveOneCm",
517
+ "1.13": "minecraft:walk_under_water_one_cm"
518
+ }
519
+ }
520
+ }
521
+ }
@@ -0,0 +1,16 @@
1
+ """
2
+ The 'mcdex.structures' package provides the structures of the game: the
3
+ 'MCStructures' catalogue, an enumeration of every structure of the data file
4
+ 'structures.json' that ships with the package.
5
+
6
+ - MCStructures
7
+ """
8
+ # Apache-2.0 license
9
+ # Copyright (c) 2026 Asger Jon Vistisen
10
+ from __future__ import annotations
11
+
12
+ from ._mc_structures import MCStructures
13
+
14
+ __all__ = (
15
+ 'MCStructures',
16
+ )