stewbeet 2.0.20__tar.gz → 2.0.22__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 (211) hide show
  1. {stewbeet-2.0.20 → stewbeet-2.0.22}/PKG-INFO +1 -1
  2. {stewbeet-2.0.20 → stewbeet-2.0.22}/pyproject.toml +1 -1
  3. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/__init__.py +1 -1
  4. stewbeet-2.0.22/stewbeet/__main__.py +7 -0
  5. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/all.py +1 -0
  6. stewbeet-2.0.22/stewbeet/contrib/simplenergy/__init__.py +11 -0
  7. stewbeet-2.0.22/stewbeet/contrib/simplenergy/balancing.py +94 -0
  8. stewbeet-2.0.22/stewbeet/contrib/simplenergy/batteries.py +101 -0
  9. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant.json +16 -0
  10. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_d.json +29 -0
  11. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_de.json +37 -0
  12. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_dew.json +48 -0
  13. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_dn.json +37 -0
  14. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_dne.json +48 -0
  15. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_dnew.json +58 -0
  16. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_dns.json +48 -0
  17. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_dnse.json +58 -0
  18. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_dnsew.json +68 -0
  19. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_dnsw.json +71 -0
  20. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_dnw.json +48 -0
  21. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_ds.json +37 -0
  22. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_dse.json +48 -0
  23. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_dsew.json +58 -0
  24. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_dsw.json +48 -0
  25. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_dw.json +37 -0
  26. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_e.json +16 -0
  27. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_ew.json +17 -0
  28. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_n.json +29 -0
  29. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_ne.json +37 -0
  30. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_new.json +48 -0
  31. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_ns.json +17 -0
  32. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_nse.json +61 -0
  33. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_nsew.json +110 -0
  34. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_nsw.json +48 -0
  35. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_nw.json +50 -0
  36. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_s.json +27 -0
  37. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_se.json +37 -0
  38. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_sew.json +48 -0
  39. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_sw.json +37 -0
  40. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_u.json +29 -0
  41. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_ud.json +17 -0
  42. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_ude.json +48 -0
  43. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_udew.json +58 -0
  44. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_udn.json +48 -0
  45. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_udne.json +58 -0
  46. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_udnew.json +68 -0
  47. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_udns.json +58 -0
  48. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_udnse.json +68 -0
  49. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_udnsew.json +50 -0
  50. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_udnsw.json +68 -0
  51. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_udnw.json +57 -0
  52. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_uds.json +48 -0
  53. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_udse.json +58 -0
  54. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_udsew.json +68 -0
  55. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_udsw.json +58 -0
  56. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_udw.json +48 -0
  57. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_ue.json +37 -0
  58. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_uew.json +48 -0
  59. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_un.json +37 -0
  60. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_une.json +48 -0
  61. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_unew.json +58 -0
  62. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_uns.json +48 -0
  63. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_unse.json +58 -0
  64. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_unsew.json +68 -0
  65. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_unsw.json +58 -0
  66. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_unw.json +48 -0
  67. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_us.json +37 -0
  68. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_use.json +48 -0
  69. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_usew.json +58 -0
  70. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_usw.json +48 -0
  71. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_uw.json +37 -0
  72. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cable_models/variant_w.json +29 -0
  73. stewbeet-2.0.22/stewbeet/contrib/simplenergy/cables.py +103 -0
  74. stewbeet-2.0.22/stewbeet/contrib/simplenergy/energy_lib_calls.py +52 -0
  75. stewbeet-2.0.22/stewbeet/contrib/simplenergy/gui.py +106 -0
  76. stewbeet-2.0.22/stewbeet/contrib/simplenergy/wrench.py +41 -0
  77. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/core/definitions_helper/__init__.py +1 -0
  78. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/core/definitions_helper/completion.py +1 -1
  79. stewbeet-2.0.22/stewbeet/core/definitions_helper/simplenergy.py +60 -0
  80. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/datapack/custom_blocks/__init__.py +1 -1
  81. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/iso_renders.py +10 -3
  82. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/main.py +1 -1
  83. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/merge_smithed_weld/weld.py +169 -169
  84. {stewbeet-2.0.20 → stewbeet-2.0.22}/.gitignore +0 -0
  85. {stewbeet-2.0.20 → stewbeet-2.0.22}/LICENSE +0 -0
  86. {stewbeet-2.0.20 → stewbeet-2.0.22}/README.md +0 -0
  87. /stewbeet-2.0.20/stewbeet/__main__.py → /stewbeet-2.0.22/stewbeet/cli.py +0 -0
  88. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/continuous_delivery/__init__.py +0 -0
  89. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/continuous_delivery/cd_utils.py +0 -0
  90. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/continuous_delivery/github.py +0 -0
  91. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/continuous_delivery/modrinth.py +0 -0
  92. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/continuous_delivery/pmc.py +0 -0
  93. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/continuous_delivery/smithed.py +0 -0
  94. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/core/__init__.py +0 -0
  95. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/core/__memory__.py +0 -0
  96. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/core/constants.py +0 -0
  97. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/core/definitions_helper/equipments.py +0 -0
  98. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/core/definitions_helper/materials.py +0 -0
  99. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/core/definitions_helper/records.py +0 -0
  100. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/core/definitions_helper/smart_ore_generation.py +0 -0
  101. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/core/definitions_helper/text.py +0 -0
  102. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/core/ingredients.py +0 -0
  103. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/core/utils/io.py +0 -0
  104. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/core/utils/sounds.py +0 -0
  105. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/dependencies/__init__.py +0 -0
  106. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/dependencies/bookshelf.py +0 -0
  107. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/dependencies/bookshelf_config.json +0 -0
  108. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/dependencies/datapack/Bookshelf Bitwise.zip +0 -0
  109. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/dependencies/datapack/Bookshelf Block.zip +0 -0
  110. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/dependencies/datapack/Bookshelf Color.zip +0 -0
  111. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/dependencies/datapack/Bookshelf Dump.zip +0 -0
  112. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/dependencies/datapack/Bookshelf Environment.zip +0 -0
  113. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/dependencies/datapack/Bookshelf Generation.zip +0 -0
  114. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/dependencies/datapack/Bookshelf Health.zip +0 -0
  115. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/dependencies/datapack/Bookshelf Hitbox.zip +0 -0
  116. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/dependencies/datapack/Bookshelf Id.zip +0 -0
  117. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/dependencies/datapack/Bookshelf Interaction.zip +0 -0
  118. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/dependencies/datapack/Bookshelf Link.zip +0 -0
  119. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/dependencies/datapack/Bookshelf Log.zip +0 -0
  120. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/dependencies/datapack/Bookshelf Math.zip +0 -0
  121. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/dependencies/datapack/Bookshelf Move.zip +0 -0
  122. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/dependencies/datapack/Bookshelf Position.zip +0 -0
  123. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/dependencies/datapack/Bookshelf Random.zip +0 -0
  124. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/dependencies/datapack/Bookshelf Raycast.zip +0 -0
  125. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/dependencies/datapack/Bookshelf Schedule.zip +0 -0
  126. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/dependencies/datapack/Bookshelf Sidebar.zip +0 -0
  127. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/dependencies/datapack/Bookshelf Spline.zip +0 -0
  128. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/dependencies/datapack/Bookshelf String.zip +0 -0
  129. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/dependencies/datapack/Bookshelf Time.zip +0 -0
  130. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/dependencies/datapack/Bookshelf Tree.zip +0 -0
  131. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/dependencies/datapack/Bookshelf Vector.zip +0 -0
  132. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/dependencies/datapack/Bookshelf View.zip +0 -0
  133. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/dependencies/datapack/Bookshelf Xp.zip +0 -0
  134. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/dependencies/datapack/Common Signals.zip +0 -0
  135. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/dependencies/datapack/Furnace NBT Recipes.zip +0 -0
  136. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/dependencies/datapack/ItemIO.zip +0 -0
  137. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/dependencies/datapack/SmartOreGeneration.zip +0 -0
  138. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/dependencies/datapack/Smithed Crafter.zip +0 -0
  139. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/dependencies/datapack/Smithed Custom Block.zip +0 -0
  140. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/dependencies/resource_pack/Smithed Crafter.zip +0 -0
  141. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/archive/__init__.py +0 -0
  142. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/auto/headers/__init__.py +0 -0
  143. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/auto/headers/object.py +0 -0
  144. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/auto/lang_file/__init__.py +0 -0
  145. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/auto/lang_file/utils.py +0 -0
  146. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/compatibilities/neo_enchant/__init__.py +0 -0
  147. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/compatibilities/simpledrawer/__init__.py +0 -0
  148. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/compute_sha1/__init__.py +0 -0
  149. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/copy_to_destination/__init__.py +0 -0
  150. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/custom_recipes/__init__.py +0 -0
  151. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/custom_recipes/furnace.py +0 -0
  152. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/custom_recipes/pulverizer.py +0 -0
  153. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/custom_recipes/smithed.py +0 -0
  154. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/custom_recipes/vanilla.py +0 -0
  155. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/datapack/loading/__init__.py +0 -0
  156. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/datapack/loot_tables/__init__.py +0 -0
  157. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/finalyze/basic_datapack_structure/__init__.py +0 -0
  158. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/finalyze/check_unused_textures/__init__.py +0 -0
  159. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/finalyze/custom_blocks_ticking/__init__.py +0 -0
  160. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/finalyze/dependencies/__init__.py +0 -0
  161. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/finalyze/last_final/__init__.py +0 -0
  162. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/__init__.py +0 -0
  163. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/assets/furnace.png +0 -0
  164. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/assets/heavy_workbench.png +0 -0
  165. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/assets/invisible_item.png +0 -0
  166. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/assets/invisible_item_release.png +0 -0
  167. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/assets/minecraft_font.ttf +0 -0
  168. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/assets/none.png +0 -0
  169. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/assets/none_release.png +0 -0
  170. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/assets/pulverizing.png +0 -0
  171. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/assets/shaped_2x2.png +0 -0
  172. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/assets/shaped_3x3.png +0 -0
  173. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/assets/simple_case_no_border.png +0 -0
  174. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/assets/wiki_information.png +0 -0
  175. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/assets/wiki_ingredient_of_craft.png +0 -0
  176. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/assets/wiki_ingredient_of_craft_template.png +0 -0
  177. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/assets/wiki_result_of_craft.png +0 -0
  178. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/book_components.py +0 -0
  179. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/book_optimizer.py +0 -0
  180. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/craft_content.py +0 -0
  181. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/image_utils.py +0 -0
  182. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/other_utils.py +0 -0
  183. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/page_font.py +0 -0
  184. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/shared_import.py +0 -0
  185. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/templates/.gitignore +0 -0
  186. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/templates/_README.md +0 -0
  187. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/templates/furnace.png +0 -0
  188. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/templates/heavy_workbench.png +0 -0
  189. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/templates/invisible_item.png +0 -0
  190. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/templates/invisible_item_release.png +0 -0
  191. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/templates/minecraft_font.ttf +0 -0
  192. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/templates/none.png +0 -0
  193. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/templates/none_release.png +0 -0
  194. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/templates/pulverizing.png +0 -0
  195. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/templates/shaped_2x2.png +0 -0
  196. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/templates/shaped_3x3.png +0 -0
  197. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/templates/simple_case_no_border.png +0 -0
  198. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/templates/wiki_information.png +0 -0
  199. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/templates/wiki_ingredient_of_craft.png +0 -0
  200. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/templates/wiki_ingredient_of_craft_template.png +0 -0
  201. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/templates/wiki_result_of_craft.png +0 -0
  202. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/ingame_manual/text_components.py +0 -0
  203. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/initialize/__init__.py +0 -0
  204. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/initialize/source_lore_font.py +0 -0
  205. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/merge_smithed_weld/__init__.py +0 -0
  206. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/resource_pack/check_power_of_2/__init__.py +0 -0
  207. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/resource_pack/item_models/__init__.py +0 -0
  208. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/resource_pack/item_models/object.py +0 -0
  209. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/resource_pack/sounds/__init__.py +0 -0
  210. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/plugins/verify_definitions/__init__.py +0 -0
  211. {stewbeet-2.0.20 → stewbeet-2.0.22}/stewbeet/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: stewbeet
3
- Version: 2.0.20
3
+ Version: 2.0.22
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.0.20"
8
+ version = "2.0.22"
9
9
  description = "Beet Framework made to help generating advanced Minecraft datapack contents"
10
10
  readme = "README.md"
11
11
  license = "MIT"
@@ -3,7 +3,7 @@
3
3
  # Imports
4
4
  from beet import *
5
5
 
6
- from .__main__ import main
6
+ from .cli import main
7
7
  from .core import *
8
8
  from .plugins.initialize.source_lore_font import find_pack_png
9
9
  from .plugins.resource_pack.item_models.object import AutoModel
@@ -0,0 +1,7 @@
1
+
2
+ # Imports
3
+ from .cli import main
4
+
5
+ if __name__ == "__main__":
6
+ main()
7
+
@@ -22,6 +22,7 @@ FINALYZE_PLUGINS = (
22
22
  "stewbeet.plugins.finalyze.dependencies",
23
23
  "stewbeet.plugins.finalyze.check_unused_textures",
24
24
  "stewbeet.plugins.finalyze.last_final",
25
+ "stewbeet.plugins.auto.lang_file",
25
26
  "stewbeet.plugins.auto.headers",
26
27
  "stewbeet.plugins.archive",
27
28
  "stewbeet.plugins.merge_smithed_weld",
@@ -0,0 +1,11 @@
1
+
2
+ # Imports
3
+ from beet import Context # noqa: F401
4
+
5
+ from .balancing import *
6
+ from .batteries import *
7
+ from .cables import *
8
+ from .energy_lib_calls import *
9
+ from .gui import *
10
+ from .wrench import *
11
+
@@ -0,0 +1,94 @@
1
+
2
+ # Imports
3
+ from ...core import Mem, write_function, write_versioned_function
4
+
5
+
6
+ # Setup energy balancing
7
+ def setup_energy_balancing(can_balance: list[str]) -> None:
8
+ """ Setup energy balancing for devices.
9
+
10
+ Args:
11
+ can_balance (list[str]): List of devices that can balance energy between them.
12
+ (e.g. ["solar_panel", "cauldron_generator", "simple_battery", "advanced_battery", "elite_battery"]).
13
+ """
14
+ ns: str = Mem.ctx.project_id
15
+ can_balance_tag: str = f"{ns}.can_balance"
16
+ balanced_tag: str = f"{ns}.balanced"
17
+ adjacent_tag: str = f"{ns}.adjacent"
18
+
19
+ # Write in second_5.mcfunction a call to balancing function
20
+ write_versioned_function("second_5", f"""
21
+ # Energy Balancing system (balance every device having at least 20 kJ)
22
+ execute as @e[tag={can_balance_tag},scores={{energy.storage=20..}}] at @s[tag=!{balanced_tag}] run function {ns}:balancing/main
23
+ tag @e[tag={balanced_tag}] remove {balanced_tag}
24
+ """)
25
+
26
+ # Write balancing/main.mcfunction
27
+ device_main_calls: str = ""
28
+ for device in can_balance:
29
+ device_main_calls += f"\nexecute if entity @s[tag={ns}.{device}] run function {ns}:balancing/{device}/main"
30
+ balancing_content: str = f"""
31
+ # Stop if already balanced
32
+ execute if entity @s[tag={balanced_tag}] run return 0
33
+
34
+ # Copy max storage from device to scoreboard & add balance tags
35
+ scoreboard players operation #max_storage {ns}.data = @s energy.max_storage
36
+
37
+ # For each balancing device, run the main function{device_main_calls}
38
+
39
+ # Remove adjacent tags
40
+ tag @e[tag={adjacent_tag}] remove {adjacent_tag}
41
+ """
42
+ write_function(f"{ns}:balancing/main", balancing_content)
43
+
44
+ # For each balancing device, write the balancing functions
45
+ for device in can_balance:
46
+
47
+ # Write balancing/device/found.mcfunction
48
+ selector: str = f"@e[tag={ns}.{device},tag={can_balance_tag},tag=!{adjacent_tag},dx=0,dy=0,dz=0]"
49
+ condition_run: str = f"if score @s energy.max_storage = #max_storage {ns}.data at @s run function {ns}:balancing/{device}/found"
50
+ write_function(f"{ns}:balancing/{device}/found", f"""
51
+ # Add tags and scores
52
+ tag @s add {adjacent_tag}
53
+ tag @s add {balanced_tag}
54
+ scoreboard players add #count {ns}.data 1
55
+ scoreboard players operation #total_energy {ns}.data += @s energy.storage
56
+
57
+ # Check nearby {device} recursively
58
+ execute align xyz positioned ~ ~1 ~ as {selector} {condition_run}
59
+ execute align xyz positioned ~ ~-1 ~ as {selector} {condition_run}
60
+ execute align xyz positioned ~ ~ ~1 as {selector} {condition_run}
61
+ execute align xyz positioned ~ ~ ~-1 as {selector} {condition_run}
62
+ execute align xyz positioned ~1 ~ ~ as {selector} {condition_run}
63
+ execute align xyz positioned ~-1 ~ ~ as {selector} {condition_run}
64
+ """)
65
+ # Write balancing/device/main.mcfunction
66
+ write_function(f"{ns}:balancing/{device}/main", f"""
67
+ # Collect energy from nearby blocks recursively
68
+ scoreboard players set #count {ns}.data 0
69
+ scoreboard players set #total_energy {ns}.data 0
70
+ function {ns}:balancing/{device}/found
71
+
72
+ # If there are no adjacent device or the sum is higher than integer limit, stop here
73
+ execute if score #count {ns}.data matches 1 run return 0
74
+ execute if score #total_energy {ns}.data matches ..0 run return 0
75
+
76
+ # Redistributes energy to all adjacent devices
77
+ scoreboard players operation #per_device {ns}.data = #total_energy {ns}.data
78
+ scoreboard players operation #per_device {ns}.data /= #count {ns}.data
79
+ scoreboard players operation @e[tag={adjacent_tag}] energy.storage = #per_device {ns}.data
80
+
81
+ # Add the remaining energy to the current device
82
+ scoreboard players operation #remaining {ns}.data = #total_energy {ns}.data
83
+ scoreboard players operation #remaining {ns}.data %= #count {ns}.data
84
+ scoreboard players operation @s energy.storage += #remaining {ns}.data
85
+
86
+ # Sometimes the remaining energy is too high, so we set it to the max storage resulting in a loss of energy (lets assume it's a feature: energy transformed in heat)
87
+ execute if score @s energy.storage > @s energy.max_storage run scoreboard players operation @s energy.storage = @s energy.max_storage
88
+ """)
89
+
90
+
91
+ # Add in the placement function the balancing tag
92
+ for device in can_balance:
93
+ write_function(f"{ns}:custom_blocks/{device}/place_secondary", f"\n# Add balancing tag\ntag @s add {can_balance_tag}")
94
+
@@ -0,0 +1,101 @@
1
+
2
+ # Imports
3
+ from ...core import Mem, write_function
4
+
5
+
6
+ # Setup functions for keeping energy for batteries
7
+ def keep_energy_for_batteries(batteries: list[str]) -> None:
8
+ """ Setup functions for keeping energy for batteries.
9
+
10
+ Args:
11
+ batteries (list[str]): List of battery names that should keep energy when destroyed or replaced.
12
+ (e.g. ["simple_battery", "advanced_battery", "elite_battery", "creative_battery"])
13
+ """
14
+ ns: str = Mem.ctx.project_id
15
+
16
+ # For each battery,
17
+ for battery in batteries:
18
+
19
+ # Copy current energy storage before destroying the block
20
+ write_function(f"{ns}:custom_blocks/{battery}/destroy", f"""
21
+ # Keep energy when destroying the block
22
+ scoreboard players operation #storage {ns}.data = @s energy.storage
23
+
24
+ """, prepend = True)
25
+
26
+ # Keep energy when replacing the item
27
+ write_function(f"{ns}:custom_blocks/{battery}/replace_item", f"""
28
+ # Keep energy
29
+ function {ns}:utils/keep_energy
30
+ """)
31
+
32
+ # Write keep_energy
33
+ content: str = f"""
34
+ # Prepare input for the update_energy_lore function
35
+ data modify storage energy:temp list set value []
36
+ data modify storage energy:temp list append from entity @s Item
37
+ execute store result storage energy:temp list[0].components."minecraft:custom_data".energy.storage int 1 run scoreboard players get #storage {ns}.data
38
+
39
+ # Call the update_energy_lore function
40
+ function {ns}:calls/update_energy_lore/main
41
+
42
+ # Prevent stack with other batteries
43
+ execute store result storage energy:temp list[0].components."minecraft:custom_data".{ns}.not_stackable int 1 run scoreboard players get #stack {ns}.data
44
+ scoreboard players add #stack {ns}.data 1
45
+
46
+ # Update the item
47
+ data modify entity @s Item.components set from storage energy:temp list[0].components
48
+ """
49
+ write_function(f"{ns}:utils/keep_energy", content)
50
+
51
+
52
+ ## Setup energy lore functions
53
+ content: str = f"""
54
+ # Stop if not from the datapack
55
+ execute unless data storage energy:temp list[0].components."minecraft:custom_data".{ns} run return 0
56
+
57
+ ## Copy scores
58
+ scoreboard players set #energy {ns}.data 0
59
+ execute store result score #energy {ns}.data run data get storage energy:temp list[0].components."minecraft:custom_data".energy.storage
60
+ scoreboard players operation #part_1 {ns}.data = #energy {ns}.data
61
+ scoreboard players operation #part_2 {ns}.data = #energy {ns}.data
62
+ data modify storage {ns}:temp macro set value {{part_1:0, part_2:0, scale:""}}
63
+
64
+ ## kJ, MJ, GJ, TJ cases
65
+ execute if score #energy {ns}.data matches ..999 run data modify storage {ns}:temp macro.scale set value " kJ]"
66
+ execute if score #energy {ns}.data matches ..999 run scoreboard players set #part_2 {ns}.data 0"""
67
+
68
+ # Add units check
69
+ units_cases: list[tuple[int, str | int, str]] = [(1000, 1000**2 - 1, "MJ"), (1000**2, 1000**3 - 1, "GJ"), (1000**3, "", "TJ")]
70
+ for mini, max, label in units_cases:
71
+ digits: int = mini // 100
72
+ content += f"""
73
+ execute if score #energy {ns}.data matches {mini}..{max} run scoreboard players set #{digits} {ns}.data {digits}
74
+ execute if score #energy {ns}.data matches {mini}..{max} run scoreboard players set #{mini} {ns}.data {mini}
75
+ execute if score #energy {ns}.data matches {mini}..{max} run data modify storage {ns}:temp macro.scale set value " {label}]"
76
+ execute if score #energy {ns}.data matches {mini}..{max} run scoreboard players operation #part_1 {ns}.data /= #{mini} {ns}.data
77
+ execute if score #energy {ns}.data matches {mini}..{max} run scoreboard players operation #part_2 {ns}.data %= #{mini} {ns}.data
78
+ execute if score #energy {ns}.data matches {mini}..{max} run scoreboard players operation #part_2 {ns}.data /= #{digits} {ns}.data"""
79
+
80
+ # Apply lore
81
+ content += f"""
82
+
83
+ # Apply the new lore to the item
84
+ execute store result storage {ns}:temp macro.part_1 int 1 run scoreboard players get #part_1 {ns}.data
85
+ execute store result storage {ns}:temp macro.part_2 int 1 run scoreboard players get #part_2 {ns}.data
86
+ function {ns}:calls/update_energy_lore/macro with storage {ns}:temp macro
87
+
88
+ # Indicate that the item lore was updated
89
+ data modify storage energy:temp list[0].components."minecraft:custom_data".energy.has_storage_lore set value 1b
90
+ #data remove storage {ns}:temp macro
91
+ """
92
+
93
+ # Write the function and add it to the energy function tag
94
+ write_function(f"{ns}:calls/update_energy_lore/main", content, tags=["energy:v1/update_energy_lore/main"])
95
+
96
+ # Write macro function
97
+ write_function(f"{ns}:calls/update_energy_lore/macro", """
98
+ $execute unless data storage energy:temp list[0].components."minecraft:custom_data".energy.has_storage_lore run data modify storage energy:temp list[0].components."minecraft:lore" insert -2 value [{"text":"[Charge: ","color":"gray","italic":false},"$(part_1).$(part_2)$(scale)"]
99
+ $execute if data storage energy:temp list[0].components."minecraft:custom_data".energy.has_storage_lore run data modify storage energy:temp list[0].components."minecraft:lore"[-2] set value [{"text":"[Charge: ","color":"gray","italic":false},"$(part_1).$(part_2)$(scale)"]
100
+ """) # noqa: E501
101
+
@@ -0,0 +1,16 @@
1
+ {
2
+ "elements": [
3
+ {
4
+ "from": [4, 4, 4],
5
+ "to": [12, 12, 12],
6
+ "faces": {
7
+ "north": {"uv": [12, 12, 16, 16], "texture": "#0"},
8
+ "east": {"uv": [12, 12, 16, 16], "texture": "#0"},
9
+ "south": {"uv": [12, 12, 16, 16], "texture": "#0"},
10
+ "west": {"uv": [12, 12, 16, 16], "texture": "#0"},
11
+ "up": {"uv": [12, 12, 16, 16], "texture": "#0"},
12
+ "down": {"uv": [12, 12, 16, 16], "texture": "#0"}
13
+ }
14
+ }
15
+ ]
16
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "elements": [
3
+ {
4
+ "from": [4, -4, 4],
5
+ "to": [12, 12, 12],
6
+ "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]},
7
+ "faces": {
8
+ "north": {"uv": [8, 2, 12, 8], "texture": "#0"},
9
+ "east": {"uv": [8, 0, 12, 6], "rotation": 180, "texture": "#0"},
10
+ "south": {"uv": [8, 0, 12, 6], "rotation": 180, "texture": "#0"},
11
+ "west": {"uv": [8, 2, 12, 8], "texture": "#0"},
12
+ "up": {"uv": [12, 12, 16, 16], "texture": "#0"}
13
+ }
14
+ },
15
+ {
16
+ "from": [2, -2, 2],
17
+ "to": [14, 2, 14],
18
+ "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]},
19
+ "faces": {
20
+ "north": {"uv": [0, 8, 2, 14], "rotation": 90, "texture": "#0"},
21
+ "east": {"uv": [0, 8, 2, 14], "rotation": 90, "texture": "#0"},
22
+ "south": {"uv": [0, 8, 2, 14], "rotation": 270, "texture": "#0"},
23
+ "west": {"uv": [0, 8, 2, 14], "rotation": 270, "texture": "#0"},
24
+ "up": {"uv": [2, 8, 8, 14], "texture": "#0"},
25
+ "down": {"uv": [2, 8, 8, 14], "rotation": 180, "texture": "#0"}
26
+ }
27
+ }
28
+ ]
29
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "elements": [
3
+ {
4
+ "from": [4, 4, 4],
5
+ "to": [12, 12, 12],
6
+ "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
7
+ "faces": {
8
+ "north": {"uv": [8, 8, 12, 12], "texture": "#0"},
9
+ "south": {"uv": [8, 8, 12, 12], "rotation": 270, "texture": "#0"},
10
+ "west": {"uv": [12, 1, 16, 5], "rotation": 180, "texture": "#0"},
11
+ "up": {"uv": [12, 1, 16, 5], "rotation": 270, "texture": "#0"}
12
+ }
13
+ },
14
+ {
15
+ "from": [4, -4, 4],
16
+ "to": [12, 4, 12],
17
+ "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
18
+ "faces": {
19
+ "north": {"uv": [12, 5, 16, 6], "rotation": 180, "texture": "#0"},
20
+ "east": {"uv": [12, 4.5, 16, 5.5], "texture": "#0"},
21
+ "south": {"uv": [12, 5, 16, 6], "texture": "#0"},
22
+ "west": {"uv": [12, 5, 16, 6], "rotation": 180, "texture": "#0"}
23
+ }
24
+ },
25
+ {
26
+ "from": [12, 4, 4],
27
+ "to": [16, 12, 12],
28
+ "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
29
+ "faces": {
30
+ "north": {"uv": [12, 5, 16, 6], "rotation": 270, "texture": "#0"},
31
+ "south": {"uv": [12, 5, 16, 6], "rotation": 270, "texture": "#0"},
32
+ "up": {"uv": [12, 4.5, 16, 5.5], "rotation": 270, "texture": "#0"},
33
+ "down": {"uv": [12, 5, 16, 6], "rotation": 90, "texture": "#0"}
34
+ }
35
+ }
36
+ ]
37
+ }
@@ -0,0 +1,48 @@
1
+ {
2
+ "elements": [
3
+ {
4
+ "from": [4, 4, 4],
5
+ "to": [12, 12, 12],
6
+ "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
7
+ "faces": {
8
+ "north": {"uv": [12, 8, 16, 12], "texture": "#0"},
9
+ "south": {"uv": [12, 8, 16, 12], "texture": "#0"},
10
+ "west": {"uv": [12, 1, 16, 5], "rotation": 180, "texture": "#0"},
11
+ "up": {"uv": [12, 1, 16, 5], "rotation": 270, "texture": "#0"}
12
+ }
13
+ },
14
+ {
15
+ "from": [4, -4, 4],
16
+ "to": [12, 4, 12],
17
+ "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
18
+ "faces": {
19
+ "north": {"uv": [12, 5, 16, 6], "rotation": 180, "texture": "#0"},
20
+ "east": {"uv": [12, 4.5, 16, 5.5], "texture": "#0"},
21
+ "south": {"uv": [12, 5, 16, 6], "texture": "#0"},
22
+ "west": {"uv": [12, 5, 16, 6], "rotation": 180, "texture": "#0"}
23
+ }
24
+ },
25
+ {
26
+ "from": [12, 4, 4],
27
+ "to": [16, 12, 12],
28
+ "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
29
+ "faces": {
30
+ "north": {"uv": [12, 5, 16, 6], "rotation": 270, "texture": "#0"},
31
+ "south": {"uv": [12, 5, 16, 6], "rotation": 270, "texture": "#0"},
32
+ "up": {"uv": [12, 4.5, 16, 5.5], "rotation": 270, "texture": "#0"},
33
+ "down": {"uv": [12, 5, 16, 6], "rotation": 90, "texture": "#0"}
34
+ }
35
+ },
36
+ {
37
+ "from": [0, 4, 4],
38
+ "to": [4, 12, 12],
39
+ "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
40
+ "faces": {
41
+ "north": {"uv": [12, 5, 16, 6], "rotation": 90, "texture": "#0"},
42
+ "south": {"uv": [12, 5, 16, 6], "rotation": 90, "texture": "#0"},
43
+ "up": {"uv": [12, 5, 16, 6], "rotation": 270, "texture": "#0"},
44
+ "down": {"uv": [12, 4.5, 16, 5.5], "rotation": 90, "texture": "#0"}
45
+ }
46
+ }
47
+ ]
48
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "elements": [
3
+ {
4
+ "from": [4, 4, 4],
5
+ "to": [12, 12, 12],
6
+ "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]},
7
+ "faces": {
8
+ "east": {"uv": [8, 8, 12, 12], "rotation": 270, "texture": "#0"},
9
+ "south": {"uv": [12, 1, 16, 5], "rotation": 180, "texture": "#0"},
10
+ "west": {"uv": [8, 8, 12, 12], "texture": "#0"},
11
+ "up": {"uv": [12, 1, 16, 5], "rotation": 180, "texture": "#0"}
12
+ }
13
+ },
14
+ {
15
+ "from": [4, -4, 4],
16
+ "to": [12, 4, 12],
17
+ "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]},
18
+ "faces": {
19
+ "north": {"uv": [12, 4.5, 16, 5.5], "texture": "#0"},
20
+ "east": {"uv": [12, 5, 16, 6], "texture": "#0"},
21
+ "south": {"uv": [12, 5, 16, 6], "rotation": 180, "texture": "#0"},
22
+ "west": {"uv": [12, 5, 16, 6], "rotation": 180, "texture": "#0"}
23
+ }
24
+ },
25
+ {
26
+ "from": [4, 4, 0],
27
+ "to": [12, 12, 4],
28
+ "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]},
29
+ "faces": {
30
+ "east": {"uv": [12, 5, 16, 6], "rotation": 270, "texture": "#0"},
31
+ "west": {"uv": [12, 5, 16, 6], "rotation": 270, "texture": "#0"},
32
+ "up": {"uv": [12, 4.5, 16, 5.5], "rotation": 180, "texture": "#0"},
33
+ "down": {"uv": [12, 5, 16, 6], "rotation": 180, "texture": "#0"}
34
+ }
35
+ }
36
+ ]
37
+ }
@@ -0,0 +1,48 @@
1
+ {
2
+ "elements": [
3
+ {
4
+ "from": [4, 4, 4],
5
+ "to": [12, 12, 12],
6
+ "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]},
7
+ "faces": {
8
+ "north": {"uv": [12, 1, 16, 5], "rotation": 270, "texture": "#0"},
9
+ "south": {"uv": [8, 8, 12, 12], "rotation": 270, "texture": "#0"},
10
+ "west": {"uv": [8, 8, 12, 12], "texture": "#0"},
11
+ "up": {"uv": [8, 8, 12, 12], "rotation": 180, "texture": "#0"}
12
+ }
13
+ },
14
+ {
15
+ "from": [12, 4, 4],
16
+ "to": [16, 12, 12],
17
+ "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]},
18
+ "faces": {
19
+ "north": {"uv": [12, 5, 16, 6], "rotation": 270, "texture": "#0"},
20
+ "south": {"uv": [12, 4.5, 16, 5.5], "rotation": 270, "texture": "#0"},
21
+ "up": {"uv": [12, 5, 16, 6], "rotation": 90, "texture": "#0"},
22
+ "down": {"uv": [12, 5, 16, 6], "rotation": 270, "texture": "#0"}
23
+ }
24
+ },
25
+ {
26
+ "from": [4, -4, 4],
27
+ "to": [12, 4, 12],
28
+ "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]},
29
+ "faces": {
30
+ "north": {"uv": [12, 5, 16, 6], "texture": "#0"},
31
+ "east": {"uv": [12, 5, 16, 6], "rotation": 180, "texture": "#0"},
32
+ "south": {"uv": [12, 5, 16, 6], "rotation": 180, "texture": "#0"},
33
+ "west": {"uv": [12, 4.5, 16, 5.5], "texture": "#0"}
34
+ }
35
+ },
36
+ {
37
+ "from": [4, 4, 0],
38
+ "to": [12, 12, 4],
39
+ "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]},
40
+ "faces": {
41
+ "east": {"uv": [12, 4.5, 16, 5.5], "rotation": 270, "texture": "#0"},
42
+ "west": {"uv": [12, 5, 16, 6], "rotation": 270, "texture": "#0"},
43
+ "up": {"uv": [12, 5, 16, 6], "texture": "#0"},
44
+ "down": {"uv": [12, 5, 16, 6], "texture": "#0"}
45
+ }
46
+ }
47
+ ]
48
+ }
@@ -0,0 +1,58 @@
1
+ {
2
+ "elements": [
3
+ {
4
+ "from": [4, 4, 4],
5
+ "to": [12, 12, 12],
6
+ "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
7
+ "faces": {
8
+ "south": {"uv": [12, 8, 16, 12], "texture": "#0"},
9
+ "up": {"uv": [12, 8, 16, 12], "rotation": 180, "texture": "#0"},
10
+ "down": {"uv": [12, 1, 16, 5], "rotation": 180, "texture": "#0"}
11
+ }
12
+ },
13
+ {
14
+ "from": [4, 4, 0],
15
+ "to": [12, 12, 4],
16
+ "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
17
+ "faces": {
18
+ "east": {"uv": [12, 5, 16, 6], "rotation": 270, "texture": "#0"},
19
+ "west": {"uv": [12, 5, 16, 6], "rotation": 270, "texture": "#0"},
20
+ "up": {"uv": [12, 4.5, 16, 5.5], "rotation": 180, "texture": "#0"},
21
+ "down": {"uv": [12, 5, 16, 6], "rotation": 180, "texture": "#0"}
22
+ }
23
+ },
24
+ {
25
+ "from": [12, 4, 4],
26
+ "to": [16, 12, 12],
27
+ "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
28
+ "faces": {
29
+ "north": {"uv": [12, 5, 16, 6], "rotation": 270, "texture": "#0"},
30
+ "south": {"uv": [12, 4.5, 16, 5.5], "rotation": 270, "texture": "#0"},
31
+ "up": {"uv": [12, 5, 16, 6], "rotation": 90, "texture": "#0"},
32
+ "down": {"uv": [12, 5, 16, 6], "rotation": 270, "texture": "#0"}
33
+ }
34
+ },
35
+ {
36
+ "from": [0, 4, 4],
37
+ "to": [4, 12, 12],
38
+ "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
39
+ "faces": {
40
+ "north": {"uv": [12, 5, 16, 6], "rotation": 270, "texture": "#0"},
41
+ "south": {"uv": [12, 5, 16, 6], "rotation": 270, "texture": "#0"},
42
+ "up": {"uv": [12, 4.5, 16, 5.5], "rotation": 90, "texture": "#0"},
43
+ "down": {"uv": [12, 5, 16, 6], "rotation": 270, "texture": "#0"}
44
+ }
45
+ },
46
+ {
47
+ "from": [4, -4, 4],
48
+ "to": [12, 4, 12],
49
+ "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
50
+ "faces": {
51
+ "north": {"uv": [12, 4.5, 16, 5.5], "texture": "#0"},
52
+ "east": {"uv": [12, 5, 16, 6], "texture": "#0"},
53
+ "south": {"uv": [12, 5, 16, 6], "rotation": 180, "texture": "#0"},
54
+ "west": {"uv": [12, 5, 16, 6], "rotation": 180, "texture": "#0"}
55
+ }
56
+ }
57
+ ]
58
+ }
@@ -0,0 +1,48 @@
1
+ {
2
+ "elements": [
3
+ {
4
+ "from": [4, 4, 4],
5
+ "to": [12, 12, 12],
6
+ "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
7
+ "faces": {
8
+ "east": {"uv": [12, 8, 16, 12], "texture": "#0"},
9
+ "south": {"uv": [12, 1, 16, 5], "rotation": 180, "texture": "#0"},
10
+ "west": {"uv": [12, 8, 16, 12], "texture": "#0"},
11
+ "up": {"uv": [12, 1, 16, 5], "rotation": 180, "texture": "#0"}
12
+ }
13
+ },
14
+ {
15
+ "from": [4, -4, 4],
16
+ "to": [12, 4, 12],
17
+ "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
18
+ "faces": {
19
+ "north": {"uv": [12, 4.5, 16, 5.5], "texture": "#0"},
20
+ "east": {"uv": [12, 5, 16, 6], "texture": "#0"},
21
+ "south": {"uv": [12, 5, 16, 6], "rotation": 180, "texture": "#0"},
22
+ "west": {"uv": [12, 5, 16, 6], "rotation": 180, "texture": "#0"}
23
+ }
24
+ },
25
+ {
26
+ "from": [4, 4, 0],
27
+ "to": [12, 12, 4],
28
+ "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
29
+ "faces": {
30
+ "east": {"uv": [12, 5, 16, 6], "rotation": 270, "texture": "#0"},
31
+ "west": {"uv": [12, 5, 16, 6], "rotation": 270, "texture": "#0"},
32
+ "up": {"uv": [12, 4.5, 16, 5.5], "rotation": 180, "texture": "#0"},
33
+ "down": {"uv": [12, 5, 16, 6], "rotation": 180, "texture": "#0"}
34
+ }
35
+ },
36
+ {
37
+ "from": [4, 4, 12],
38
+ "to": [12, 12, 16],
39
+ "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
40
+ "faces": {
41
+ "east": {"uv": [12, 5, 16, 6], "rotation": 90, "texture": "#0"},
42
+ "west": {"uv": [12, 5, 16, 6], "rotation": 90, "texture": "#0"},
43
+ "up": {"uv": [12, 5, 16, 6], "rotation": 180, "texture": "#0"},
44
+ "down": {"uv": [12, 4.5, 16, 5.5], "rotation": 180, "texture": "#0"}
45
+ }
46
+ }
47
+ ]
48
+ }
@@ -0,0 +1,58 @@
1
+ {
2
+ "elements": [
3
+ {
4
+ "from": [4, 4, 4],
5
+ "to": [12, 12, 12],
6
+ "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]},
7
+ "faces": {
8
+ "west": {"uv": [12, 8, 16, 12], "texture": "#0"},
9
+ "up": {"uv": [12, 8, 16, 12], "rotation": 270, "texture": "#0"},
10
+ "down": {"uv": [12, 1, 16, 5], "rotation": 90, "texture": "#0"}
11
+ }
12
+ },
13
+ {
14
+ "from": [12, 4, 4],
15
+ "to": [16, 12, 12],
16
+ "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]},
17
+ "faces": {
18
+ "north": {"uv": [12, 5, 16, 6], "rotation": 270, "texture": "#0"},
19
+ "south": {"uv": [12, 5, 16, 6], "rotation": 270, "texture": "#0"},
20
+ "up": {"uv": [12, 4.5, 16, 5.5], "rotation": 270, "texture": "#0"},
21
+ "down": {"uv": [12, 5, 16, 6], "rotation": 90, "texture": "#0"}
22
+ }
23
+ },
24
+ {
25
+ "from": [4, 4, 12],
26
+ "to": [12, 12, 16],
27
+ "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]},
28
+ "faces": {
29
+ "east": {"uv": [12, 5, 16, 6], "rotation": 270, "texture": "#0"},
30
+ "west": {"uv": [12, 4.5, 16, 5.5], "rotation": 270, "texture": "#0"},
31
+ "up": {"uv": [12, 5, 16, 6], "rotation": 180, "texture": "#0"},
32
+ "down": {"uv": [12, 5, 16, 6], "rotation": 180, "texture": "#0"}
33
+ }
34
+ },
35
+ {
36
+ "from": [4, 4, 0],
37
+ "to": [12, 12, 4],
38
+ "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]},
39
+ "faces": {
40
+ "east": {"uv": [12, 5, 16, 6], "rotation": 270, "texture": "#0"},
41
+ "west": {"uv": [12, 5, 16, 6], "rotation": 270, "texture": "#0"},
42
+ "up": {"uv": [12, 4.5, 16, 5.5], "rotation": 180, "texture": "#0"},
43
+ "down": {"uv": [12, 5, 16, 6], "rotation": 180, "texture": "#0"}
44
+ }
45
+ },
46
+ {
47
+ "from": [4, -4, 4],
48
+ "to": [12, 4, 12],
49
+ "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]},
50
+ "faces": {
51
+ "north": {"uv": [12, 5, 16, 6], "rotation": 180, "texture": "#0"},
52
+ "east": {"uv": [12, 4.5, 16, 5.5], "texture": "#0"},
53
+ "south": {"uv": [12, 5, 16, 6], "texture": "#0"},
54
+ "west": {"uv": [12, 5, 16, 6], "rotation": 180, "texture": "#0"}
55
+ }
56
+ }
57
+ ]
58
+ }