stewbeet 2.1.3__tar.gz → 2.1.5__tar.gz

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.

Potentially problematic release.


This version of stewbeet might be problematic. Click here for more details.

Files changed (236) hide show
  1. {stewbeet-2.1.3 → stewbeet-2.1.5}/PKG-INFO +1 -1
  2. {stewbeet-2.1.3 → stewbeet-2.1.5}/pyproject.toml +1 -1
  3. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/all.py +1 -0
  4. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/cables.py +110 -3
  5. stewbeet-2.1.5/stewbeet/contrib/simplenergy/servo_mechanism_models/base_block.json +17 -0
  6. stewbeet-2.1.5/stewbeet/contrib/simplenergy/servo_mechanism_models/base_item.json +27 -0
  7. stewbeet-2.1.5/stewbeet/contrib/simplenergy/servo_mechanism_models/extract_block.json +13 -0
  8. stewbeet-2.1.5/stewbeet/contrib/simplenergy/servo_mechanism_models/extract_connected.json +13 -0
  9. stewbeet-2.1.5/stewbeet/contrib/simplenergy/servo_mechanism_models/extract_item.json +6 -0
  10. stewbeet-2.1.5/stewbeet/contrib/simplenergy/servo_mechanism_models/insert_block.json +13 -0
  11. stewbeet-2.1.5/stewbeet/contrib/simplenergy/servo_mechanism_models/insert_connected.json +13 -0
  12. stewbeet-2.1.5/stewbeet/contrib/simplenergy/servo_mechanism_models/insert_item.json +6 -0
  13. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/dependencies/bookshelf.py +32 -31
  14. stewbeet-2.1.5/stewbeet/dependencies/bookshelf_config.json +3 -0
  15. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/dependencies/datapack/Bookshelf Bitwise.zip +0 -0
  16. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/dependencies/datapack/Bookshelf Block.zip +0 -0
  17. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/dependencies/datapack/Bookshelf Color.zip +0 -0
  18. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/dependencies/datapack/Bookshelf Dump.zip +0 -0
  19. stewbeet-2.1.5/stewbeet/dependencies/datapack/Bookshelf Environment.zip +0 -0
  20. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/dependencies/datapack/Bookshelf Generation.zip +0 -0
  21. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/dependencies/datapack/Bookshelf Health.zip +0 -0
  22. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/dependencies/datapack/Bookshelf Hitbox.zip +0 -0
  23. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/dependencies/datapack/Bookshelf Id.zip +0 -0
  24. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/dependencies/datapack/Bookshelf Interaction.zip +0 -0
  25. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/dependencies/datapack/Bookshelf Link.zip +0 -0
  26. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/dependencies/datapack/Bookshelf Log.zip +0 -0
  27. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/dependencies/datapack/Bookshelf Math.zip +0 -0
  28. stewbeet-2.1.5/stewbeet/dependencies/datapack/Bookshelf Move.zip +0 -0
  29. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/dependencies/datapack/Bookshelf Position.zip +0 -0
  30. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/dependencies/datapack/Bookshelf Random.zip +0 -0
  31. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/dependencies/datapack/Bookshelf Raycast.zip +0 -0
  32. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/dependencies/datapack/Bookshelf Schedule.zip +0 -0
  33. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/dependencies/datapack/Bookshelf Sidebar.zip +0 -0
  34. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/dependencies/datapack/Bookshelf Spline.zip +0 -0
  35. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/dependencies/datapack/Bookshelf String.zip +0 -0
  36. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/dependencies/datapack/Bookshelf Time.zip +0 -0
  37. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/dependencies/datapack/Bookshelf Tree.zip +0 -0
  38. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/dependencies/datapack/Bookshelf Vector.zip +0 -0
  39. stewbeet-2.1.5/stewbeet/dependencies/datapack/Bookshelf View.zip +0 -0
  40. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/dependencies/datapack/Bookshelf Xp.zip +0 -0
  41. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/compatibilities/simpledrawer/__init__.py +2 -5
  42. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/custom_recipes/vanilla.py +3 -8
  43. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/datapack/custom_blocks/__init__.py +279 -116
  44. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/datapack/sorters/mod.mcdoc +1 -1
  45. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/other_utils.py +34 -17
  46. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/resource_pack/item_models/object.py +6 -10
  47. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/verify_definitions/__init__.py +6 -2
  48. stewbeet-2.1.3/stewbeet/dependencies/bookshelf_config.json +0 -3
  49. stewbeet-2.1.3/stewbeet/dependencies/datapack/Bookshelf Environment.zip +0 -0
  50. stewbeet-2.1.3/stewbeet/dependencies/datapack/Bookshelf Move.zip +0 -0
  51. stewbeet-2.1.3/stewbeet/dependencies/datapack/Bookshelf View.zip +0 -0
  52. {stewbeet-2.1.3 → stewbeet-2.1.5}/.gitignore +0 -0
  53. {stewbeet-2.1.3 → stewbeet-2.1.5}/LICENSE +0 -0
  54. {stewbeet-2.1.3 → stewbeet-2.1.5}/README.md +0 -0
  55. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/__init__.py +0 -0
  56. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/__main__.py +0 -0
  57. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/cli.py +0 -0
  58. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/continuous_delivery/__init__.py +0 -0
  59. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/continuous_delivery/cd_utils.py +0 -0
  60. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/continuous_delivery/github.py +0 -0
  61. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/continuous_delivery/modrinth.py +0 -0
  62. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/continuous_delivery/pmc.py +0 -0
  63. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/continuous_delivery/smithed.py +0 -0
  64. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/__init__.py +0 -0
  65. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/balancing.py +0 -0
  66. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/batteries.py +0 -0
  67. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant.json +0 -0
  68. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_d.json +0 -0
  69. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_de.json +0 -0
  70. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_dew.json +0 -0
  71. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_dn.json +0 -0
  72. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_dne.json +0 -0
  73. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_dnew.json +0 -0
  74. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_dns.json +0 -0
  75. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_dnse.json +0 -0
  76. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_dnsew.json +0 -0
  77. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_dnsw.json +0 -0
  78. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_dnw.json +0 -0
  79. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_ds.json +0 -0
  80. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_dse.json +0 -0
  81. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_dsew.json +0 -0
  82. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_dsw.json +0 -0
  83. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_dw.json +0 -0
  84. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_e.json +0 -0
  85. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_ew.json +0 -0
  86. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_n.json +0 -0
  87. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_ne.json +0 -0
  88. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_new.json +0 -0
  89. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_ns.json +0 -0
  90. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_nse.json +0 -0
  91. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_nsew.json +0 -0
  92. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_nsw.json +0 -0
  93. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_nw.json +0 -0
  94. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_s.json +0 -0
  95. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_se.json +0 -0
  96. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_sew.json +0 -0
  97. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_sw.json +0 -0
  98. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_u.json +0 -0
  99. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_ud.json +0 -0
  100. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_ude.json +0 -0
  101. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_udew.json +0 -0
  102. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_udn.json +0 -0
  103. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_udne.json +0 -0
  104. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_udnew.json +0 -0
  105. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_udns.json +0 -0
  106. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_udnse.json +0 -0
  107. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_udnsew.json +0 -0
  108. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_udnsw.json +0 -0
  109. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_udnw.json +0 -0
  110. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_uds.json +0 -0
  111. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_udse.json +0 -0
  112. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_udsew.json +0 -0
  113. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_udsw.json +0 -0
  114. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_udw.json +0 -0
  115. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_ue.json +0 -0
  116. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_uew.json +0 -0
  117. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_un.json +0 -0
  118. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_une.json +0 -0
  119. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_unew.json +0 -0
  120. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_uns.json +0 -0
  121. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_unse.json +0 -0
  122. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_unsew.json +0 -0
  123. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_unsw.json +0 -0
  124. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_unw.json +0 -0
  125. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_us.json +0 -0
  126. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_use.json +0 -0
  127. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_usew.json +0 -0
  128. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_usw.json +0 -0
  129. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_uw.json +0 -0
  130. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_cable_models/variant_w.json +0 -0
  131. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/energy_lib_calls.py +0 -0
  132. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/gui.py +0 -0
  133. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/item_cable_models/cable.bbmodel +0 -0
  134. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/item_cable_models/cable_base.json +0 -0
  135. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/contrib/simplenergy/wrench.py +0 -0
  136. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/core/__init__.py +0 -0
  137. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/core/__memory__.py +0 -0
  138. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/core/constants.py +0 -0
  139. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/core/definitions_helper/__init__.py +0 -0
  140. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/core/definitions_helper/completion.py +0 -0
  141. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/core/definitions_helper/equipments.py +0 -0
  142. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/core/definitions_helper/materials.py +0 -0
  143. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/core/definitions_helper/records.py +0 -0
  144. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/core/definitions_helper/simplenergy.py +0 -0
  145. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/core/definitions_helper/smart_ore_generation.py +0 -0
  146. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/core/definitions_helper/text.py +0 -0
  147. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/core/ingredients.py +0 -0
  148. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/core/utils/io.py +0 -0
  149. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/core/utils/sounds.py +0 -0
  150. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/dependencies/__init__.py +0 -0
  151. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/dependencies/datapack/Common Signals.zip +0 -0
  152. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/dependencies/datapack/Furnace NBT Recipes.zip +0 -0
  153. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/dependencies/datapack/ItemIO.zip +0 -0
  154. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/dependencies/datapack/SmartOreGeneration.zip +0 -0
  155. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/dependencies/datapack/Smithed Crafter.zip +0 -0
  156. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/dependencies/datapack/Smithed Custom Block.zip +0 -0
  157. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/dependencies/resource_pack/Smithed Crafter.zip +0 -0
  158. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/archive/__init__.py +0 -0
  159. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/auto/headers/__init__.py +0 -0
  160. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/auto/headers/context_analyzer.py +0 -0
  161. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/auto/headers/execution_parser.py +0 -0
  162. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/auto/headers/function_analyzer.py +0 -0
  163. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/auto/headers/object.py +0 -0
  164. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/auto/lang_file/__init__.py +0 -0
  165. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/auto/lang_file/utils.py +0 -0
  166. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/compatibilities/neo_enchant/__init__.py +0 -0
  167. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/compute_sha1/__init__.py +0 -0
  168. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/copy_to_destination/__init__.py +0 -0
  169. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/custom_recipes/__init__.py +0 -0
  170. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/custom_recipes/furnace.py +0 -0
  171. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/custom_recipes/pulverizer.py +0 -0
  172. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/custom_recipes/smithed.py +0 -0
  173. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/datapack/loading/__init__.py +0 -0
  174. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/datapack/loot_tables/__init__.py +0 -0
  175. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/datapack/sorters/__init__.py +0 -0
  176. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/datapack/sorters/constants.py +0 -0
  177. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/datapack/sorters/extend_datapack.py +0 -0
  178. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/datapack/sorters/match.py +0 -0
  179. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/datapack/sorters/quick_sort.py +0 -0
  180. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/datapack/sorters/selection_sort.py +0 -0
  181. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/finalyze/basic_datapack_structure/__init__.py +0 -0
  182. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/finalyze/check_unused_textures/__init__.py +0 -0
  183. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/finalyze/custom_blocks_ticking/__init__.py +0 -0
  184. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/finalyze/dependencies/__init__.py +0 -0
  185. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/finalyze/last_final/__init__.py +0 -0
  186. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/__init__.py +0 -0
  187. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/assets/furnace.png +0 -0
  188. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/assets/heavy_workbench.png +0 -0
  189. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/assets/invisible_item.png +0 -0
  190. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/assets/invisible_item_release.png +0 -0
  191. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/assets/minecraft_font.ttf +0 -0
  192. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/assets/none.png +0 -0
  193. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/assets/none_release.png +0 -0
  194. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/assets/pulverizing.png +0 -0
  195. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/assets/shaped_2x2.png +0 -0
  196. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/assets/shaped_3x3.png +0 -0
  197. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/assets/simple_case_no_border.png +0 -0
  198. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/assets/wiki_information.png +0 -0
  199. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/assets/wiki_ingredient_of_craft.png +0 -0
  200. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/assets/wiki_ingredient_of_craft_template.png +0 -0
  201. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/assets/wiki_result_of_craft.png +0 -0
  202. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/book_components.py +0 -0
  203. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/book_optimizer.py +0 -0
  204. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/craft_content.py +0 -0
  205. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/image_utils.py +0 -0
  206. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/iso_renders.py +0 -0
  207. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/main.py +0 -0
  208. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/page_font.py +0 -0
  209. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/shared_import.py +0 -0
  210. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/showcase_image.py +0 -0
  211. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/templates/.gitignore +0 -0
  212. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/templates/_README.md +0 -0
  213. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/templates/furnace.png +0 -0
  214. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/templates/heavy_workbench.png +0 -0
  215. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/templates/invisible_item.png +0 -0
  216. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/templates/invisible_item_release.png +0 -0
  217. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/templates/minecraft_font.ttf +0 -0
  218. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/templates/none.png +0 -0
  219. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/templates/none_release.png +0 -0
  220. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/templates/pulverizing.png +0 -0
  221. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/templates/shaped_2x2.png +0 -0
  222. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/templates/shaped_3x3.png +0 -0
  223. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/templates/simple_case_no_border.png +0 -0
  224. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/templates/wiki_information.png +0 -0
  225. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/templates/wiki_ingredient_of_craft.png +0 -0
  226. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/templates/wiki_ingredient_of_craft_template.png +0 -0
  227. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/templates/wiki_result_of_craft.png +0 -0
  228. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/ingame_manual/text_components.py +0 -0
  229. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/initialize/__init__.py +0 -0
  230. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/initialize/source_lore_font.py +0 -0
  231. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/merge_smithed_weld/__init__.py +0 -0
  232. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/merge_smithed_weld/weld.py +0 -0
  233. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/resource_pack/check_power_of_2/__init__.py +0 -0
  234. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/resource_pack/item_models/__init__.py +0 -0
  235. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/plugins/resource_pack/sounds/__init__.py +0 -0
  236. {stewbeet-2.1.3 → stewbeet-2.1.5}/stewbeet/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: stewbeet
3
- Version: 2.1.3
3
+ Version: 2.1.5
4
4
  Summary: Beet Framework made to help generating advanced Minecraft datapack contents
5
5
  Project-URL: Homepage, https://github.com/Stoupy51/stewbeet
6
6
  Project-URL: Issues, https://github.com/Stoupy51/stewbeet/issues
@@ -5,7 +5,7 @@ build-backend = "hatchling.build"
5
5
 
6
6
  [project]
7
7
  name = "stewbeet"
8
- version = "2.1.3"
8
+ version = "2.1.5"
9
9
  description = "Beet Framework made to help generating advanced Minecraft datapack contents"
10
10
  readme = "README.md"
11
11
  license = "MIT"
@@ -13,6 +13,7 @@ GENERATION_PLUGINS = (
13
13
  "stewbeet.plugins.datapack.loading",
14
14
  "stewbeet.plugins.datapack.custom_blocks",
15
15
  "stewbeet.plugins.datapack.loot_tables",
16
+ "stewbeet.plugins.datapack.sorters",
16
17
  "stewbeet.plugins.compatibilities.simpledrawer",
17
18
  "stewbeet.plugins.compatibilities.neo_enchant"
18
19
  )
@@ -10,7 +10,7 @@ from ...core import CUSTOM_ITEM_VANILLA, JsonDict, Mem, set_json_encoder, write_
10
10
  # Constants
11
11
  ENERGY_CABLE_MODELS_FOLDER: str = get_root_path(__file__) + "/energy_cable_models"
12
12
 
13
- # Setup machines work and visuals
13
+ # Setup energy cables work and visuals
14
14
  def energy_cables_models(cables: list[str]) -> None:
15
15
  """ Setup energy cables models and functions for SimplEnergy.
16
16
 
@@ -100,7 +100,7 @@ item modify entity @s contents {{"function": "minecraft:set_custom_model_data","
100
100
 
101
101
 
102
102
 
103
- # Setup machines work and visuals
103
+ # Setup item cables work and visuals
104
104
  def item_cables_models(cables: dict[str, dict[str, str] | None]) -> None:
105
105
  """ Setup item cables models and functions for SimplEnergy.
106
106
 
@@ -202,7 +202,7 @@ function #itemio:calls/cables/init
202
202
  function #itemio:calls/cables/destroy
203
203
  """)
204
204
 
205
- # Update_cable_model function
205
+ # Update cable_model function
206
206
  cables_str: str = "\n".join([
207
207
  f"execute if entity @s[tag={ns}.{cable}] run item replace entity @s contents with {CUSTOM_ITEM_VANILLA}[item_model=\"{ns}:{cable}\"]"
208
208
  for cable in cables
@@ -220,3 +220,110 @@ item modify entity @s contents {{"function": "minecraft:set_custom_model_data","
220
220
  write_function(f"{ns}:calls/itemio/cable_update", cable_update_content, tags=["itemio:event/cable_update"])
221
221
  return
222
222
 
223
+
224
+ # Setup servo-mechanisms work and visuals
225
+ def servo_mechanisms_models(servos: dict[str, dict[str, str] | None]) -> None:
226
+ """ Setup servo mechanisms models and functions for SimplEnergy.
227
+
228
+ Args:
229
+ servos (dict[str, dict[str, str]]): Dictionary of servo mechanisms to setup.
230
+ Each key is the servo name, and the value is a dictionary mapping model textures to their paths (excluding the 'type' key)
231
+ The mapping dictionnary is optional, if not provided, it will use the default model paths.
232
+ (e.g. {"servo_extractor": {"type": "extract", "default": "servo/extract_default", "connected": "servo/extract_connected"}})
233
+ """
234
+ ns: str = Mem.ctx.project_id
235
+ textures_folder: str = Mem.ctx.meta.stewbeet.textures_folder
236
+
237
+ # Path to the base servo models
238
+ models_path: str = get_root_path(__file__) + "/servo_mechanism_models"
239
+
240
+ # Register the base block models
241
+ for base in ("block", "item"):
242
+ model_data: dict = super_json_load(f"{models_path}/base_{base}.json")
243
+ if base == "item":
244
+ model_data["parent"] = f"{ns}:block/servo/base_block"
245
+ Mem.ctx.assets[ns].models[f"block/servo/base_{base}"] = set_json_encoder(Model(model_data), max_level=3)
246
+
247
+ # Handle parameters
248
+ for servo, textures in servos.items():
249
+ if textures is None:
250
+ textures = {}
251
+ typ: str = textures.get("type", "extract") # Default to 'extract' if not specified
252
+ default_texture: str = textures.get("default", f"servo/{typ}_default")
253
+ connected_texture: str = textures.get("connected", f"servo/{typ}_connected")
254
+
255
+ # Register the block model
256
+ base_model: dict = super_json_load(f"{models_path}/{typ}_block.json")
257
+ base_model["parent"] = f"{ns}:block/servo/base_block"
258
+ base_model["textures"] = {"0": f"{ns}:block/{default_texture}", "particle": f"{ns}:block/{default_texture}"}
259
+ Mem.ctx.assets[ns].models[f"block/servo/{typ}_block"] = set_json_encoder(Model(base_model), max_level=3)
260
+
261
+ # Register the connected model
262
+ connected_model: dict = super_json_load(f"{models_path}/{typ}_connected.json")
263
+ connected_model["parent"] = f"{ns}:block/servo/base_block"
264
+ connected_model["textures"] = {"0": f"{ns}:block/{connected_texture}", "particle": f"{ns}:block/{connected_texture}"}
265
+ Mem.ctx.assets[ns].models[f"block/servo/{typ}_connected"] = set_json_encoder(Model(connected_model), max_level=3)
266
+
267
+ # Register the item model
268
+ item_model: dict = super_json_load(f"{models_path}/{typ}_item.json")
269
+ item_model["parent"] = f"{ns}:block/servo/base_item"
270
+ item_model["textures"] = {"0": f"{ns}:block/{default_texture}", "particle": f"{ns}:block/{default_texture}"}
271
+ Mem.ctx.assets[ns].models[f"block/servo/{typ}_item"] = set_json_encoder(Model(item_model), max_level=3)
272
+
273
+ # Register two items file (for default and connected)
274
+ for texture in ("block", "connected"):
275
+ model_data: dict = {
276
+ "model": {
277
+ "type": "minecraft:model",
278
+ "model": f"{ns}:block/servo/{typ}_{texture}"
279
+ }
280
+ }
281
+ Mem.ctx.assets[ns].item_models[f"servo/{typ}_{texture}"] = set_json_encoder(ItemModel(model_data), max_level=3)
282
+
283
+ # Copy textures to resource pack
284
+ for texture_key in ("default", "connected"):
285
+ texture_path: str = textures.get(texture_key, f"{typ}_{texture_key}")
286
+ src: str = f"{textures_folder}/{texture_path}.png"
287
+ dst: str = f"block/{texture_path}"
288
+
289
+ # Check if the source file exists and if the texture is not already registered
290
+ if os.path.exists(src) and (not Mem.ctx.assets[ns].textures.get(dst)):
291
+ mcmeta: JsonDict | None = None if not os.path.exists(src + ".mcmeta") else super_json_load(f"{src}.mcmeta")
292
+ Mem.ctx.assets[ns].textures[dst] = Texture(source_path=src, mcmeta=mcmeta)
293
+
294
+ ## Working functions
295
+ # On placement, add necessary tag and call init function
296
+ ns_data: dict[str, int] = Mem.definitions[servo].get("custom_data", {}).get(ns, {})
297
+ stack_limit: int = ns_data.get("stack_limit", 1)
298
+ retry_limit: int = ns_data.get("retry_limit", 1)
299
+ write_function(f"{ns}:custom_blocks/{servo}/place_secondary", f"""
300
+ # Servo mechanism setup (1 item by 1 item: stack_limit)
301
+ tag @s add itemio.servo.{typ}
302
+ tag @s add {ns}.servo
303
+ scoreboard players set @s itemio.servo.stack_limit {stack_limit}
304
+ scoreboard players set @s itemio.servo.retry_limit {retry_limit}
305
+ function #itemio:calls/servos/init
306
+ """)
307
+ # On destruction, call destroy function of itemio
308
+ write_function(f"{ns}:custom_blocks/{servo}/destroy", """
309
+ # Servo mechanism destruction cleanup
310
+ function #itemio:calls/servos/destroy
311
+ """)
312
+
313
+ # Update servo_model function
314
+ servo_update_content: str = f"""
315
+ # Stop if not {ns} servo
316
+ execute unless entity @s[tag={ns}.custom_block,tag={ns}.servo] run return fail
317
+
318
+ # Apply the model dynamically based on servo tags and itemio.math score
319
+ """
320
+ for servo, textures in servos.items():
321
+ typ: str = textures.get("type", "extract")
322
+ for number, texture in ((0, "block"), (1, "connected")):
323
+ servo_update_content += (
324
+ f'execute if score @s itemio.math matches {number} if entity @s[tag={ns}.{servo}] run '
325
+ f'data modify entity @s Item.components."minecraft:item_model" set value "{ns}:servo/{typ}_{texture}"\n'
326
+ )
327
+ write_function(f"{ns}:calls/itemio/network_update", servo_update_content, tags=["itemio:event/network_update"])
328
+ return
329
+
@@ -0,0 +1,17 @@
1
+ {
2
+ "elements": [
3
+ {
4
+ "from": [4, 0, 4],
5
+ "to": [12, 2, 12],
6
+ "rotation": {"angle": 0, "axis": "y", "origin": [2, 0, 2]},
7
+ "faces": {
8
+ "north": {"uv": [8, 0, 16, 2], "texture": "#0"},
9
+ "east": {"uv": [8, 2, 16, 4], "texture": "#0"},
10
+ "south": {"uv": [8, 4, 16, 6], "texture": "#0"},
11
+ "west": {"uv": [8, 6, 16, 8], "texture": "#0"},
12
+ "up": {"uv": [8, 8, 0, 0], "texture": "#0"},
13
+ "down": {"uv": [8, 8, 0, 16], "texture": "#0"}
14
+ }
15
+ }
16
+ ]
17
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "parent": "technicalutils:item/servo/base_block",
3
+ "display": {
4
+ "thirdperson_righthand": {
5
+ "translation": [0, 4, 0],
6
+ "scale": [0.5, 0.5, 0.5]
7
+ },
8
+ "thirdperson_lefthand": {
9
+ "translation": [0, 4, 0],
10
+ "scale": [0.5, 0.5, 0.5]
11
+ },
12
+ "firstperson_righthand": {
13
+ "translation": [3, 7.5, 0]
14
+ },
15
+ "firstperson_lefthand": {
16
+ "translation": [1, 7.5, 0]
17
+ },
18
+ "ground": {
19
+ "translation": [0, 3, 0],
20
+ "scale": [0.5, 0.5, 0.5]
21
+ },
22
+ "gui": {
23
+ "rotation": [30, 45, 0],
24
+ "translation": [0, 5, 0]
25
+ }
26
+ }
27
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "parent": "technicalutils:item/servo/base_block",
3
+ "textures": {
4
+ "0": "technicalutils:block/servo/extract_default"
5
+ },
6
+ "display": {
7
+ "fixed": {
8
+ "rotation": [-90, 0, 0],
9
+ "translation": [0, 0, -15],
10
+ "scale": [2.001, 2.001, 2.001]
11
+ }
12
+ }
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "parent": "technicalutils:item/servo/base_block",
3
+ "textures": {
4
+ "0": "technicalutils:block/servo/extract_connected"
5
+ },
6
+ "display": {
7
+ "fixed": {
8
+ "rotation": [-90, 0, 0],
9
+ "translation": [0, 0, -15],
10
+ "scale": [2.001, 2.001, 2.001]
11
+ }
12
+ }
13
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "parent": "technicalutils:item/servo/base_item",
3
+ "textures": {
4
+ "0": "technicalutils:block/servo/extract_default"
5
+ }
6
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "parent": "technicalutils:item/servo/base_block",
3
+ "textures": {
4
+ "0": "technicalutils:block/servo/insert_default"
5
+ },
6
+ "display": {
7
+ "fixed": {
8
+ "rotation": [-90, 0, 0],
9
+ "translation": [0, 0, -15],
10
+ "scale": [2.001, 2.001, 2.001]
11
+ }
12
+ }
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "parent": "technicalutils:item/servo/base_block",
3
+ "textures": {
4
+ "0": "technicalutils:block/servo/insert_connected"
5
+ },
6
+ "display": {
7
+ "fixed": {
8
+ "rotation": [-90, 0, 0],
9
+ "translation": [0, 0, -15],
10
+ "scale": [2.001, 2.001, 2.001]
11
+ }
12
+ }
13
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "parent": "technicalutils:item/servo/base_item",
3
+ "textures": {
4
+ "0": "technicalutils:block/servo/insert_default"
5
+ }
6
+ }
@@ -1,31 +1,32 @@
1
-
2
- # This file is auto-generated by the release script (stewbeet/dependencies/bookshelf.py)
3
- BOOKSHELF_MODULES = {
4
- "bs.bitwise": {"version": [3,0,2],"name": "Bookshelf Bitwise","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
5
- "bs.block": {"version": [3,0,2],"name": "Bookshelf Block","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
6
- "bs.color": {"version": [3,0,2],"name": "Bookshelf Color","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
7
- "bs.dump": {"version": [3,0,2],"name": "Bookshelf Dump","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
8
- "bs.environment": {"version": [3,0,2],"name": "Bookshelf Environment","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
9
- "bs.generation": {"version": [3,0,2],"name": "Bookshelf Generation","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
10
- "bs.health": {"version": [3,0,2],"name": "Bookshelf Health","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
11
- "bs.hitbox": {"version": [3,0,2],"name": "Bookshelf Hitbox","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
12
- "bs.id": {"version": [3,0,2],"name": "Bookshelf Id","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
13
- "bs.interaction": {"version": [3,0,2],"name": "Bookshelf Interaction","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
14
- "bs.link": {"version": [3,0,2],"name": "Bookshelf Link","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
15
- "bs.log": {"version": [3,0,2],"name": "Bookshelf Log","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
16
- "bs.math": {"version": [3,0,2],"name": "Bookshelf Math","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
17
- "bs.move": {"version": [3,0,2],"name": "Bookshelf Move","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
18
- "bs.position": {"version": [3,0,2],"name": "Bookshelf Position","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
19
- "bs.random": {"version": [3,0,2],"name": "Bookshelf Random","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
20
- "bs.raycast": {"version": [3,0,2],"name": "Bookshelf Raycast","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
21
- "bs.schedule": {"version": [3,0,2],"name": "Bookshelf Schedule","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
22
- "bs.sidebar": {"version": [3,0,2],"name": "Bookshelf Sidebar","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
23
- "bs.spline": {"version": [3,0,2],"name": "Bookshelf Spline","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
24
- "bs.string": {"version": [3,0,2],"name": "Bookshelf String","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
25
- "bs.time": {"version": [3,0,2],"name": "Bookshelf Time","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
26
- "bs.tree": {"version": [3,0,2],"name": "Bookshelf Tree","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
27
- "bs.vector": {"version": [3,0,2],"name": "Bookshelf Vector","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
28
- "bs.view": {"version": [3,0,2],"name": "Bookshelf View","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
29
- "bs.xp": {"version": [3,0,2],"name": "Bookshelf Xp","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False}
30
- }
31
-
1
+
2
+ # This file is auto-generated by the release script (python_package/scripts/on_bookshelf_release.py).
3
+ # Do not edit this file manually.
4
+ BOOKSHELF_MODULES = {
5
+ "bs.bitwise": {"version": [3,1,0],"name": "Bookshelf Bitwise","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
6
+ "bs.block": {"version": [3,1,0],"name": "Bookshelf Block","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
7
+ "bs.color": {"version": [3,1,0],"name": "Bookshelf Color","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
8
+ "bs.dump": {"version": [3,1,0],"name": "Bookshelf Dump","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
9
+ "bs.environment": {"version": [3,1,0],"name": "Bookshelf Environment","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
10
+ "bs.generation": {"version": [3,1,0],"name": "Bookshelf Generation","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
11
+ "bs.health": {"version": [3,1,0],"name": "Bookshelf Health","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
12
+ "bs.hitbox": {"version": [3,1,0],"name": "Bookshelf Hitbox","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
13
+ "bs.id": {"version": [3,1,0],"name": "Bookshelf Id","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
14
+ "bs.interaction": {"version": [3,1,0],"name": "Bookshelf Interaction","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
15
+ "bs.link": {"version": [3,1,0],"name": "Bookshelf Link","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
16
+ "bs.log": {"version": [3,1,0],"name": "Bookshelf Log","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
17
+ "bs.math": {"version": [3,1,0],"name": "Bookshelf Math","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
18
+ "bs.move": {"version": [3,1,0],"name": "Bookshelf Move","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
19
+ "bs.position": {"version": [3,1,0],"name": "Bookshelf Position","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
20
+ "bs.random": {"version": [3,1,0],"name": "Bookshelf Random","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
21
+ "bs.raycast": {"version": [3,1,0],"name": "Bookshelf Raycast","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
22
+ "bs.schedule": {"version": [3,1,0],"name": "Bookshelf Schedule","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
23
+ "bs.sidebar": {"version": [3,1,0],"name": "Bookshelf Sidebar","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
24
+ "bs.spline": {"version": [3,1,0],"name": "Bookshelf Spline","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
25
+ "bs.string": {"version": [3,1,0],"name": "Bookshelf String","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
26
+ "bs.time": {"version": [3,1,0],"name": "Bookshelf Time","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
27
+ "bs.tree": {"version": [3,1,0],"name": "Bookshelf Tree","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
28
+ "bs.vector": {"version": [3,1,0],"name": "Bookshelf Vector","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
29
+ "bs.view": {"version": [3,1,0],"name": "Bookshelf View","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False},
30
+ "bs.xp": {"version": [3,1,0],"name": "Bookshelf Xp","url": "https://github.com/mcbookshelf/bookshelf/releases","is_used": False}
31
+ }
32
+
@@ -0,0 +1,3 @@
1
+ {
2
+ "version": "v3.1.0"
3
+ }
@@ -3,13 +3,12 @@
3
3
  from beet import Context, FunctionTag
4
4
  from beet.core.utils import JsonDict
5
5
  from stouputils.decorators import measure_time
6
- from stouputils.io import super_json_dump
7
6
  from stouputils.print import debug, progress
8
7
 
9
8
  from ....core.__memory__ import Mem
10
9
  from ....core.constants import RESULT_OF_CRAFTING
11
10
  from ....core.ingredients import ingr_to_id
12
- from ....core.utils.io import write_function
11
+ from ....core.utils.io import set_json_encoder, write_function
13
12
 
14
13
 
15
14
  # Get result count of an item
@@ -100,9 +99,7 @@ def beet_default(ctx: Context):
100
99
 
101
100
  # Link function tag
102
101
  json_file: JsonDict = {"values": [f"{ns}:calls/simpledrawer/material"]}
103
- tag: FunctionTag = FunctionTag(json_file)
104
- tag.encoder = super_json_dump
105
- ctx.data["simpledrawer"].function_tags["material"] = tag
102
+ ctx.data["simpledrawer"].function_tags["material"] = set_json_encoder(FunctionTag(json_file))
106
103
 
107
104
  # Write material function
108
105
  content: str = ""
@@ -5,11 +5,10 @@ from typing import Any
5
5
  from beet import Advancement, Recipe
6
6
  from beet.core.utils import JsonDict
7
7
  from stouputils.decorators import simple_cache
8
- from stouputils.io import super_json_dump
9
8
 
10
9
  from ...core.__memory__ import Mem
11
10
  from ...core.ingredients import get_ingredients_from_recipe, get_item_from_ingredient, get_vanilla_item_id_from_ingredient, ingr_repr, item_to_id_ingr_repr
12
- from ...core.utils.io import write_function
11
+ from ...core.utils.io import set_json_encoder, write_function
13
12
 
14
13
 
15
14
  class VanillaRecipeHandler:
@@ -52,9 +51,7 @@ class VanillaRecipeHandler:
52
51
  "criteria": {"requirement": {"trigger": "minecraft:inventory_changed"}},
53
52
  "rewards": {"function": f"{Mem.ctx.project_id}:advancements/unlock_recipes"}
54
53
  }
55
- adv = Advancement(adv_json)
56
- adv.encoder = lambda x: super_json_dump(x, max_level=-1)
57
- Mem.ctx.data[adv_path] = adv
54
+ Mem.ctx.data[adv_path] = set_json_encoder(Advancement(adv_json), max_level=-1)
58
55
 
59
56
  # Write the function that will unlock the recipes
60
57
  content = f"""
@@ -211,7 +208,5 @@ advancement revoke @s only {Mem.ctx.project_id}:unlock_recipes
211
208
  name (str): The name of the recipe.
212
209
  content (dict[str, Any]): The recipe content.
213
210
  """
214
- r = Recipe(content)
215
- r.encoder = lambda x: super_json_dump(x, max_level=-1)
216
- Mem.ctx.data[Mem.ctx.project_id].recipes[name] = r
211
+ Mem.ctx.data[Mem.ctx.project_id].recipes[name] = set_json_encoder(Recipe(content), max_level=-1)
217
212