stewbeet 2.0.24__tar.gz → 2.1.1__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.
- {stewbeet-2.0.24 → stewbeet-2.1.1}/PKG-INFO +1 -1
- {stewbeet-2.0.24 → stewbeet-2.1.1}/pyproject.toml +1 -1
- stewbeet-2.1.1/stewbeet/contrib/simplenergy/cables.py +222 -0
- stewbeet-2.1.1/stewbeet/contrib/simplenergy/item_cable_models/cable.bbmodel +1 -0
- stewbeet-2.1.1/stewbeet/contrib/simplenergy/item_cable_models/cable_base.json +755 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/core/constants.py +101 -101
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/core/definitions_helper/materials.py +61 -48
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/dependencies/datapack/Bookshelf Block.zip +0 -0
- stewbeet-2.1.1/stewbeet/dependencies/datapack/Bookshelf Hitbox.zip +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/dependencies/datapack/Bookshelf Math.zip +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/dependencies/datapack/Bookshelf Position.zip +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/dependencies/datapack/Bookshelf Random.zip +0 -0
- stewbeet-2.1.1/stewbeet/dependencies/datapack/Bookshelf Raycast.zip +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/book_components.py +11 -4
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/craft_content.py +19 -8
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/iso_renders.py +15 -11
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/page_font.py +31 -10
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/initialize/__init__.py +2 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/resource_pack/item_models/object.py +22 -9
- stewbeet-2.0.24/stewbeet/contrib/simplenergy/cables.py +0 -103
- stewbeet-2.0.24/stewbeet/dependencies/datapack/Bookshelf Hitbox.zip +0 -0
- stewbeet-2.0.24/stewbeet/dependencies/datapack/Bookshelf Raycast.zip +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/.gitignore +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/LICENSE +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/README.md +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/__init__.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/__main__.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/all.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/cli.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/continuous_delivery/__init__.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/continuous_delivery/cd_utils.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/continuous_delivery/github.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/continuous_delivery/modrinth.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/continuous_delivery/pmc.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/continuous_delivery/smithed.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/contrib/simplenergy/__init__.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/contrib/simplenergy/balancing.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/contrib/simplenergy/batteries.py +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_d.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_de.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_dew.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_dn.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_dne.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_dnew.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_dns.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_dnse.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_dnsew.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_dnsw.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_dnw.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_ds.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_dse.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_dsew.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_dsw.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_dw.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_e.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_ew.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_n.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_ne.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_new.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_ns.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_nse.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_nsew.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_nsw.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_nw.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_s.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_se.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_sew.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_sw.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_u.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_ud.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_ude.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_udew.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_udn.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_udne.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_udnew.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_udns.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_udnse.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_udnsew.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_udnsw.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_udnw.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_uds.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_udse.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_udsew.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_udsw.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_udw.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_ue.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_uew.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_un.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_une.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_unew.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_uns.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_unse.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_unsew.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_unsw.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_unw.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_us.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_use.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_usew.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_usw.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_uw.json +0 -0
- {stewbeet-2.0.24/stewbeet/contrib/simplenergy/cable_models → stewbeet-2.1.1/stewbeet/contrib/simplenergy/energy_cable_models}/variant_w.json +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/contrib/simplenergy/energy_lib_calls.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/contrib/simplenergy/gui.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/contrib/simplenergy/wrench.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/core/__init__.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/core/__memory__.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/core/definitions_helper/__init__.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/core/definitions_helper/completion.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/core/definitions_helper/equipments.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/core/definitions_helper/records.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/core/definitions_helper/simplenergy.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/core/definitions_helper/smart_ore_generation.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/core/definitions_helper/text.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/core/ingredients.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/core/utils/io.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/core/utils/sounds.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/dependencies/__init__.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/dependencies/bookshelf.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/dependencies/bookshelf_config.json +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/dependencies/datapack/Bookshelf Bitwise.zip +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/dependencies/datapack/Bookshelf Color.zip +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/dependencies/datapack/Bookshelf Dump.zip +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/dependencies/datapack/Bookshelf Environment.zip +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/dependencies/datapack/Bookshelf Generation.zip +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/dependencies/datapack/Bookshelf Health.zip +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/dependencies/datapack/Bookshelf Id.zip +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/dependencies/datapack/Bookshelf Interaction.zip +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/dependencies/datapack/Bookshelf Link.zip +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/dependencies/datapack/Bookshelf Log.zip +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/dependencies/datapack/Bookshelf Move.zip +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/dependencies/datapack/Bookshelf Schedule.zip +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/dependencies/datapack/Bookshelf Sidebar.zip +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/dependencies/datapack/Bookshelf Spline.zip +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/dependencies/datapack/Bookshelf String.zip +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/dependencies/datapack/Bookshelf Time.zip +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/dependencies/datapack/Bookshelf Tree.zip +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/dependencies/datapack/Bookshelf Vector.zip +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/dependencies/datapack/Bookshelf View.zip +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/dependencies/datapack/Bookshelf Xp.zip +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/dependencies/datapack/Common Signals.zip +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/dependencies/datapack/Furnace NBT Recipes.zip +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/dependencies/datapack/ItemIO.zip +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/dependencies/datapack/SmartOreGeneration.zip +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/dependencies/datapack/Smithed Crafter.zip +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/dependencies/datapack/Smithed Custom Block.zip +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/dependencies/resource_pack/Smithed Crafter.zip +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/archive/__init__.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/auto/headers/__init__.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/auto/headers/object.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/auto/lang_file/__init__.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/auto/lang_file/utils.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/compatibilities/neo_enchant/__init__.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/compatibilities/simpledrawer/__init__.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/compute_sha1/__init__.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/copy_to_destination/__init__.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/custom_recipes/__init__.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/custom_recipes/furnace.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/custom_recipes/pulverizer.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/custom_recipes/smithed.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/custom_recipes/vanilla.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/datapack/custom_blocks/__init__.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/datapack/loading/__init__.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/datapack/loot_tables/__init__.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/finalyze/basic_datapack_structure/__init__.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/finalyze/check_unused_textures/__init__.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/finalyze/custom_blocks_ticking/__init__.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/finalyze/dependencies/__init__.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/finalyze/last_final/__init__.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/__init__.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/assets/furnace.png +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/assets/heavy_workbench.png +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/assets/invisible_item.png +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/assets/invisible_item_release.png +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/assets/minecraft_font.ttf +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/assets/none.png +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/assets/none_release.png +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/assets/pulverizing.png +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/assets/shaped_2x2.png +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/assets/shaped_3x3.png +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/assets/simple_case_no_border.png +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/assets/wiki_information.png +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/assets/wiki_ingredient_of_craft.png +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/assets/wiki_ingredient_of_craft_template.png +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/assets/wiki_result_of_craft.png +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/book_optimizer.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/image_utils.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/main.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/other_utils.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/shared_import.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/showcase_image.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/templates/.gitignore +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/templates/_README.md +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/templates/furnace.png +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/templates/heavy_workbench.png +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/templates/invisible_item.png +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/templates/invisible_item_release.png +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/templates/minecraft_font.ttf +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/templates/none.png +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/templates/none_release.png +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/templates/pulverizing.png +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/templates/shaped_2x2.png +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/templates/shaped_3x3.png +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/templates/simple_case_no_border.png +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/templates/wiki_information.png +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/templates/wiki_ingredient_of_craft.png +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/templates/wiki_ingredient_of_craft_template.png +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/templates/wiki_result_of_craft.png +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/ingame_manual/text_components.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/initialize/source_lore_font.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/merge_smithed_weld/__init__.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/merge_smithed_weld/weld.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/resource_pack/check_power_of_2/__init__.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/resource_pack/item_models/__init__.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/resource_pack/sounds/__init__.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/plugins/verify_definitions/__init__.py +0 -0
- {stewbeet-2.0.24 → stewbeet-2.1.1}/stewbeet/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: stewbeet
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.1.1
|
|
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
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
|
|
2
|
+
# Imports
|
|
3
|
+
import os
|
|
4
|
+
|
|
5
|
+
from beet import ItemModel, Model, Texture
|
|
6
|
+
from stouputils.io import get_root_path, super_json_load
|
|
7
|
+
|
|
8
|
+
from ...core import CUSTOM_ITEM_VANILLA, JsonDict, Mem, set_json_encoder, write_function
|
|
9
|
+
|
|
10
|
+
# Constants
|
|
11
|
+
ENERGY_CABLE_MODELS_FOLDER: str = get_root_path(__file__) + "/energy_cable_models"
|
|
12
|
+
|
|
13
|
+
# Setup machines work and visuals
|
|
14
|
+
def energy_cables_models(cables: list[str]) -> None:
|
|
15
|
+
""" Setup energy cables models and functions for SimplEnergy.
|
|
16
|
+
|
|
17
|
+
Args:
|
|
18
|
+
cables (list[str]): List of cables to setup. (e.g. ["simple_cable", "advanced_cable", "elite_cable"])
|
|
19
|
+
"""
|
|
20
|
+
ns: str = Mem.ctx.project_id
|
|
21
|
+
textures_folder: str = Mem.ctx.meta.stewbeet.textures_folder
|
|
22
|
+
|
|
23
|
+
# Setup parent cable model
|
|
24
|
+
parent_model: dict = {"parent":"block/block","display":{"fixed":{"rotation":[180,0,0],"translation":[0,-4,0],"scale":[1.005,1.005,1.005]}}}
|
|
25
|
+
Mem.ctx.assets[ns].models["block/cable_base"] = set_json_encoder(Model(parent_model))
|
|
26
|
+
|
|
27
|
+
# Setup cables models
|
|
28
|
+
for cable in cables:
|
|
29
|
+
# Setup vanilla model for this cable
|
|
30
|
+
content: dict = {"model": {"type": "minecraft:range_dispatch","property": "minecraft:custom_model_data","entries": []}}
|
|
31
|
+
|
|
32
|
+
# Create all the cables variants models
|
|
33
|
+
for root, _, files in os.walk(ENERGY_CABLE_MODELS_FOLDER):
|
|
34
|
+
for file in files:
|
|
35
|
+
if file.endswith(".json"):
|
|
36
|
+
path: str = f"{root}/{file}"
|
|
37
|
+
|
|
38
|
+
# Load the json file
|
|
39
|
+
json_file: dict = super_json_load(path)
|
|
40
|
+
|
|
41
|
+
# Create the new json
|
|
42
|
+
new_json: dict = {
|
|
43
|
+
"parent": f"{ns}:block/cable_base",
|
|
44
|
+
"textures": {"0": f"{ns}:block/{cable}", "particle": f"{ns}:block/{cable}"},
|
|
45
|
+
}
|
|
46
|
+
new_json.update(json_file)
|
|
47
|
+
|
|
48
|
+
# Write the new json
|
|
49
|
+
no_ext: str = os.path.splitext(file)[0]
|
|
50
|
+
Mem.ctx.assets[ns].models[f"block/{cable}/{no_ext}"] = set_json_encoder(Model(new_json), max_level=3)
|
|
51
|
+
|
|
52
|
+
# Link vanilla model
|
|
53
|
+
for i in range(64):
|
|
54
|
+
# Get faces
|
|
55
|
+
down: str = "d" if i & 1 else ""
|
|
56
|
+
up: str = "u" if i & 2 else ""
|
|
57
|
+
north: str = "n" if i & 4 else ""
|
|
58
|
+
south: str = "s" if i & 8 else ""
|
|
59
|
+
west: str = "w" if i & 16 else ""
|
|
60
|
+
east: str = "e" if i & 32 else ""
|
|
61
|
+
model_path: str = f"{ns}:block/{cable}/variant_{up}{down}{north}{south}{east}{west}"
|
|
62
|
+
if model_path.endswith("_"):
|
|
63
|
+
model_path = model_path[:-1]
|
|
64
|
+
|
|
65
|
+
# Add override
|
|
66
|
+
content["model"]["entries"].append({"threshold": i, "model":{"type": "minecraft:model", "model": model_path}})
|
|
67
|
+
|
|
68
|
+
# Write the vanilla model for this cable
|
|
69
|
+
Mem.ctx.assets[ns].item_models[cable] = set_json_encoder(ItemModel(content), max_level=3)
|
|
70
|
+
|
|
71
|
+
# Copy texture
|
|
72
|
+
src: str = f"{textures_folder}/{cable}.png"
|
|
73
|
+
mcmeta: JsonDict | None = None if not os.path.exists(src + ".mcmeta") else super_json_load(f"{src}.mcmeta")
|
|
74
|
+
Mem.ctx.assets[ns].textures[f"block/{cable}"] = Texture(source_path=src, mcmeta=mcmeta)
|
|
75
|
+
|
|
76
|
+
# On placement, rotate
|
|
77
|
+
write_function(f"{ns}:custom_blocks/{cable}/place_secondary", f"""
|
|
78
|
+
# Cable rotation for models, and common cable tag
|
|
79
|
+
data modify entity @s item_display set value "fixed"
|
|
80
|
+
tag @s add {ns}.cable
|
|
81
|
+
""")
|
|
82
|
+
|
|
83
|
+
# Update_cable_model function
|
|
84
|
+
cables_str: str = "\n".join([
|
|
85
|
+
f"execute if entity @s[tag={ns}.{cable}] run item replace entity @s contents with {CUSTOM_ITEM_VANILLA}[item_model=\"{ns}:{cable}\"]"
|
|
86
|
+
for cable in cables
|
|
87
|
+
])
|
|
88
|
+
cable_update_content: str = f"""
|
|
89
|
+
# Stop if not {ns} cable
|
|
90
|
+
execute unless entity @s[tag={ns}.custom_block,tag=energy.cable] run return fail
|
|
91
|
+
|
|
92
|
+
# Apply the model dynamically based on cable tags
|
|
93
|
+
{cables_str}
|
|
94
|
+
|
|
95
|
+
# Get the right model
|
|
96
|
+
item modify entity @s contents {{"function": "minecraft:set_custom_model_data","floats": {{"values": [{{"type": "minecraft:score","target": "this","score": "energy.data"}}],"mode": "replace_all"}}}}
|
|
97
|
+
"""
|
|
98
|
+
write_function(f"{ns}:calls/energy/cable_update", cable_update_content, tags=["energy:v1/cable_update"])
|
|
99
|
+
return
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
# Setup machines work and visuals
|
|
104
|
+
def item_cables_models(cables: dict[str, dict[str, str] | None]) -> None:
|
|
105
|
+
""" Setup item cables models and functions for SimplEnergy.
|
|
106
|
+
|
|
107
|
+
Args:
|
|
108
|
+
cables (dict[str, dict[str, str]]): Dictionary of item cables to setup.
|
|
109
|
+
Each key is the cable name, and the value is a dictionary mapping model textures to their paths
|
|
110
|
+
The mapping dictionnary is optional, if not provided, it will use the default model paths.
|
|
111
|
+
(e.g. {"item_cable":{"0":"item_cable/center","1":"item_cable/pillon","2":"item_cable/glass"}})
|
|
112
|
+
"""
|
|
113
|
+
ns: str = Mem.ctx.project_id
|
|
114
|
+
textures_folder: str = Mem.ctx.meta.stewbeet.textures_folder
|
|
115
|
+
|
|
116
|
+
# Constants for cable generation (same as your code principle)
|
|
117
|
+
sides: list[str] = ["u", "d", "n", "s", "e", "w"]
|
|
118
|
+
cube_names: list[str] = ["top", "bottom", "north", "south", "east", "west"]
|
|
119
|
+
|
|
120
|
+
# Path to the base cable model
|
|
121
|
+
cable_base_path: str = get_root_path(__file__) + "/item_cable_models/cable_base.json"
|
|
122
|
+
|
|
123
|
+
# Handle parameters
|
|
124
|
+
for cable, textures in cables.items():
|
|
125
|
+
if textures is None:
|
|
126
|
+
textures = {}
|
|
127
|
+
if not textures.get("0"):
|
|
128
|
+
textures["0"] = f"{cable}/center"
|
|
129
|
+
if not textures.get("1"):
|
|
130
|
+
textures["1"] = f"{cable}/pillon"
|
|
131
|
+
if not textures.get("2"):
|
|
132
|
+
textures["2"] = f"{cable}/glass"
|
|
133
|
+
if not textures.get("particle"):
|
|
134
|
+
textures["particle"] = f"{cable}/center"
|
|
135
|
+
|
|
136
|
+
# Setup vanilla model for this item cable
|
|
137
|
+
content: dict = {"model": {"type": "minecraft:range_dispatch","property": "minecraft:custom_model_data","entries": []}}
|
|
138
|
+
|
|
139
|
+
# Generate all variants (64 possibilities like your code)
|
|
140
|
+
for i in range(64):
|
|
141
|
+
# Generate indicator like your code: _n _u _d _s _e _w _ns _ne _nw _se _sw etc
|
|
142
|
+
indicator: str = "_"
|
|
143
|
+
for side in sides:
|
|
144
|
+
if i & (1 << sides.index(side)):
|
|
145
|
+
indicator += side
|
|
146
|
+
|
|
147
|
+
# Load the base cable model
|
|
148
|
+
base_data: dict = super_json_load(cable_base_path)
|
|
149
|
+
|
|
150
|
+
# Update textures to use the current cable's textures
|
|
151
|
+
base_data["textures"] = {
|
|
152
|
+
"0": f"{ns}:block/{textures['0']}",
|
|
153
|
+
"1": f"{ns}:block/{textures['1']}",
|
|
154
|
+
"2": f"{ns}:block/{textures['2']}",
|
|
155
|
+
"particle": f"{ns}:block/{textures['particle']}"
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
# Remove elements for sides that are not connected (same principle as your code)
|
|
159
|
+
for side in sides:
|
|
160
|
+
if side not in indicator:
|
|
161
|
+
cube_name = cube_names[sides.index(side)]
|
|
162
|
+
j = 0
|
|
163
|
+
while j < len(base_data["elements"]):
|
|
164
|
+
element_name = base_data["elements"][j].get("name", "")
|
|
165
|
+
if cube_name in element_name:
|
|
166
|
+
base_data["elements"].pop(j)
|
|
167
|
+
j -= 1
|
|
168
|
+
j += 1
|
|
169
|
+
|
|
170
|
+
# Save the variant model
|
|
171
|
+
variant_name = f"variant{indicator}" if indicator != "_" else "no_variant"
|
|
172
|
+
Mem.ctx.assets[ns].models[f"block/{cable}/{variant_name}"] = set_json_encoder(Model(base_data), max_level=3)
|
|
173
|
+
|
|
174
|
+
# Add entry to the range dispatch model
|
|
175
|
+
model_path = f"{ns}:block/{cable}/{variant_name}"
|
|
176
|
+
content["model"]["entries"].append({"threshold": i, "model": {"type": "minecraft:model", "model": model_path}})
|
|
177
|
+
|
|
178
|
+
# Write the vanilla model for this item cable
|
|
179
|
+
Mem.ctx.assets[ns].item_models[cable] = set_json_encoder(ItemModel(content), max_level=3)
|
|
180
|
+
|
|
181
|
+
# Copy textures to resource pack
|
|
182
|
+
for texture_path in textures.values():
|
|
183
|
+
src: str = f"{textures_folder}/{texture_path}.png"
|
|
184
|
+
dst: str = f"block/{texture_path}"
|
|
185
|
+
|
|
186
|
+
# Check if the source file exists and if the texture is not already registered
|
|
187
|
+
if os.path.exists(src) and (not Mem.ctx.assets[ns].textures.get(dst)):
|
|
188
|
+
mcmeta: JsonDict | None = None if not os.path.exists(src + ".mcmeta") else super_json_load(f"{src}.mcmeta")
|
|
189
|
+
Mem.ctx.assets[ns].textures[dst] = Texture(source_path=src, mcmeta=mcmeta)
|
|
190
|
+
|
|
191
|
+
# On placement, add itemio.cable tag and call init function
|
|
192
|
+
write_function(f"{ns}:custom_blocks/{cable}/place_secondary", f"""
|
|
193
|
+
# Item cable setup for models, and common itemio cable tag
|
|
194
|
+
tag @s add {ns}.cable
|
|
195
|
+
tag @s add itemio.cable
|
|
196
|
+
function #itemio:calls/cables/init
|
|
197
|
+
""")
|
|
198
|
+
|
|
199
|
+
# On destruction, call destroy function
|
|
200
|
+
write_function(f"{ns}:custom_blocks/{cable}/destroy", """
|
|
201
|
+
# Item cable destruction cleanup
|
|
202
|
+
function #itemio:calls/cables/destroy
|
|
203
|
+
""")
|
|
204
|
+
|
|
205
|
+
# Update_cable_model function
|
|
206
|
+
cables_str: str = "\n".join([
|
|
207
|
+
f"execute if entity @s[tag={ns}.{cable}] run item replace entity @s contents with {CUSTOM_ITEM_VANILLA}[item_model=\"{ns}:{cable}\"]"
|
|
208
|
+
for cable in cables
|
|
209
|
+
])
|
|
210
|
+
cable_update_content: str = f"""
|
|
211
|
+
# Stop if not {ns} cable
|
|
212
|
+
execute unless entity @s[tag={ns}.custom_block,tag=itemio.cable] run return fail
|
|
213
|
+
|
|
214
|
+
# Apply the model dynamically based on cable tags
|
|
215
|
+
{cables_str}
|
|
216
|
+
|
|
217
|
+
# Get the right model
|
|
218
|
+
item modify entity @s contents {{"function": "minecraft:set_custom_model_data","floats": {{"values": [{{"type": "minecraft:score","target": "this","score": "itemio.math"}}],"mode": "replace_all"}}}}
|
|
219
|
+
"""
|
|
220
|
+
write_function(f"{ns}:calls/itemio/cable_update", cable_update_content, tags=["itemio:event/cable_update"])
|
|
221
|
+
return
|
|
222
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"meta":{"format_version":"4.0","model_format":"java_block","box_uv":false},"name":"wire","parent":"","ambientocclusion":true,"front_gui_light":false,"visible_box":[1,1,0],"variable_placeholders":"","variable_placeholder_buttons":[],"resolution":{"width":16,"height":16},"elements":[{"name":"center","rescale":false,"locked":false,"from":[5,5,5],"to":[11,11,11],"autouv":0,"color":3,"origin":[0,0,0],"faces":{"north":{"uv":[0,0,3,3],"texture":0},"east":{"uv":[0,3,3,6],"texture":0},"south":{"uv":[3,0,6,3],"texture":0},"west":{"uv":[3,3,6,6],"texture":0},"up":{"uv":[3,9,0,6],"texture":0},"down":{"uv":[9,0,6,3],"texture":0}},"type":"cube","uuid":"979dd825-54a7-246b-5bcc-f74c80be5321"},{"name":"north","rescale":false,"locked":false,"from":[6,6,0],"to":[10,10,5],"autouv":0,"color":6,"origin":[8,8,8],"faces":{"north":{"uv":[0,8,4,12],"texture":1},"east":{"uv":[0,0,5,4],"texture":1},"south":{"uv":[9,0,13,4],"texture":1},"west":{"uv":[0,4,5,8],"texture":1},"up":{"uv":[9,5,5,0],"texture":1},"down":{"uv":[9,5,5,10],"texture":1}},"type":"cube","uuid":"dc64215e-4a7b-f48f-fa12-972c2cc011c7"},{"name":"top","rescale":false,"locked":false,"from":[6,11,6],"to":[10,16,10],"autouv":0,"color":6,"origin":[8,8,8],"faces":{"north":{"uv":[9,5,5,10],"rotation":180,"texture":1},"east":{"uv":[0,0,5,4],"rotation":270,"texture":1},"south":{"uv":[9,5,5,0],"texture":1},"west":{"uv":[0,4,5,8],"rotation":90,"texture":1},"up":{"uv":[0,8,4,12],"rotation":180,"texture":1},"down":{"uv":[9,0,13,4],"texture":1}},"type":"cube","uuid":"8144af98-4d52-2944-e6b7-926d8eac8e02"},{"name":"bottom","rescale":false,"locked":false,"from":[6,0,6],"to":[10,5,10],"autouv":0,"color":6,"origin":[8,8,8],"faces":{"north":{"uv":[9,5,5,0],"rotation":180,"texture":1},"east":{"uv":[0,0,5,4],"rotation":90,"texture":1},"south":{"uv":[9,5,5,10],"texture":1},"west":{"uv":[0,4,5,8],"rotation":270,"texture":1},"up":{"uv":[9,0,13,4],"texture":1},"down":{"uv":[0,8,4,12],"rotation":180,"texture":1}},"type":"cube","uuid":"6049216b-22df-e8df-7910-83783c78af69"},{"name":"south","rescale":false,"locked":false,"from":[6,6,11],"to":[10,10,16],"autouv":0,"color":6,"origin":[8,8,8],"faces":{"north":{"uv":[9,0,13,4],"rotation":180,"texture":1},"east":{"uv":[0,0,5,4],"rotation":180,"texture":1},"south":{"uv":[0,8,4,12],"rotation":180,"texture":1},"west":{"uv":[0,4,5,8],"rotation":180,"texture":1},"up":{"uv":[9,5,5,10],"texture":1},"down":{"uv":[9,5,5,0],"texture":1}},"type":"cube","uuid":"000af0c9-41ef-1e90-0492-d6797038b4c2"},{"name":"east","rescale":false,"locked":false,"from":[11,6,6],"to":[16,10,10],"autouv":0,"color":6,"origin":[8,8,8],"faces":{"north":{"uv":[0,0,5,4],"rotation":180,"texture":1},"east":{"uv":[0,8,4,12],"rotation":180,"texture":1},"south":{"uv":[0,4,5,8],"rotation":180,"texture":1},"west":{"uv":[9,0,13,4],"rotation":180,"texture":1},"up":{"uv":[9,5,5,10],"rotation":270,"texture":1},"down":{"uv":[9,5,5,0],"rotation":90,"texture":1}},"type":"cube","uuid":"69fc191c-ab36-463f-6c03-39d2d24a9fe1"},{"name":"west","rescale":false,"locked":false,"from":[0,6,6],"to":[5,10,10],"autouv":0,"color":6,"origin":[8,8,8],"faces":{"north":{"uv":[0,4,5,8],"rotation":180,"texture":1},"east":{"uv":[9,0,13,4],"rotation":180,"texture":1},"south":{"uv":[0,0,5,4],"rotation":180,"texture":1},"west":{"uv":[0,8,4,12],"rotation":180,"texture":1},"up":{"uv":[9,5,5,10],"rotation":90,"texture":1},"down":{"uv":[9,5,5,0],"rotation":270,"texture":1}},"type":"cube","uuid":"9d3a45b1-0cab-a2ab-38bc-a7764efdb1b8"}],"outliner":["979dd825-54a7-246b-5bcc-f74c80be5321",{"name":"sides","origin":[8,8,8],"color":0,"uuid":"20a89c47-96f0-39e6-38ed-49b985426363","export":true,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["dc64215e-4a7b-f48f-fa12-972c2cc011c7","8144af98-4d52-2944-e6b7-926d8eac8e02","6049216b-22df-e8df-7910-83783c78af69","000af0c9-41ef-1e90-0492-d6797038b4c2","69fc191c-ab36-463f-6c03-39d2d24a9fe1","9d3a45b1-0cab-a2ab-38bc-a7764efdb1b8"]}],"textures":[{"path":"","name":"center","folder":"block/item_cable","namespace":"technicalutils","id":"0","particle":true,"render_mode":"default","visible":true,"mode":"bitmap","saved":false,"uuid":"1bdbe940-058f-67d4-f090-3bb5aa32315e","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAG5JREFUWEdjZGBg+M9AHcBIjjEgTf/tzC+g6D100gDMJ1F81AFDOATISTxY9JAfAiQ6gCyLcNlBTi4YdcAwDIEBT4Q4HEDVoCYnF4w6YASFwEAnQhJzIXWV0yWe8Tl51AGjITAaAqMhMBoCoyEAAJuGWiFALwSkAAAAAElFTkSuQmCC"},{"path":"","name":"side","folder":"block/item_cable","namespace":"technicalutils","id":"1","particle":false,"render_mode":"default","visible":true,"mode":"bitmap","saved":false,"uuid":"aadb6d28-294d-1812-e784-308ce5cb9b5b","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAE9JREFUOE9jZGBg+M+ABdiZXwCLHjppAKIYsakBS9iZX8AwAKSJfgZQ7AWKDRieYQCK8/9ERyMOxRQbgCvhYYiDnYsmijPZYjOVJMXD1AAAuUI+EQnXIRsAAAAASUVORK5CYII="}]}
|