Skip to content

Commit e57b5ea

Browse files
Treeplacer Sapling Override Generator (#878)
1 parent 1d57a6f commit e57b5ea

3 files changed

Lines changed: 60 additions & 0 deletions

File tree

‎public/mcdoc/treeplacer.mcdoc‎

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
2+
dispatch minecraft:resource[treeplacer:sapling_overrides] to struct TreeplacerSaplingOverrides {
3+
/// Should this override other datapack's files of the same name. False will merge them. Default to false
4+
replace: boolean,
5+
/// Dictionary of keys (biome or block ids) to their features.
6+
/// Tags do not work yet.
7+
/// Biomes apply the rule when the sapling is inside them.
8+
/// Blocks apply whenever that sapling is on them.
9+
/// Order of rule application: Block > Biome > All_Biomes > Vanilla
10+
values: SaplingEntries
11+
}
12+
struct SaplingEntries {
13+
[Key]: (#[id=feature]string | FeatureEntry | [FeatureEntry]),
14+
}
15+
16+
type Key = (
17+
string |
18+
"treeplacer:all_biomes"
19+
)
20+
21+
struct FeatureEntry {
22+
/// Configured feature id
23+
feature: #[id=feature]string,
24+
/// (optional) Only useful in a list context to weight the random selection
25+
weight?: int,
26+
/// (optional) Vanilla weirdness used in terrain gen. w > 0 is true.
27+
/// Useful for basic regions as weirdness swaps along rivers
28+
weird?: boolean,
29+
/// (optional) Restrict rule to world positions
30+
x?: HeightRange,
31+
/// (optional) Restrict rule to world positions
32+
y?: HeightRange,
33+
/// (optional) Restrict rule to world positions
34+
z?: HeightRange,
35+
/// (optional) Block ids the sapling must be on for the rule to apply to.
36+
/// Redundant for global block keys, use with biome keys
37+
block?: [BlockPredicate],
38+
}
39+
40+
struct HeightRange {
41+
/// (optional) Inclusive
42+
min?: int,
43+
/// (optional) Inclusive
44+
max?: int,
45+
}
46+
47+
struct BlockPredicate {
48+
id: #[id=block]string,
49+
}

‎src/config.json‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1121,6 +1121,15 @@
11211121
"dependency": "starexpress",
11221122
"wiki": "https://github.com/AussieBox/StarryExpress/wiki/The-Guidebook",
11231123
"minVersion": "1.21.1"
1124+
},
1125+
{
1126+
"id": "treeplacer:sapling_overrides",
1127+
"url": "treeplacer/sapling_overrides",
1128+
"path": "sapling_overrides/minecraft",
1129+
"tags": ["partners"],
1130+
"dependency": "treeplacer",
1131+
"minVersion": "1.20.1",
1132+
"wiki": "https://github.com/OutrightWings/treeplacer_mod/wiki"
11241133
}
11251134
],
11261135
"legacyGuides": [

‎src/locales/en.json‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,7 @@
164164
"generator.pixelmon:pokedex_region": "Region",
165165
"generator.starexpress:guidebook_entry": "Guidebook Entry",
166166
"generator.trade_set": "Trade Set",
167+
"generator.treeplacer:sapling_overrides": "Sapling Overrides",
167168
"generator.trial_spawner": "Trial Spawner",
168169
"generator.trim_material": "Trim Material",
169170
"generator.trim_pattern": "Trim Pattern",
@@ -240,6 +241,7 @@
240241
"partner.sky_aesthetics": "Sky Aesthetics",
241242
"partner.starexpress": "Starry Express",
242243
"partner.thermoo": "Thermoo",
244+
"partner.treeplacer": "Treeplacer",
243245
"partner.pixelmon": "Pixelmon",
244246
"presets": "Presets",
245247
"presets.no_results": "No presets",

0 commit comments

Comments
 (0)