Skip to content

Commit eea04a7

Browse files
committed
fix: make nested overlays load after generated overlays
1 parent 8e154df commit eea04a7

File tree

16 files changed

+207
-30
lines changed

16 files changed

+207
-30
lines changed

beet_observer/data_pack.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,9 +110,6 @@ def gen_dp_overlays(
110110
for registry, registry_overlay in file_types:
111111
check_registry(ctx, ctx_overlay, overlay_dir, registry, registry_overlay)
112112

113-
# add current overlays to pack
114-
ctx.data.overlays.merge(ctx_overlay.data.overlays)
115-
116113
# get pack.mcmeta overlay entries
117114
mcmeta: dict[str, dict[str, list[dict[str, Any]]]] = ctx.data.mcmeta.data.copy()
118115
if "overlays" not in mcmeta:
@@ -147,6 +144,11 @@ def gen_dp_overlays(
147144
}
148145
)
149146

147+
# add current overlays to pack
148+
ctx.data.overlays.merge(ctx_overlay.data.overlays)
149+
if "overlays" in ctx_overlay.data.mcmeta.data:
150+
entries.extend(ctx_overlay.data.mcmeta.data["overlays"]["entries"])
151+
150152
# save overlay entries in pack.mcmeta
151153
if len(entries) > 0:
152154
ctx.data.mcmeta.data.update({"overlays": {"entries": entries}})

beet_observer/resource_pack.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,6 @@ def gen_rp_overlays(
3838
for registry, registry_overlay in file_types:
3939
check_registry(ctx, ctx_overlay, overlay_dir, registry, registry_overlay)
4040

41-
# add current overlays to pack
42-
ctx.assets.overlays.merge(ctx_overlay.assets.overlays)
43-
4441
# get pack.mcmeta overlay entries
4542
mcmeta: dict[str, dict[str, list[dict[str, Any]]]] = ctx.assets.mcmeta.data.copy()
4643
if "overlays" not in mcmeta:
@@ -75,6 +72,11 @@ def gen_rp_overlays(
7572
}
7673
)
7774

75+
# add current overlays to pack
76+
ctx.assets.overlays.merge(ctx_overlay.assets.overlays)
77+
if "overlays" in ctx_overlay.assets.mcmeta.data:
78+
entries.extend(ctx_overlay.assets.mcmeta.data["overlays"]["entries"])
79+
7880
# save overlay entries in pack.mcmeta
7981
if len(entries) > 0:
8082
ctx.assets.mcmeta.data.update({"overlays": {"entries": entries}})

examples/existing_overlay2/beet.yaml

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,12 @@
11
data_pack:
22
load: src
33
pack_format: 57
4-
supported_formats: [48,57]
5-
overlays:
6-
- formats:
7-
min_inclusive: 47
8-
max_inclusive: 47
9-
directory: overlay_47
4+
supported_formats: [47,57]
105

116
resource_pack:
127
load: src
138
pack_format: 57
14-
supported_formats: [48,57]
15-
overlays:
16-
- formats:
17-
min_inclusive: 47
18-
max_inclusive: 47
19-
directory: overlay_47
9+
supported_formats: [47,57]
2010

2111
pipeline:
2212
- beet_observer
Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,18 @@
11
{
22
"pack": {
33
"pack_format": 48,
4-
"description": ""
4+
"description": "",
5+
"supported_formats": [
6+
47,
7+
48
8+
]
9+
},
10+
"overlays": {
11+
"entries": [
12+
{
13+
"formats": 47,
14+
"directory": "overlay_47"
15+
}
16+
]
517
}
618
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
data_pack:
2+
load: src
3+
pack_format: 57
4+
supported_formats: [44,57]
5+
overlays:
6+
- formats:
7+
min_inclusive: 44
8+
max_inclusive: 44
9+
directory: overlay_44
10+
11+
resource_pack:
12+
load: src
13+
pack_format: 57
14+
supported_formats: [44,57]
15+
16+
pipeline:
17+
- beet_observer
18+
19+
meta:
20+
observer:
21+
overlays:
22+
- process: proc
669 Bytes
Loading
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
say this only exists in the overlay
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
say this is the same in both
971 Bytes
Loading
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
say this is in an overlay that exists already

0 commit comments

Comments
 (0)