stewbeet 2.0.8__tar.gz → 2.0.10__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.8 → stewbeet-2.0.10}/PKG-INFO +2 -2
- {stewbeet-2.0.8 → stewbeet-2.0.10}/pyproject.toml +3 -3
- stewbeet-2.0.10/stewbeet/__init__.py +11 -0
- stewbeet-2.0.8/stewbeet/cli.py → stewbeet-2.0.10/stewbeet/__main__.py +1 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/core/__init__.py +2 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/core/constants.py +6 -5
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/auto/lang_file/__init__.py +1 -1
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/custom_recipes/vanilla.py +3 -1
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/initialize/__init__.py +10 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/resource_pack/item_models/object.py +41 -9
- stewbeet-2.0.8/stewbeet/__init__.py +0 -1
- stewbeet-2.0.8/stewbeet/__main__.py +0 -4
- {stewbeet-2.0.8 → stewbeet-2.0.10}/.gitignore +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/LICENSE +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/README.md +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/continuous_delivery/__init__.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/continuous_delivery/cd_utils.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/continuous_delivery/github.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/continuous_delivery/modrinth.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/continuous_delivery/pmc.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/continuous_delivery/smithed.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/core/__memory__.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/core/definitions_helper/__init__.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/core/definitions_helper/completion.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/core/definitions_helper/equipments.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/core/definitions_helper/materials.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/core/definitions_helper/records.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/core/definitions_helper/smart_ore_generation.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/core/definitions_helper/text.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/core/ingredients.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/core/utils/io.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/core/utils/sounds.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/dependencies/__init__.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/dependencies/bookshelf.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/dependencies/bookshelf_config.json +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/dependencies/datapack/Bookshelf Bitwise.zip +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/dependencies/datapack/Bookshelf Block.zip +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/dependencies/datapack/Bookshelf Color.zip +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/dependencies/datapack/Bookshelf Dump.zip +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/dependencies/datapack/Bookshelf Environment.zip +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/dependencies/datapack/Bookshelf Generation.zip +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/dependencies/datapack/Bookshelf Health.zip +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/dependencies/datapack/Bookshelf Hitbox.zip +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/dependencies/datapack/Bookshelf Id.zip +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/dependencies/datapack/Bookshelf Interaction.zip +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/dependencies/datapack/Bookshelf Link.zip +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/dependencies/datapack/Bookshelf Log.zip +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/dependencies/datapack/Bookshelf Math.zip +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/dependencies/datapack/Bookshelf Move.zip +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/dependencies/datapack/Bookshelf Position.zip +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/dependencies/datapack/Bookshelf Random.zip +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/dependencies/datapack/Bookshelf Raycast.zip +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/dependencies/datapack/Bookshelf Schedule.zip +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/dependencies/datapack/Bookshelf Sidebar.zip +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/dependencies/datapack/Bookshelf Spline.zip +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/dependencies/datapack/Bookshelf String.zip +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/dependencies/datapack/Bookshelf Time.zip +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/dependencies/datapack/Bookshelf Tree.zip +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/dependencies/datapack/Bookshelf Vector.zip +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/dependencies/datapack/Bookshelf View.zip +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/dependencies/datapack/Bookshelf Xp.zip +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/dependencies/datapack/Common Signals.zip +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/dependencies/datapack/Furnace NBT Recipes.zip +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/dependencies/datapack/ItemIO.zip +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/dependencies/datapack/SmartOreGeneration.zip +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/dependencies/datapack/Smithed Crafter.zip +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/dependencies/datapack/Smithed Custom Block.zip +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/dependencies/resource_pack/Smithed Crafter.zip +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/archive/__init__.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/auto/headers/__init__.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/auto/headers/object.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/auto/lang_file/utils.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/compatibilities/neo_enchant/__init__.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/compatibilities/simpledrawer/__init__.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/compute_sha1/__init__.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/copy_to_destination/__init__.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/custom_recipes/__init__.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/custom_recipes/furnace.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/custom_recipes/pulverizer.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/custom_recipes/smithed.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/datapack/custom_blocks/__init__.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/datapack/loading/__init__.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/datapack/loot_tables/__init__.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/finalyze/basic_datapack_structure/__init__.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/finalyze/check_unused_textures/__init__.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/finalyze/custom_blocks_ticking/__init__.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/finalyze/dependencies/__init__.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/__init__.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/assets/furnace.png +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/assets/heavy_workbench.png +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/assets/invisible_item.png +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/assets/invisible_item_release.png +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/assets/minecraft_font.ttf +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/assets/none.png +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/assets/none_release.png +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/assets/pulverizing.png +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/assets/shaped_2x2.png +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/assets/shaped_3x3.png +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/assets/simple_case_no_border.png +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/assets/wiki_information.png +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/assets/wiki_ingredient_of_craft.png +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/assets/wiki_ingredient_of_craft_template.png +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/assets/wiki_result_of_craft.png +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/book_components.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/book_optimizer.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/craft_content.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/image_utils.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/iso_renders.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/main.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/other_utils.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/page_font.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/shared_import.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/templates/.gitignore +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/templates/_README.md +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/templates/furnace.png +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/templates/heavy_workbench.png +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/templates/invisible_item.png +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/templates/invisible_item_release.png +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/templates/minecraft_font.ttf +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/templates/none.png +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/templates/none_release.png +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/templates/pulverizing.png +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/templates/shaped_2x2.png +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/templates/shaped_3x3.png +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/templates/simple_case_no_border.png +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/templates/wiki_information.png +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/templates/wiki_ingredient_of_craft.png +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/templates/wiki_ingredient_of_craft_template.png +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/templates/wiki_result_of_craft.png +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/text_components.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/initialize/source_lore_font.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/merge_smithed_weld/__init__.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/merge_smithed_weld/weld.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/resource_pack/check_power_of_2/__init__.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/resource_pack/item_models/__init__.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/resource_pack/sounds/__init__.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/verify_definitions/__init__.py +0 -0
- {stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: stewbeet
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.10
|
|
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
|
|
@@ -18,7 +18,7 @@ Requires-Dist: model-resolver>=1.8.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.
|
|
21
|
+
Requires-Dist: stouputils>=1.3.19
|
|
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.0.
|
|
8
|
+
version = "2.0.10"
|
|
9
9
|
description = "Beet Framework made to help generating advanced Minecraft datapack contents"
|
|
10
10
|
readme = "README.md"
|
|
11
11
|
license = "MIT"
|
|
@@ -16,7 +16,7 @@ classifiers = [
|
|
|
16
16
|
"Operating System :: OS Independent",
|
|
17
17
|
]
|
|
18
18
|
dependencies = [
|
|
19
|
-
"stouputils>=1.3.
|
|
19
|
+
"stouputils>=1.3.19",
|
|
20
20
|
"model_resolver>=1.8.0",
|
|
21
21
|
"beet>=0.110.1",
|
|
22
22
|
"bolt>=0.49.1",
|
|
@@ -34,7 +34,7 @@ Homepage = "https://github.com/Stoupy51/stewbeet"
|
|
|
34
34
|
Issues = "https://github.com/Stoupy51/stewbeet/issues"
|
|
35
35
|
|
|
36
36
|
[project.scripts]
|
|
37
|
-
stewbeet = "stewbeet
|
|
37
|
+
stewbeet = "stewbeet:main"
|
|
38
38
|
|
|
39
39
|
[tool.pyright]
|
|
40
40
|
typeCheckingMode = "basic"
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
|
|
2
|
+
# ruff: noqa: F401
|
|
3
|
+
# Imports
|
|
4
|
+
from beet import *
|
|
5
|
+
|
|
6
|
+
from .__main__ import main
|
|
7
|
+
from .core import *
|
|
8
|
+
from .plugins.initialize.source_lore_font import find_pack_png
|
|
9
|
+
from .plugins.resource_pack.item_models.object import AutoModel
|
|
10
|
+
from .plugins.resource_pack.sounds import add_sound
|
|
11
|
+
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
|
|
2
|
+
# ruff: noqa: E501, RUF012
|
|
2
3
|
# Imports
|
|
3
4
|
from ..dependencies.bookshelf import BOOKSHELF_MODULES
|
|
4
5
|
|
|
5
6
|
# Minecraft version constants
|
|
6
|
-
MINECRAFT_VERSION: str = "1.21.6
|
|
7
|
-
DATA_VERSION: int =
|
|
7
|
+
MINECRAFT_VERSION: str = "1.21.6" # Text used when loading the datapack to warn the user when the data version is not right
|
|
8
|
+
DATA_VERSION: int = 4435 # Depending on MC version, given by /data get entity @p DataVersion to check if the datapack is not running in an older version of MC
|
|
8
9
|
|
|
9
10
|
|
|
10
11
|
# Databases
|
|
@@ -37,8 +38,8 @@ NOT_COMPONENTS: list[str] = [ # Keys that should not be considered as comp
|
|
|
37
38
|
# Technical constants
|
|
38
39
|
FACES: tuple = ("down", "up", "north", "south", "west", "east") # Faces of a block, used for resource pack and blocks orientation
|
|
39
40
|
SIDES: tuple = ("_bottom", "_top", "_front", "_back", "_left", "_right", "_side") # Sides of a block, used for resource pack
|
|
40
|
-
DOWNLOAD_VANILLA_ASSETS_RAW = "https://raw.githubusercontent.com/edayot/renders/
|
|
41
|
-
DOWNLOAD_VANILLA_ASSETS_SOURCE = "https://github.com/edayot/renders/tree/
|
|
41
|
+
DOWNLOAD_VANILLA_ASSETS_RAW = "https://raw.githubusercontent.com/edayot/renders/renders/resourcepack/assets/minecraft/textures/render"
|
|
42
|
+
DOWNLOAD_VANILLA_ASSETS_SOURCE = "https://github.com/edayot/renders/tree/renders/resourcepack/assets/minecraft/textures/render"
|
|
42
43
|
CUSTOM_BLOCK_HEAD_CUBE_RADIUS: tuple[int, int, int] = (16, 16, 16) # Size of the region to check around the player when placing a CUSTOM_BLOCK_HEAD
|
|
43
44
|
BLOCKS_WITH_INTERFACES: list[str] = [ # List of blocks that are containers and have an interface
|
|
44
45
|
"minecraft:barrel",
|
|
@@ -62,7 +63,7 @@ class Conventions:
|
|
|
62
63
|
""" List of tags that prevent entities from being killed. """
|
|
63
64
|
ENTITY_TAGS: list[str] = ["smithed.entity", "global.ignore"]
|
|
64
65
|
""" List of tags applicable to custom entities. """
|
|
65
|
-
BLOCK_TAGS: list[str] = ["smithed.block"
|
|
66
|
+
BLOCK_TAGS: list[str] = ["smithed.block", *ENTITY_TAGS]
|
|
66
67
|
""" List of tags applicable to custom blocks. """
|
|
67
68
|
ENTITY_TAGS_NO_KILL: list[str] = ENTITY_TAGS + NO_KILL_TAGS
|
|
68
69
|
""" Combined list of entity tags and no kill tags. """
|
|
@@ -32,6 +32,6 @@ def beet_default(ctx: Context):
|
|
|
32
32
|
|
|
33
33
|
# Update the lang file
|
|
34
34
|
lang.update(ctx.assets.languages.get("minecraft:en_us", Language()).data)
|
|
35
|
-
ctx.assets.languages["minecraft:en_us"] = Language(super_json_dump(lang))
|
|
35
|
+
ctx.assets.languages["minecraft:en_us"] = Language(super_json_dump(dict(sorted(lang.items()))))
|
|
36
36
|
pass
|
|
37
37
|
|
|
@@ -52,7 +52,9 @@ class VanillaRecipeHandler:
|
|
|
52
52
|
"criteria": {"requirement": {"trigger": "minecraft:inventory_changed"}},
|
|
53
53
|
"rewards": {"function": f"{Mem.ctx.project_id}:advancements/unlock_recipes"}
|
|
54
54
|
}
|
|
55
|
-
|
|
55
|
+
adv = Advancement(adv_json)
|
|
56
|
+
adv.encoder = lambda x: super_json_dump(x, max_level=-1)
|
|
57
|
+
Mem.ctx.data[adv_path] = adv
|
|
56
58
|
|
|
57
59
|
# Write the function that will unlock the recipes
|
|
58
60
|
content = f"""
|
|
@@ -97,6 +97,16 @@ def beet_default(ctx: Context):
|
|
|
97
97
|
if pack_icon:
|
|
98
98
|
Mem.ctx.data.extra["pack.png"] = Mem.ctx.assets.extra["pack.png"] = PngFile(source_path=pack_icon)
|
|
99
99
|
|
|
100
|
+
# Add missing pack format registries if not present
|
|
101
|
+
ctx.data.pack_format_registry.update({
|
|
102
|
+
(1, 21, 5): 71,
|
|
103
|
+
(1, 21, 6): 80,
|
|
104
|
+
})
|
|
105
|
+
ctx.assets.pack_format_registry.update({
|
|
106
|
+
(1, 21, 5): 55,
|
|
107
|
+
(1, 21, 6): 63,
|
|
108
|
+
})
|
|
109
|
+
|
|
100
110
|
# Yield message to indicate successful build
|
|
101
111
|
yield
|
|
102
112
|
|
|
@@ -3,11 +3,12 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
5
|
import os
|
|
6
|
+
from collections.abc import Iterable
|
|
6
7
|
|
|
7
8
|
from beet import ItemModel, Model, Texture
|
|
8
9
|
from beet.core.utils import JsonDict
|
|
10
|
+
from stouputils.decorators import LogLevels, handle_error, simple_cache
|
|
9
11
|
from stouputils.io import super_json_dump, super_json_load
|
|
10
|
-
from stouputils.print import error
|
|
11
12
|
|
|
12
13
|
from ....core.__memory__ import Mem
|
|
13
14
|
from ....core.constants import CUSTOM_BLOCK_VANILLA, CUSTOM_ITEM_VANILLA, OVERRIDE_MODEL
|
|
@@ -65,6 +66,7 @@ class AutoModel:
|
|
|
65
66
|
"""
|
|
66
67
|
return cls(item_name, data, source_textures, ignore_textures)
|
|
67
68
|
|
|
69
|
+
@handle_error(exceptions=ValueError, error_log=LogLevels.ERROR_TRACEBACK)
|
|
68
70
|
def get_powered_texture(self, variants: list[str], side: str, on_off: str) -> str:
|
|
69
71
|
""" Get the powered texture for a given side.
|
|
70
72
|
|
|
@@ -84,7 +86,7 @@ class AutoModel:
|
|
|
84
86
|
if texture.endswith(side):
|
|
85
87
|
return texture
|
|
86
88
|
if not self.ignore_textures:
|
|
87
|
-
|
|
89
|
+
raise ValueError(f"Couldn't find texture for side '{side}' in '{variants}', consider adding missing texture or override the model")
|
|
88
90
|
return ""
|
|
89
91
|
|
|
90
92
|
def model_in_variants(self, models: list[str], variants: list[str]) -> bool:
|
|
@@ -99,12 +101,42 @@ class AutoModel:
|
|
|
99
101
|
"""
|
|
100
102
|
return all(any(model in x for x in variants) for model in models)
|
|
101
103
|
|
|
104
|
+
@simple_cache
|
|
105
|
+
def get_same_folder_variants(self, variants: Iterable[str]) -> list[str]:
|
|
106
|
+
""" Get variants that are in the same folder as the item.
|
|
107
|
+
|
|
108
|
+
Args:
|
|
109
|
+
variants (Iterable[str]): Iterable of variant names.
|
|
110
|
+
|
|
111
|
+
Returns:
|
|
112
|
+
list[str]: List of variants in the same folder.
|
|
113
|
+
"""
|
|
114
|
+
target_folder_depth: int = self.item_name.count('/')
|
|
115
|
+
same_folder_variants: list[str] = []
|
|
116
|
+
for variant in variants:
|
|
117
|
+
variant_folder_depth: int = variant.count('/')
|
|
118
|
+
if variant_folder_depth == target_folder_depth:
|
|
119
|
+
# Check if all folder parts before the filename are the same
|
|
120
|
+
if target_folder_depth == 0:
|
|
121
|
+
same_folder_variants.append(variant)
|
|
122
|
+
else:
|
|
123
|
+
target_folder: str = '/'.join(self.item_name.split('/')[:-1])
|
|
124
|
+
variant_folder: str = '/'.join(variant.split('/')[:-1])
|
|
125
|
+
if target_folder == variant_folder:
|
|
126
|
+
same_folder_variants.append(variant)
|
|
127
|
+
return same_folder_variants
|
|
128
|
+
|
|
129
|
+
@handle_error(exceptions=ValueError, error_log=LogLevels.ERROR_TRACEBACK)
|
|
102
130
|
def process(self) -> None:
|
|
103
131
|
""" Process the item model. """
|
|
104
132
|
# If no item model, return
|
|
105
133
|
if not self.data.get("item_model"):
|
|
106
134
|
return
|
|
107
135
|
|
|
136
|
+
# If item_model is already processed, return
|
|
137
|
+
if self.data["item_model"] in Mem.ctx.meta["stewbeet"]["rendered_item_models"]:
|
|
138
|
+
return
|
|
139
|
+
|
|
108
140
|
# Initialize variables
|
|
109
141
|
if (self.data.get("id") == CUSTOM_BLOCK_VANILLA or
|
|
110
142
|
any((isinstance(x, str) and "block" in x) for x in self.data.get(OVERRIDE_MODEL, {}).values())):
|
|
@@ -128,13 +160,13 @@ class AutoModel:
|
|
|
128
160
|
|
|
129
161
|
# Generate its model file(s)
|
|
130
162
|
for on_off in powered:
|
|
131
|
-
content: dict = {}
|
|
132
|
-
|
|
133
|
-
# Get all variants
|
|
134
|
-
variants: list[str] = [
|
|
163
|
+
content: dict = {} # Get all variants
|
|
164
|
+
all_variants: list[str] = [
|
|
135
165
|
x.replace(".png", "") for x in self.source_textures
|
|
136
|
-
if
|
|
166
|
+
if os.path.basename(x).startswith(self.item_name)
|
|
137
167
|
]
|
|
168
|
+
# Filter to only include variants in the same folder
|
|
169
|
+
variants: list[str] = self.get_same_folder_variants(all_variants)
|
|
138
170
|
|
|
139
171
|
if self.data.get(OVERRIDE_MODEL, None) != {}:
|
|
140
172
|
# If it's a block
|
|
@@ -188,7 +220,7 @@ class AutoModel:
|
|
|
188
220
|
"orientable": orientable,
|
|
189
221
|
"cube_column": cube_column
|
|
190
222
|
}, max_level=1)
|
|
191
|
-
|
|
223
|
+
raise ValueError(
|
|
192
224
|
f"Block '{self.item_name}' has invalid variants: {variants},\n"
|
|
193
225
|
"consider overriding the model or adding missing textures to match up one of the following patterns:"
|
|
194
226
|
f"\n{patterns}"
|
|
@@ -297,7 +329,7 @@ class AutoModel:
|
|
|
297
329
|
Mem.ctx.assets[texture] = Texture(source_path=self.source_textures[texture_name], mcmeta=mcmeta)
|
|
298
330
|
else:
|
|
299
331
|
if not self.ignore_textures:
|
|
300
|
-
|
|
332
|
+
raise ValueError(f"Texture '{texture_name}' not found in source textures")
|
|
301
333
|
|
|
302
334
|
# Add model to assets
|
|
303
335
|
if self.data.get(OVERRIDE_MODEL, None) != {}:
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/compatibilities/simpledrawer/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/finalyze/basic_datapack_structure/__init__.py
RENAMED
|
File without changes
|
{stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/finalyze/check_unused_textures/__init__.py
RENAMED
|
File without changes
|
{stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/finalyze/custom_blocks_ticking/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/assets/heavy_workbench.png
RENAMED
|
File without changes
|
|
File without changes
|
{stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/assets/invisible_item_release.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/assets/simple_case_no_border.png
RENAMED
|
File without changes
|
{stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/assets/wiki_information.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/assets/wiki_result_of_craft.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/templates/heavy_workbench.png
RENAMED
|
File without changes
|
{stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/templates/invisible_item.png
RENAMED
|
File without changes
|
|
File without changes
|
{stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/templates/minecraft_font.ttf
RENAMED
|
File without changes
|
|
File without changes
|
{stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/templates/none_release.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/templates/wiki_information.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/ingame_manual/templates/wiki_result_of_craft.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{stewbeet-2.0.8 → stewbeet-2.0.10}/stewbeet/plugins/resource_pack/check_power_of_2/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|