stewbeet 2.0.5__tar.gz → 2.0.6__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.5 → stewbeet-2.0.6}/PKG-INFO +2 -2
- {stewbeet-2.0.5 → stewbeet-2.0.6}/pyproject.toml +2 -2
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/cli.py +5 -10
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/core/constants.py +1 -1
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/core/utils/sounds.py +5 -1
- stewbeet-2.0.6/stewbeet/dependencies/datapack/ItemIO.zip +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/datapack/custom_blocks/__init__.py +6 -4
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/__init__.py +1 -1
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/main.py +8 -9
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/initialize/__init__.py +4 -3
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/resource_pack/item_models/object.py +1 -5
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/resource_pack/sounds/__init__.py +6 -7
- stewbeet-2.0.6/stewbeet/utils.py +28 -0
- stewbeet-2.0.5/stewbeet/dependencies/datapack/ItemIO.zip +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/.gitignore +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/LICENSE +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/README.md +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/__init__.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/__main__.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/continuous_delivery/__init__.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/continuous_delivery/cd_utils.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/continuous_delivery/github.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/continuous_delivery/modrinth.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/continuous_delivery/pmc.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/continuous_delivery/smithed.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/core/__init__.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/core/__memory__.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/core/definitions_helper/__init__.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/core/definitions_helper/completion.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/core/definitions_helper/equipments.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/core/definitions_helper/materials.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/core/definitions_helper/records.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/core/definitions_helper/smart_ore_generation.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/core/definitions_helper/text.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/core/ingredients.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/core/utils/io.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/dependencies/__init__.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/dependencies/bookshelf.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/dependencies/bookshelf_config.json +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/dependencies/datapack/Bookshelf Bitwise.zip +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/dependencies/datapack/Bookshelf Block.zip +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/dependencies/datapack/Bookshelf Color.zip +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/dependencies/datapack/Bookshelf Dump.zip +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/dependencies/datapack/Bookshelf Environment.zip +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/dependencies/datapack/Bookshelf Generation.zip +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/dependencies/datapack/Bookshelf Health.zip +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/dependencies/datapack/Bookshelf Hitbox.zip +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/dependencies/datapack/Bookshelf Id.zip +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/dependencies/datapack/Bookshelf Interaction.zip +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/dependencies/datapack/Bookshelf Link.zip +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/dependencies/datapack/Bookshelf Log.zip +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/dependencies/datapack/Bookshelf Math.zip +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/dependencies/datapack/Bookshelf Move.zip +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/dependencies/datapack/Bookshelf Position.zip +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/dependencies/datapack/Bookshelf Random.zip +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/dependencies/datapack/Bookshelf Raycast.zip +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/dependencies/datapack/Bookshelf Schedule.zip +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/dependencies/datapack/Bookshelf Sidebar.zip +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/dependencies/datapack/Bookshelf Spline.zip +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/dependencies/datapack/Bookshelf String.zip +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/dependencies/datapack/Bookshelf Time.zip +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/dependencies/datapack/Bookshelf Tree.zip +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/dependencies/datapack/Bookshelf Vector.zip +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/dependencies/datapack/Bookshelf View.zip +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/dependencies/datapack/Bookshelf Xp.zip +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/dependencies/datapack/Common Signals.zip +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/dependencies/datapack/Furnace NBT Recipes.zip +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/dependencies/datapack/SmartOreGeneration.zip +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/dependencies/datapack/Smithed Crafter.zip +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/dependencies/datapack/Smithed Custom Block.zip +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/dependencies/resource_pack/Smithed Crafter.zip +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/archive/__init__.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/auto/headers/__init__.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/auto/headers/object.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/auto/lang_file/__init__.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/auto/lang_file/utils.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/compatibilities/neo_enchant/__init__.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/compatibilities/simpledrawer/__init__.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/compute_sha1/__init__.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/copy_to_destination/__init__.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/custom_recipes/__init__.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/custom_recipes/furnace.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/custom_recipes/pulverizer.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/custom_recipes/smithed.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/custom_recipes/vanilla.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/datapack/loading/__init__.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/datapack/loot_tables/__init__.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/finalyze/basic_datapack_structure/__init__.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/finalyze/check_unused_textures/__init__.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/finalyze/custom_blocks_ticking/__init__.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/finalyze/dependencies/__init__.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/assets/furnace.png +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/assets/heavy_workbench.png +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/assets/invisible_item.png +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/assets/invisible_item_release.png +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/assets/minecraft_font.ttf +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/assets/none.png +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/assets/none_release.png +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/assets/pulverizing.png +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/assets/shaped_2x2.png +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/assets/shaped_3x3.png +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/assets/simple_case_no_border.png +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/assets/wiki_information.png +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/assets/wiki_ingredient_of_craft.png +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/assets/wiki_ingredient_of_craft_template.png +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/assets/wiki_result_of_craft.png +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/book_components.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/book_optimizer.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/craft_content.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/image_utils.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/iso_renders.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/other_utils.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/page_font.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/shared_import.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/templates/.gitignore +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/templates/_README.md +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/templates/furnace.png +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/templates/heavy_workbench.png +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/templates/invisible_item.png +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/templates/invisible_item_release.png +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/templates/minecraft_font.ttf +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/templates/none.png +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/templates/none_release.png +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/templates/pulverizing.png +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/templates/shaped_2x2.png +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/templates/shaped_3x3.png +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/templates/simple_case_no_border.png +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/templates/wiki_information.png +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/templates/wiki_ingredient_of_craft.png +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/templates/wiki_ingredient_of_craft_template.png +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/templates/wiki_result_of_craft.png +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/text_components.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/initialize/source_lore_font.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/merge_smithed_weld/__init__.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/merge_smithed_weld/weld.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/resource_pack/check_power_of_2/__init__.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/resource_pack/item_models/__init__.py +0 -0
- {stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/verify_definitions/__init__.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.6
|
|
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.15
|
|
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.6"
|
|
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.15",
|
|
20
20
|
"model_resolver>=1.8.0",
|
|
21
21
|
"beet>=0.110.1",
|
|
22
22
|
"bolt>=0.49.1",
|
|
@@ -6,11 +6,12 @@ import shutil
|
|
|
6
6
|
import subprocess
|
|
7
7
|
import sys
|
|
8
8
|
|
|
9
|
-
from beet import ProjectConfig
|
|
9
|
+
from beet import ProjectConfig
|
|
10
10
|
from box import Box
|
|
11
11
|
from stouputils.decorators import LogLevels, handle_error
|
|
12
|
-
from stouputils.
|
|
13
|
-
|
|
12
|
+
from stouputils.print import info
|
|
13
|
+
|
|
14
|
+
from .utils import get_project_config
|
|
14
15
|
|
|
15
16
|
|
|
16
17
|
@handle_error(message="Error while running 'stewbeet'")
|
|
@@ -18,13 +19,7 @@ def main():
|
|
|
18
19
|
second_arg: str = sys.argv[1] if len(sys.argv) == 2 else ""
|
|
19
20
|
|
|
20
21
|
# Try to find and load the beet configuration file
|
|
21
|
-
cfg: ProjectConfig | None =
|
|
22
|
-
if config_path := locate_config(os.getcwd(), parents=True):
|
|
23
|
-
cfg = load_config(filename=config_path)
|
|
24
|
-
if cfg:
|
|
25
|
-
os.chdir(config_path.parent)
|
|
26
|
-
if not cfg:
|
|
27
|
-
error(f"No beet config file found in the current directory '{clean_path(os.getcwd())}'")
|
|
22
|
+
cfg: ProjectConfig | None = get_project_config()
|
|
28
23
|
|
|
29
24
|
# Check if the command is "clean" or "rebuild"
|
|
30
25
|
if second_arg in ["clean", "rebuild"]:
|
|
@@ -94,7 +94,7 @@ OFFICIAL_LIBS: dict[str, dict] = {
|
|
|
94
94
|
"smithed.crafter": {"version":[0, 7, 0], "name":"Smithed Crafter", "url":"https://wiki.smithed.dev/libraries/crafter/", "is_used": False},
|
|
95
95
|
"furnace_nbt_recipes": {"version":[1, 9, 0], "name":"Furnace NBT Recipes", "url":"https://github.com/Stoupy51/FurnaceNbtRecipes", "is_used": False},
|
|
96
96
|
"smart_ore_generation": {"version":[1, 7, 1], "name":"SmartOreGeneration", "url":"https://github.com/Stoupy51/SmartOreGeneration", "is_used": False},
|
|
97
|
-
"itemio": {"version":[1,
|
|
97
|
+
"itemio": {"version":[1, 4, 0], "name":"ItemIO", "url":"https://github.com/edayot/ItemIO", "is_used": False},
|
|
98
98
|
**BOOKSHELF_MODULES,
|
|
99
99
|
}
|
|
100
100
|
|
|
@@ -33,8 +33,12 @@ def add_sound(ctx: Context, sounds: Sound | dict[str, Sound], name: str, ns: str
|
|
|
33
33
|
ctx.assets[ns].sounds[path] = sound
|
|
34
34
|
|
|
35
35
|
# Create a new sound config
|
|
36
|
+
# Use subtitle from the first sound if available, otherwise use the sound name
|
|
37
|
+
first_sound = next(iter(sounds.values()))
|
|
38
|
+
subtitle = first_sound.subtitle if first_sound.subtitle else name.split("/")[-1]
|
|
39
|
+
|
|
36
40
|
new_config: JsonDict = {name: {
|
|
37
|
-
"subtitle":
|
|
41
|
+
"subtitle": subtitle,
|
|
38
42
|
"sounds": [
|
|
39
43
|
{
|
|
40
44
|
"name": f"{ns}:{path}",
|
|
Binary file
|
|
@@ -407,10 +407,12 @@ execute as @e[tag={ns}.custom_block,dx=0,dy=0,dz=0] at @s run function {ns}:cust
|
|
|
407
407
|
# Make search function
|
|
408
408
|
content = "# Search where the head has been placed\n"
|
|
409
409
|
mid_x, mid_y, mid_z = [x // 2 for x in CUSTOM_BLOCK_HEAD_CUBE_RADIUS]
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
410
|
+
content += f"""
|
|
411
|
+
for x in range({-mid_x}, {mid_x + 1}):
|
|
412
|
+
for y in range({-mid_y}, {mid_y + 1}):
|
|
413
|
+
for z in range({-mid_z}, {mid_z + 1}):
|
|
414
|
+
execute positioned ~x ~y ~z if data block ~ ~ ~ components.\"minecraft:custom_data\".{ns}.{item} run function {ns}:custom_blocks/{item}/place_main
|
|
415
|
+
"""
|
|
414
416
|
content += f"\n# Advancement\nadvancement revoke @s only {ns}:custom_block_head/{item}\n\n"
|
|
415
417
|
write_function(f"{ns}:custom_blocks/_player_head/search_{item}", content)
|
|
416
418
|
|
|
@@ -84,8 +84,7 @@ from .shared_import import (
|
|
|
84
84
|
def deepcopy(x):
|
|
85
85
|
return json.loads(json.dumps(x))
|
|
86
86
|
|
|
87
|
-
|
|
88
|
-
def main():
|
|
87
|
+
def manual_main():
|
|
89
88
|
# Copy everything in the manual assets folder to the templates folder
|
|
90
89
|
os.makedirs(TEMPLATES_PATH, exist_ok = True)
|
|
91
90
|
shutil.copytree(MANUAL_ASSETS_PATH + "assets", TEMPLATES_PATH, dirs_exist_ok = True)
|
|
@@ -102,7 +101,7 @@ def main():
|
|
|
102
101
|
|
|
103
102
|
def routine():
|
|
104
103
|
manual_config: JsonDict = Mem.ctx.meta.get("stewbeet",{}).get("manual", {})
|
|
105
|
-
|
|
104
|
+
json_dump_path: str = manual_config.get("json_dump_path", "")
|
|
106
105
|
manual_name: str = manual_config.get("name", "")
|
|
107
106
|
if not manual_name:
|
|
108
107
|
manual_name = f"{Mem.ctx.project_name} Manual"
|
|
@@ -162,8 +161,8 @@ def routine():
|
|
|
162
161
|
|
|
163
162
|
# If the manual cache is enabled and we have a cache file, load it
|
|
164
163
|
cache_pages: bool = manual_config.get("cache_pages", False)
|
|
165
|
-
if cache_pages and
|
|
166
|
-
with super_open(
|
|
164
|
+
if cache_pages and json_dump_path and os.path.exists(json_dump_path) and os.path.exists(f"{SharedMemory.cache_path}/font/manual.json"):
|
|
165
|
+
with super_open(json_dump_path, "r") as f:
|
|
167
166
|
book_content = json.load(f)
|
|
168
167
|
|
|
169
168
|
# Else, generate all
|
|
@@ -630,11 +629,11 @@ def routine():
|
|
|
630
629
|
f.write(super_json_dump(fonts))
|
|
631
630
|
|
|
632
631
|
# Debug book_content
|
|
633
|
-
|
|
634
|
-
if
|
|
635
|
-
with super_open(
|
|
632
|
+
json_dump_path: str = manual_config.get("json_dump_path", "")
|
|
633
|
+
if json_dump_path:
|
|
634
|
+
with super_open(json_dump_path, "w") as f:
|
|
636
635
|
f.write(super_json_dump(book_content))
|
|
637
|
-
debug(f"Debug book_content at '{relative_path(
|
|
636
|
+
debug(f"Debug book_content at '{relative_path(json_dump_path)}'")
|
|
638
637
|
|
|
639
638
|
|
|
640
639
|
# Copy the font provider and the generated textures to the resource pack
|
|
@@ -9,14 +9,14 @@ from box import Box
|
|
|
9
9
|
from stouputils import relative_path
|
|
10
10
|
from stouputils.decorators import measure_time
|
|
11
11
|
from stouputils.io import super_json_dump
|
|
12
|
-
from stouputils.print import
|
|
12
|
+
from stouputils.print import warning
|
|
13
13
|
|
|
14
14
|
from ...core import Mem
|
|
15
15
|
from .source_lore_font import make_source_lore_font
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
# Main entry point
|
|
19
|
-
@measure_time(
|
|
19
|
+
@measure_time(message="Total execution time")
|
|
20
20
|
def beet_default(ctx: Context):
|
|
21
21
|
|
|
22
22
|
# Assertions
|
|
@@ -92,5 +92,6 @@ def beet_default(ctx: Context):
|
|
|
92
92
|
os.rename(old_path, new_path)
|
|
93
93
|
warning(f"Renamed texture {file} to {new_name}")
|
|
94
94
|
|
|
95
|
-
|
|
95
|
+
# Yield message to indicate successful build
|
|
96
|
+
yield
|
|
96
97
|
|
|
@@ -114,11 +114,9 @@ class AutoModel:
|
|
|
114
114
|
|
|
115
115
|
# Get powered states (if any)
|
|
116
116
|
powered = [""]
|
|
117
|
-
on_textures = []
|
|
118
117
|
for texture_name in self.source_textures:
|
|
119
118
|
if texture_name.startswith(self.item_name) and texture_name.endswith("_on.png"):
|
|
120
119
|
powered = ["", "_on"]
|
|
121
|
-
on_textures.append(texture_name)
|
|
122
120
|
|
|
123
121
|
# Debug
|
|
124
122
|
if False:
|
|
@@ -127,7 +125,6 @@ class AutoModel:
|
|
|
127
125
|
print(f"Block or item: {self.block_or_item}")
|
|
128
126
|
print(f"Overrides: {overrides}")
|
|
129
127
|
print(f"Powered states: {powered}")
|
|
130
|
-
print(f"On textures: {on_textures}")
|
|
131
128
|
|
|
132
129
|
# Generate its model file(s)
|
|
133
130
|
for on_off in powered:
|
|
@@ -144,7 +141,6 @@ class AutoModel:
|
|
|
144
141
|
if self.block_or_item == "block":
|
|
145
142
|
# Get parent
|
|
146
143
|
content = {"parent": "block/cube_all", "textures": {}}
|
|
147
|
-
|
|
148
144
|
# Check in which variants state we are
|
|
149
145
|
variants_without_on = [x for x in variants if "_on" not in x]
|
|
150
146
|
if len(variants_without_on) == 1:
|
|
@@ -269,7 +265,7 @@ class AutoModel:
|
|
|
269
265
|
|
|
270
266
|
# Add overrides
|
|
271
267
|
for key, value in overrides.items():
|
|
272
|
-
content[key] = value
|
|
268
|
+
content[key] = value.copy() if isinstance(value, dict) else value
|
|
273
269
|
|
|
274
270
|
# If powered, check if the on state is in the variants and add it
|
|
275
271
|
if on_off == "_on":
|
|
@@ -45,9 +45,8 @@ def beet_default(ctx: Context):
|
|
|
45
45
|
sounds_names: list[str] = [sound for sound in all_files if sound.endswith(".ogg")]
|
|
46
46
|
if not sounds_names:
|
|
47
47
|
return
|
|
48
|
-
|
|
49
48
|
# Dictionary to group sound variants
|
|
50
|
-
sound_groups: dict[str, list[str]] = defaultdict(list)
|
|
49
|
+
sound_groups: dict[str, list[tuple[str, str]]] = defaultdict(list)
|
|
51
50
|
|
|
52
51
|
def handle_sound(sound: str) -> None:
|
|
53
52
|
""" Process a single sound file.
|
|
@@ -78,14 +77,14 @@ def beet_default(ctx: Context):
|
|
|
78
77
|
sounds: dict[str, Sound] = {}
|
|
79
78
|
|
|
80
79
|
# Process each variant
|
|
81
|
-
for
|
|
80
|
+
for variant_rel_sound in sorted(variants):
|
|
82
81
|
# Get variant name without extension
|
|
83
|
-
variant_name: str = os.path.splitext(
|
|
82
|
+
variant_name: str = os.path.splitext(variant_rel_sound)[0]
|
|
84
83
|
|
|
85
84
|
# Create Sound object for this variant
|
|
86
|
-
sounds[variant_name] = Sound(
|
|
87
|
-
source_path=clean_path(f"{sounds_folder}/{
|
|
88
|
-
subtitle=
|
|
85
|
+
sounds[variant_name.lower().replace(" ","_")] = Sound(
|
|
86
|
+
source_path=clean_path(f"{sounds_folder}/{variant_rel_sound}"),
|
|
87
|
+
subtitle=variant_name
|
|
89
88
|
)
|
|
90
89
|
|
|
91
90
|
# Add all variants to the sound system
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
# Imports
|
|
4
|
+
import os
|
|
5
|
+
|
|
6
|
+
from beet import ProjectConfig, load_config, locate_config
|
|
7
|
+
from stouputils.io import clean_path
|
|
8
|
+
from stouputils.print import error
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
# Try to find and load the beet configuration file
|
|
12
|
+
def get_project_config(directory: str = os.getcwd()) -> ProjectConfig | None:
|
|
13
|
+
""" Get the project configuration from the current directory.
|
|
14
|
+
|
|
15
|
+
If no configuration file is found, it returns None and prints an error message.
|
|
16
|
+
|
|
17
|
+
Args:
|
|
18
|
+
directory (str): The directory to search for the configuration file. Defaults to the current working directory.
|
|
19
|
+
"""
|
|
20
|
+
cfg: ProjectConfig | None = None
|
|
21
|
+
if config_path := locate_config(directory, parents=True):
|
|
22
|
+
cfg = load_config(filename=config_path)
|
|
23
|
+
if cfg:
|
|
24
|
+
os.chdir(config_path.parent)
|
|
25
|
+
if not cfg:
|
|
26
|
+
error(f"No beet config file found in the current directory '{clean_path(directory)}'")
|
|
27
|
+
return cfg
|
|
28
|
+
|
|
Binary file
|
|
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
|
|
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.5 → stewbeet-2.0.6}/stewbeet/plugins/finalyze/basic_datapack_structure/__init__.py
RENAMED
|
File without changes
|
{stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/finalyze/check_unused_textures/__init__.py
RENAMED
|
File without changes
|
{stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/finalyze/custom_blocks_ticking/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{stewbeet-2.0.5 → stewbeet-2.0.6}/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.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/assets/simple_case_no_border.png
RENAMED
|
File without changes
|
{stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/assets/wiki_information.png
RENAMED
|
File without changes
|
{stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/assets/wiki_ingredient_of_craft.png
RENAMED
|
File without changes
|
|
File without changes
|
{stewbeet-2.0.5 → stewbeet-2.0.6}/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
|
{stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/templates/heavy_workbench.png
RENAMED
|
File without changes
|
{stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/templates/invisible_item.png
RENAMED
|
File without changes
|
|
File without changes
|
{stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/templates/minecraft_font.ttf
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/templates/simple_case_no_border.png
RENAMED
|
File without changes
|
{stewbeet-2.0.5 → stewbeet-2.0.6}/stewbeet/plugins/ingame_manual/templates/wiki_information.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{stewbeet-2.0.5 → stewbeet-2.0.6}/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.5 → stewbeet-2.0.6}/stewbeet/plugins/resource_pack/check_power_of_2/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|