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.music' package provides the songs of the game: the
3
+ 'Music' catalogue, an enumeration of every song of the data file
4
+ 'music.json' that ships with the package.
5
+
6
+ - Music
7
+ """
8
+ # Apache-2.0 license
9
+ # Copyright (c) 2026 Asger Jon Vistisen
10
+ from __future__ import annotations
11
+
12
+ from ._music import Music
13
+
14
+ __all__ = (
15
+ 'Music',
16
+ )
mcdex/music/_music.py ADDED
@@ -0,0 +1,65 @@
1
+ """
2
+ Music is the catalogue of the game's songs: an enumeration with one
3
+ member for every song of the data file that ships with mcdex, each the
4
+ same song in every version, with the id each version knows it by:
5
+ the song a jukebox_playable component plays.
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, MusicId
14
+
15
+
16
+ class Music(MCThing):
17
+ """
18
+ The catalogue of the game's songs, each a member, found by its name in
19
+ capitals, in any case, or by its unique name:
20
+
21
+ pigstep = Music.PIGSTEP
22
+ pigstep is Music['pigstep'] # True
23
+ pigstep['1.21'] # MusicId('pigstep', 'minecraft:pigstep')
24
+ len(Music)
25
+
26
+ Implementation
27
+ --------------
28
+
29
+ All of it is 'MCThing's, reading 'music.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__ = 'music.json'
39
+ __data_key__ = 'music'
40
+ __id_class__ = MusicId
41
+ __kind__ = 'song'
42
+
43
+ # Members, one for every name of 'music.json'
44
+ ELEVEN = Kee[str]('11')
45
+ THIRTEEN = Kee[str]('13')
46
+ FIVE = Kee[str]('5')
47
+ BLOCKS = Kee[str]('blocks')
48
+ BOUNCE = Kee[str]('bounce')
49
+ CAT = Kee[str]('cat')
50
+ CHIRP = Kee[str]('chirp')
51
+ CREATOR = Kee[str]('creator')
52
+ CREATOR_MUSIC_BOX = Kee[str]('creator_music_box')
53
+ FAR = Kee[str]('far')
54
+ LAVA_CHICKEN = Kee[str]('lava_chicken')
55
+ MALL = Kee[str]('mall')
56
+ MELLOHI = Kee[str]('mellohi')
57
+ OTHERSIDE = Kee[str]('otherside')
58
+ PIGSTEP = Kee[str]('pigstep')
59
+ PRECIPICE = Kee[str]('precipice')
60
+ RELIC = Kee[str]('relic')
61
+ STAL = Kee[str]('stal')
62
+ STRAD = Kee[str]('strad')
63
+ TEARS = Kee[str]('tears')
64
+ WAIT = Kee[str]('wait')
65
+ WARD = Kee[str]('ward')
mcdex/music/music.json ADDED
@@ -0,0 +1,143 @@
1
+ {
2
+ "covers": [
3
+ "1.7.2",
4
+ "26.3"
5
+ ],
6
+ "legend": {
7
+ "": "vanilla has no such song in this version"
8
+ },
9
+ "music": {
10
+ "11": {
11
+ "ids": {
12
+ "1.7.2": "",
13
+ "1.21": "minecraft:11"
14
+ }
15
+ },
16
+ "13": {
17
+ "ids": {
18
+ "1.7.2": "",
19
+ "1.21": "minecraft:13"
20
+ }
21
+ },
22
+ "5": {
23
+ "ids": {
24
+ "1.7.2": "",
25
+ "1.21": "minecraft:5"
26
+ }
27
+ },
28
+ "blocks": {
29
+ "ids": {
30
+ "1.7.2": "",
31
+ "1.21": "minecraft:blocks"
32
+ }
33
+ },
34
+ "bounce": {
35
+ "ids": {
36
+ "1.7.2": "",
37
+ "26.2": "minecraft:bounce"
38
+ }
39
+ },
40
+ "cat": {
41
+ "ids": {
42
+ "1.7.2": "",
43
+ "1.21": "minecraft:cat"
44
+ }
45
+ },
46
+ "chirp": {
47
+ "ids": {
48
+ "1.7.2": "",
49
+ "1.21": "minecraft:chirp"
50
+ }
51
+ },
52
+ "creator": {
53
+ "ids": {
54
+ "1.7.2": "",
55
+ "1.21": "minecraft:creator"
56
+ }
57
+ },
58
+ "creator_music_box": {
59
+ "ids": {
60
+ "1.7.2": "",
61
+ "1.21": "minecraft:creator_music_box"
62
+ }
63
+ },
64
+ "far": {
65
+ "ids": {
66
+ "1.7.2": "",
67
+ "1.21": "minecraft:far"
68
+ }
69
+ },
70
+ "lava_chicken": {
71
+ "ids": {
72
+ "1.7.2": "",
73
+ "1.21.7": "minecraft:lava_chicken"
74
+ }
75
+ },
76
+ "mall": {
77
+ "ids": {
78
+ "1.7.2": "",
79
+ "1.21": "minecraft:mall"
80
+ }
81
+ },
82
+ "mellohi": {
83
+ "ids": {
84
+ "1.7.2": "",
85
+ "1.21": "minecraft:mellohi"
86
+ }
87
+ },
88
+ "otherside": {
89
+ "ids": {
90
+ "1.7.2": "",
91
+ "1.21": "minecraft:otherside"
92
+ }
93
+ },
94
+ "pigstep": {
95
+ "ids": {
96
+ "1.7.2": "",
97
+ "1.21": "minecraft:pigstep"
98
+ }
99
+ },
100
+ "precipice": {
101
+ "ids": {
102
+ "1.7.2": "",
103
+ "1.21": "minecraft:precipice"
104
+ }
105
+ },
106
+ "relic": {
107
+ "ids": {
108
+ "1.7.2": "",
109
+ "1.21": "minecraft:relic"
110
+ }
111
+ },
112
+ "stal": {
113
+ "ids": {
114
+ "1.7.2": "",
115
+ "1.21": "minecraft:stal"
116
+ }
117
+ },
118
+ "strad": {
119
+ "ids": {
120
+ "1.7.2": "",
121
+ "1.21": "minecraft:strad"
122
+ }
123
+ },
124
+ "tears": {
125
+ "ids": {
126
+ "1.7.2": "",
127
+ "1.21.6": "minecraft:tears"
128
+ }
129
+ },
130
+ "wait": {
131
+ "ids": {
132
+ "1.7.2": "",
133
+ "1.21": "minecraft:wait"
134
+ }
135
+ },
136
+ "ward": {
137
+ "ids": {
138
+ "1.7.2": "",
139
+ "1.21": "minecraft:ward"
140
+ }
141
+ }
142
+ }
143
+ }
@@ -0,0 +1,16 @@
1
+ """
2
+ The 'mcdex.painting_variants' package provides the painting variants of the
3
+ game: the 'MCPaintingVariants' catalogue, an enumeration of every painting
4
+ variant of the data file 'painting_variants.json' that ships with the package.
5
+
6
+ - MCPaintingVariants
7
+ """
8
+ # Apache-2.0 license
9
+ # Copyright (c) 2026 Asger Jon Vistisen
10
+ from __future__ import annotations
11
+
12
+ from ._mc_painting_variants import MCPaintingVariants
13
+
14
+ __all__ = (
15
+ 'MCPaintingVariants',
16
+ )
@@ -0,0 +1,96 @@
1
+ """
2
+ MCPaintingVariants is the catalogue of the game's painting variants: an
3
+ enumeration with one member for every painting variant of the data file that
4
+ ships with mcdex, each the same painting variant in every version, with the id
5
+ each version knows it by: what /summon takes for a painting of that variant.
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, PaintingVariantId
14
+
15
+
16
+ class MCPaintingVariants(MCThing):
17
+ """
18
+ The catalogue of the game's painting variants, each a member, found by its
19
+ name in capitals, in any case, or by its unique name:
20
+
21
+ donkeyKong = MCPaintingVariants.DONKEY_KONG
22
+ donkeyKong is MCPaintingVariants['donkey_kong'] # True
23
+ donkeyKong['1.12.2']
24
+ # PaintingVariantId('donkey_kong',
25
+ # 'minecraft:painting{Motive:"DonkeyKong"}')
26
+ len(MCPaintingVariants)
27
+
28
+ Implementation
29
+ --------------
30
+
31
+ All of it is 'MCThing's, reading 'painting_variants.json' beside this module.
32
+ mcdex's tools write the members, one for every name of that file.
33
+ """
34
+
35
+ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
36
+ # NAMESPACE # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
37
+ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
38
+
39
+ # Class Variables
40
+ __data_file__ = 'painting_variants.json'
41
+ __data_key__ = 'painting_variants'
42
+ __id_class__ = PaintingVariantId
43
+ __kind__ = 'painting variant'
44
+
45
+ # Members, one for every name of 'painting_variants.json'
46
+ ALBAN = Kee[str]('alban')
47
+ AZTEC = Kee[str]('aztec')
48
+ AZTEC2 = Kee[str]('aztec2')
49
+ BACKYARD = Kee[str]('backyard')
50
+ BAROQUE = Kee[str]('baroque')
51
+ BOMB = Kee[str]('bomb')
52
+ BOUQUET = Kee[str]('bouquet')
53
+ BURNING_SKULL = Kee[str]('burning_skull')
54
+ BUST = Kee[str]('bust')
55
+ CAVEBIRD = Kee[str]('cavebird')
56
+ CHANGING = Kee[str]('changing')
57
+ COTAN = Kee[str]('cotan')
58
+ COURBET = Kee[str]('courbet')
59
+ CREEBET = Kee[str]('creebet')
60
+ DENNIS = Kee[str]('dennis')
61
+ DONKEY_KONG = Kee[str]('donkey_kong')
62
+ EARTH = Kee[str]('earth')
63
+ ENDBOSS = Kee[str]('endboss')
64
+ FERN = Kee[str]('fern')
65
+ FIGHTERS = Kee[str]('fighters')
66
+ FINDING = Kee[str]('finding')
67
+ FIRE = Kee[str]('fire')
68
+ GRAHAM = Kee[str]('graham')
69
+ HUMBLE = Kee[str]('humble')
70
+ KEBAB = Kee[str]('kebab')
71
+ LOWMIST = Kee[str]('lowmist')
72
+ MATCH = Kee[str]('match')
73
+ MEDITATIVE = Kee[str]('meditative')
74
+ ORB = Kee[str]('orb')
75
+ OWLEMONS = Kee[str]('owlemons')
76
+ PASSAGE = Kee[str]('passage')
77
+ PIGSCENE = Kee[str]('pigscene')
78
+ PLANT = Kee[str]('plant')
79
+ POINTER = Kee[str]('pointer')
80
+ POND = Kee[str]('pond')
81
+ POOL = Kee[str]('pool')
82
+ PRAIRIE_RIDE = Kee[str]('prairie_ride')
83
+ SEA = Kee[str]('sea')
84
+ SKELETON = Kee[str]('skeleton')
85
+ SKULL_AND_ROSES = Kee[str]('skull_and_roses')
86
+ STAGE = Kee[str]('stage')
87
+ SUNFLOWERS = Kee[str]('sunflowers')
88
+ SUNSET = Kee[str]('sunset')
89
+ TIDES = Kee[str]('tides')
90
+ UNPACKED = Kee[str]('unpacked')
91
+ VOID = Kee[str]('void')
92
+ WANDERER = Kee[str]('wanderer')
93
+ WASTELAND = Kee[str]('wasteland')
94
+ WATER = Kee[str]('water')
95
+ WIND = Kee[str]('wind')
96
+ WITHER = Kee[str]('wither')