stewbeet 2.1.2__tar.gz → 2.1.4__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 (237) hide show
  1. {stewbeet-2.1.2 → stewbeet-2.1.4}/PKG-INFO +6 -6
  2. {stewbeet-2.1.2 → stewbeet-2.1.4}/pyproject.toml +6 -6
  3. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/all.py +1 -0
  4. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/cables.py +110 -3
  5. stewbeet-2.1.4/stewbeet/contrib/simplenergy/servo_mechanism_models/base_block.json +17 -0
  6. stewbeet-2.1.4/stewbeet/contrib/simplenergy/servo_mechanism_models/base_item.json +28 -0
  7. stewbeet-2.1.4/stewbeet/contrib/simplenergy/servo_mechanism_models/extract_block.json +13 -0
  8. stewbeet-2.1.4/stewbeet/contrib/simplenergy/servo_mechanism_models/extract_connected.json +13 -0
  9. stewbeet-2.1.4/stewbeet/contrib/simplenergy/servo_mechanism_models/extract_item.json +6 -0
  10. stewbeet-2.1.4/stewbeet/contrib/simplenergy/servo_mechanism_models/insert_block.json +13 -0
  11. stewbeet-2.1.4/stewbeet/contrib/simplenergy/servo_mechanism_models/insert_connected.json +13 -0
  12. stewbeet-2.1.4/stewbeet/contrib/simplenergy/servo_mechanism_models/insert_item.json +6 -0
  13. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/core/definitions_helper/smart_ore_generation.py +210 -206
  14. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/dependencies/bookshelf.py +32 -31
  15. stewbeet-2.1.4/stewbeet/dependencies/bookshelf_config.json +3 -0
  16. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/dependencies/datapack/Bookshelf Bitwise.zip +0 -0
  17. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/dependencies/datapack/Bookshelf Block.zip +0 -0
  18. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/dependencies/datapack/Bookshelf Color.zip +0 -0
  19. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/dependencies/datapack/Bookshelf Dump.zip +0 -0
  20. stewbeet-2.1.4/stewbeet/dependencies/datapack/Bookshelf Environment.zip +0 -0
  21. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/dependencies/datapack/Bookshelf Generation.zip +0 -0
  22. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/dependencies/datapack/Bookshelf Health.zip +0 -0
  23. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/dependencies/datapack/Bookshelf Hitbox.zip +0 -0
  24. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/dependencies/datapack/Bookshelf Id.zip +0 -0
  25. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/dependencies/datapack/Bookshelf Interaction.zip +0 -0
  26. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/dependencies/datapack/Bookshelf Link.zip +0 -0
  27. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/dependencies/datapack/Bookshelf Log.zip +0 -0
  28. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/dependencies/datapack/Bookshelf Math.zip +0 -0
  29. stewbeet-2.1.4/stewbeet/dependencies/datapack/Bookshelf Move.zip +0 -0
  30. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/dependencies/datapack/Bookshelf Position.zip +0 -0
  31. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/dependencies/datapack/Bookshelf Random.zip +0 -0
  32. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/dependencies/datapack/Bookshelf Raycast.zip +0 -0
  33. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/dependencies/datapack/Bookshelf Schedule.zip +0 -0
  34. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/dependencies/datapack/Bookshelf Sidebar.zip +0 -0
  35. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/dependencies/datapack/Bookshelf Spline.zip +0 -0
  36. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/dependencies/datapack/Bookshelf String.zip +0 -0
  37. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/dependencies/datapack/Bookshelf Time.zip +0 -0
  38. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/dependencies/datapack/Bookshelf Tree.zip +0 -0
  39. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/dependencies/datapack/Bookshelf Vector.zip +0 -0
  40. stewbeet-2.1.4/stewbeet/dependencies/datapack/Bookshelf View.zip +0 -0
  41. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/dependencies/datapack/Bookshelf Xp.zip +0 -0
  42. stewbeet-2.1.4/stewbeet/plugins/auto/headers/__init__.py +43 -0
  43. stewbeet-2.1.4/stewbeet/plugins/auto/headers/context_analyzer.py +99 -0
  44. stewbeet-2.1.4/stewbeet/plugins/auto/headers/execution_parser.py +212 -0
  45. stewbeet-2.1.4/stewbeet/plugins/auto/headers/function_analyzer.py +92 -0
  46. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/auto/headers/object.py +21 -2
  47. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/compatibilities/simpledrawer/__init__.py +2 -5
  48. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/custom_recipes/vanilla.py +3 -8
  49. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/datapack/custom_blocks/__init__.py +279 -116
  50. stewbeet-2.1.4/stewbeet/plugins/datapack/sorters/mod.mcdoc +30 -0
  51. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/resource_pack/item_models/object.py +6 -10
  52. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/verify_definitions/__init__.py +6 -2
  53. stewbeet-2.1.2/stewbeet/dependencies/bookshelf_config.json +0 -3
  54. stewbeet-2.1.2/stewbeet/dependencies/datapack/Bookshelf Environment.zip +0 -0
  55. stewbeet-2.1.2/stewbeet/dependencies/datapack/Bookshelf Move.zip +0 -0
  56. stewbeet-2.1.2/stewbeet/dependencies/datapack/Bookshelf View.zip +0 -0
  57. stewbeet-2.1.2/stewbeet/plugins/auto/headers/__init__.py +0 -82
  58. {stewbeet-2.1.2 → stewbeet-2.1.4}/.gitignore +0 -0
  59. {stewbeet-2.1.2 → stewbeet-2.1.4}/LICENSE +0 -0
  60. {stewbeet-2.1.2 → stewbeet-2.1.4}/README.md +0 -0
  61. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/__init__.py +0 -0
  62. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/__main__.py +0 -0
  63. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/cli.py +0 -0
  64. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/continuous_delivery/__init__.py +0 -0
  65. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/continuous_delivery/cd_utils.py +0 -0
  66. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/continuous_delivery/github.py +0 -0
  67. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/continuous_delivery/modrinth.py +0 -0
  68. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/continuous_delivery/pmc.py +0 -0
  69. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/continuous_delivery/smithed.py +0 -0
  70. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/__init__.py +0 -0
  71. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/balancing.py +0 -0
  72. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/batteries.py +0 -0
  73. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant.json +0 -0
  74. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_d.json +0 -0
  75. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_de.json +0 -0
  76. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_dew.json +0 -0
  77. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_dn.json +0 -0
  78. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_dne.json +0 -0
  79. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_dnew.json +0 -0
  80. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_dns.json +0 -0
  81. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_dnse.json +0 -0
  82. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_dnsew.json +0 -0
  83. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_dnsw.json +0 -0
  84. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_dnw.json +0 -0
  85. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_ds.json +0 -0
  86. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_dse.json +0 -0
  87. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_dsew.json +0 -0
  88. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_dsw.json +0 -0
  89. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_dw.json +0 -0
  90. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_e.json +0 -0
  91. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_ew.json +0 -0
  92. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_n.json +0 -0
  93. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_ne.json +0 -0
  94. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_new.json +0 -0
  95. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_ns.json +0 -0
  96. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_nse.json +0 -0
  97. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_nsew.json +0 -0
  98. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_nsw.json +0 -0
  99. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_nw.json +0 -0
  100. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_s.json +0 -0
  101. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_se.json +0 -0
  102. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_sew.json +0 -0
  103. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_sw.json +0 -0
  104. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_u.json +0 -0
  105. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_ud.json +0 -0
  106. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_ude.json +0 -0
  107. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_udew.json +0 -0
  108. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_udn.json +0 -0
  109. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_udne.json +0 -0
  110. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_udnew.json +0 -0
  111. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_udns.json +0 -0
  112. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_udnse.json +0 -0
  113. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_udnsew.json +0 -0
  114. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_udnsw.json +0 -0
  115. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_udnw.json +0 -0
  116. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_uds.json +0 -0
  117. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_udse.json +0 -0
  118. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_udsew.json +0 -0
  119. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_udsw.json +0 -0
  120. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_udw.json +0 -0
  121. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_ue.json +0 -0
  122. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_uew.json +0 -0
  123. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_un.json +0 -0
  124. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_une.json +0 -0
  125. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_unew.json +0 -0
  126. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_uns.json +0 -0
  127. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_unse.json +0 -0
  128. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_unsew.json +0 -0
  129. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_unsw.json +0 -0
  130. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_unw.json +0 -0
  131. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_us.json +0 -0
  132. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_use.json +0 -0
  133. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_usew.json +0 -0
  134. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_usw.json +0 -0
  135. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_uw.json +0 -0
  136. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_cable_models/variant_w.json +0 -0
  137. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/energy_lib_calls.py +0 -0
  138. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/gui.py +0 -0
  139. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/item_cable_models/cable.bbmodel +0 -0
  140. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/item_cable_models/cable_base.json +0 -0
  141. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/contrib/simplenergy/wrench.py +0 -0
  142. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/core/__init__.py +0 -0
  143. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/core/__memory__.py +0 -0
  144. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/core/constants.py +0 -0
  145. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/core/definitions_helper/__init__.py +0 -0
  146. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/core/definitions_helper/completion.py +0 -0
  147. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/core/definitions_helper/equipments.py +0 -0
  148. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/core/definitions_helper/materials.py +0 -0
  149. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/core/definitions_helper/records.py +0 -0
  150. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/core/definitions_helper/simplenergy.py +0 -0
  151. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/core/definitions_helper/text.py +0 -0
  152. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/core/ingredients.py +0 -0
  153. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/core/utils/io.py +0 -0
  154. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/core/utils/sounds.py +0 -0
  155. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/dependencies/__init__.py +0 -0
  156. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/dependencies/datapack/Common Signals.zip +0 -0
  157. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/dependencies/datapack/Furnace NBT Recipes.zip +0 -0
  158. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/dependencies/datapack/ItemIO.zip +0 -0
  159. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/dependencies/datapack/SmartOreGeneration.zip +0 -0
  160. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/dependencies/datapack/Smithed Crafter.zip +0 -0
  161. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/dependencies/datapack/Smithed Custom Block.zip +0 -0
  162. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/dependencies/resource_pack/Smithed Crafter.zip +0 -0
  163. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/archive/__init__.py +0 -0
  164. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/auto/lang_file/__init__.py +0 -0
  165. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/auto/lang_file/utils.py +0 -0
  166. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/compatibilities/neo_enchant/__init__.py +0 -0
  167. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/compute_sha1/__init__.py +0 -0
  168. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/copy_to_destination/__init__.py +0 -0
  169. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/custom_recipes/__init__.py +0 -0
  170. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/custom_recipes/furnace.py +0 -0
  171. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/custom_recipes/pulverizer.py +0 -0
  172. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/custom_recipes/smithed.py +0 -0
  173. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/datapack/loading/__init__.py +0 -0
  174. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/datapack/loot_tables/__init__.py +0 -0
  175. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/datapack/sorters/__init__.py +0 -0
  176. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/datapack/sorters/constants.py +0 -0
  177. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/datapack/sorters/extend_datapack.py +0 -0
  178. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/datapack/sorters/match.py +0 -0
  179. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/datapack/sorters/quick_sort.py +0 -0
  180. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/datapack/sorters/selection_sort.py +0 -0
  181. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/finalyze/basic_datapack_structure/__init__.py +0 -0
  182. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/finalyze/check_unused_textures/__init__.py +0 -0
  183. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/finalyze/custom_blocks_ticking/__init__.py +0 -0
  184. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/finalyze/dependencies/__init__.py +0 -0
  185. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/finalyze/last_final/__init__.py +0 -0
  186. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/__init__.py +0 -0
  187. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/assets/furnace.png +0 -0
  188. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/assets/heavy_workbench.png +0 -0
  189. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/assets/invisible_item.png +0 -0
  190. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/assets/invisible_item_release.png +0 -0
  191. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/assets/minecraft_font.ttf +0 -0
  192. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/assets/none.png +0 -0
  193. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/assets/none_release.png +0 -0
  194. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/assets/pulverizing.png +0 -0
  195. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/assets/shaped_2x2.png +0 -0
  196. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/assets/shaped_3x3.png +0 -0
  197. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/assets/simple_case_no_border.png +0 -0
  198. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/assets/wiki_information.png +0 -0
  199. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/assets/wiki_ingredient_of_craft.png +0 -0
  200. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/assets/wiki_ingredient_of_craft_template.png +0 -0
  201. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/assets/wiki_result_of_craft.png +0 -0
  202. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/book_components.py +0 -0
  203. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/book_optimizer.py +0 -0
  204. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/craft_content.py +0 -0
  205. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/image_utils.py +0 -0
  206. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/iso_renders.py +0 -0
  207. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/main.py +0 -0
  208. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/other_utils.py +0 -0
  209. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/page_font.py +0 -0
  210. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/shared_import.py +0 -0
  211. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/showcase_image.py +0 -0
  212. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/templates/.gitignore +0 -0
  213. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/templates/_README.md +0 -0
  214. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/templates/furnace.png +0 -0
  215. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/templates/heavy_workbench.png +0 -0
  216. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/templates/invisible_item.png +0 -0
  217. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/templates/invisible_item_release.png +0 -0
  218. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/templates/minecraft_font.ttf +0 -0
  219. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/templates/none.png +0 -0
  220. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/templates/none_release.png +0 -0
  221. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/templates/pulverizing.png +0 -0
  222. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/templates/shaped_2x2.png +0 -0
  223. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/templates/shaped_3x3.png +0 -0
  224. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/templates/simple_case_no_border.png +0 -0
  225. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/templates/wiki_information.png +0 -0
  226. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/templates/wiki_ingredient_of_craft.png +0 -0
  227. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/templates/wiki_ingredient_of_craft_template.png +0 -0
  228. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/templates/wiki_result_of_craft.png +0 -0
  229. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/ingame_manual/text_components.py +0 -0
  230. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/initialize/__init__.py +0 -0
  231. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/initialize/source_lore_font.py +0 -0
  232. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/merge_smithed_weld/__init__.py +0 -0
  233. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/merge_smithed_weld/weld.py +0 -0
  234. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/resource_pack/check_power_of_2/__init__.py +0 -0
  235. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/resource_pack/item_models/__init__.py +0 -0
  236. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/plugins/resource_pack/sounds/__init__.py +0 -0
  237. {stewbeet-2.1.2 → stewbeet-2.1.4}/stewbeet/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: stewbeet
3
- Version: 2.1.2
3
+ Version: 2.1.4
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
@@ -11,14 +11,14 @@ Classifier: License :: OSI Approved :: MIT License
11
11
  Classifier: Operating System :: OS Independent
12
12
  Classifier: Programming Language :: Python :: 3
13
13
  Requires-Python: >=3.12
14
- Requires-Dist: beet>=0.110.1
15
- Requires-Dist: bolt>=0.49.1
16
- Requires-Dist: mecha>=0.98.1
17
- Requires-Dist: model-resolver>=1.8.0
14
+ Requires-Dist: beet>=0.111.0
15
+ Requires-Dist: bolt>=0.49.2
16
+ Requires-Dist: mecha>=0.99.0
17
+ Requires-Dist: model-resolver>=1.10.0
18
18
  Requires-Dist: mutagen>=1.47.0
19
19
  Requires-Dist: pyperclip>=1.8.0
20
20
  Requires-Dist: smithed>=0.19.0
21
- Requires-Dist: stouputils>=1.3.19
21
+ Requires-Dist: stouputils>=1.3.20
22
22
  Description-Content-Type: text/markdown
23
23
 
24
24
 
@@ -5,7 +5,7 @@ build-backend = "hatchling.build"
5
5
 
6
6
  [project]
7
7
  name = "stewbeet"
8
- version = "2.1.2"
8
+ version = "2.1.4"
9
9
  description = "Beet Framework made to help generating advanced Minecraft datapack contents"
10
10
  readme = "README.md"
11
11
  license = "MIT"
@@ -16,11 +16,11 @@ classifiers = [
16
16
  "Operating System :: OS Independent",
17
17
  ]
18
18
  dependencies = [
19
- "stouputils>=1.3.19",
20
- "model_resolver>=1.8.0",
21
- "beet>=0.110.1",
22
- "bolt>=0.49.1",
23
- "mecha>=0.98.1",
19
+ "stouputils>=1.3.20",
20
+ "model_resolver>=1.10.0",
21
+ "beet>=0.111.0",
22
+ "bolt>=0.49.2",
23
+ "mecha>=0.99.0",
24
24
  "smithed>=0.19.0",
25
25
  "mutagen>=1.47.0",
26
26
  "pyperclip>=1.8.0",
@@ -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,28 @@
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": [20, 45, 0],
24
+ "translation": [0, 3.5, 0],
25
+ "scale": [0.75, 0.75, 0.75]
26
+ }
27
+ }
28
+ }
@@ -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
+ }