Skip to content

Commit dc4e346

Browse files
committed
add support for all mega trees
1 parent bcd7ac1 commit dc4e346

File tree

37 files changed

+580
-35
lines changed

37 files changed

+580
-35
lines changed

gm4_towering_trees/beet.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ data_pack:
66
load: .
77

88
pipeline:
9+
- gm4_towering_trees.generate
910
- gm4.plugins.extend.module
1011
- gm4.plugins.include.lib_trees
1112

gm4_towering_trees/data/gm4_towering_trees/function/generate_mega_tree.mcfunction

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ execute if entity @s[tag=gm4_dark_oak_tree_sapling] store success score $tree_pl
99

1010
# towering
1111
execute if entity @s[tag=gm4_oak_tree_sapling] run function gm4_towering_trees:generate_tree_type/oak/pick_variant
12-
execute if entity @s[tag=gm4_acacia_tree_sapling] run function gm4_towering_trees:generate_tree_type/oak/pick_variant
13-
execute if entity @s[tag=gm4_cherry_tree_sapling] run function gm4_towering_trees:generate_tree_type/oak/pick_variant
14-
execute if entity @s[tag=gm4_mangrove_tree_sapling] run function gm4_towering_trees:generate_tree_type/oak/pick_variant
15-
execute if entity @s[tag=gm4_birch_tree_sapling] run function gm4_towering_trees:generate_tree_type/oak/pick_variant
12+
execute if entity @s[tag=gm4_acacia_tree_sapling] run function gm4_towering_trees:generate_tree_type/acacia/pick_variant
13+
execute if entity @s[tag=gm4_cherry_tree_sapling] run function gm4_towering_trees:generate_tree_type/cherry/pick_variant
14+
execute if entity @s[tag=gm4_mangrove_tree_sapling] run function gm4_towering_trees:generate_tree_type/mangrove/pick_variant
15+
execute if entity @s[tag=gm4_birch_tree_sapling] run function gm4_towering_trees:generate_tree_type/birch/pick_variant
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
2+
fill ~ ~ ~ ~1 ~ ~1 air replace mangrove_propagule
3+
schedule function gm4_towering_trees:generate_tree_type/mangrove/roots/schedule 1t
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
2+
# if block cannot be replaced with root or max length was reached return
3+
execute unless block ~ ~ ~ #gm4_towering_trees:mangrove_root_replaceable run return fail
4+
scoreboard players remove $max_length gm4_towering_trees_data 1
5+
execute unless score $max_length gm4_towering_trees_data matches 1.. run return fail
6+
7+
# fill with (muddy) roots
8+
fill ~ ~ ~ ~ ~ ~ muddy_mangrove_roots replace mud
9+
execute unless block ~ ~ ~ muddy_mangrove_roots run setblock ~ ~ ~ mangrove_roots
10+
11+
# random carpets
12+
execute if predicate {condition:"random_chance",chance:0.5} run fill ~ ~1 ~ ~ ~1 ~ moss_carpet replace #air
13+
14+
# small chance to skew to ground from now on
15+
execute if predicate {condition:"random_chance",chance:0.02} run tag @s add gm4_towering_trees.mangrove_root_skewed
16+
17+
# pick direction
18+
execute if predicate {condition:"random_chance",chance:0.8} positioned ~ ~-1 ~ run return run function gm4_towering_trees:generate_tree_type/mangrove/roots/loop
19+
execute if score $max_distance_from_tree gm4_towering_trees_data matches 0 run say max distance!
20+
execute if score $max_distance_from_tree gm4_towering_trees_data matches 0 positioned ~ ~-1 ~ run return run function gm4_towering_trees:generate_tree_type/mangrove/roots/loop
21+
22+
scoreboard players set $max_skew_length gm4_towering_trees_data 5
23+
execute if entity @s[tag=gm4_towering_trees.mangrove_root_skewed] positioned ~ ~-1 ~ run function gm4_towering_trees:generate_tree_type/mangrove/roots/loop_to_ground
24+
25+
scoreboard players remove $max_distance_from_tree gm4_towering_trees_data 1
26+
execute positioned ^ ^ ^1 run function gm4_towering_trees:generate_tree_type/mangrove/roots/loop
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
2+
# if block cannot be replaced with root return
3+
execute unless block ~ ~ ~ #gm4_towering_trees:mangrove_root_replaceable run return fail
4+
scoreboard players remove $max_skew_length gm4_towering_trees_data 1
5+
execute unless score $max_skew_length gm4_towering_trees_data matches 1.. run return fail
6+
7+
# fill with (muddy) roots
8+
fill ~ ~ ~ ~ ~ ~ muddy_mangrove_roots replace mud
9+
execute unless block ~ ~ ~ muddy_mangrove_roots run setblock ~ ~ ~ glass
10+
11+
# go down to ground
12+
execute positioned ~ ~-1 ~ run function gm4_towering_trees:generate_tree_type/mangrove/roots/loop_to_ground
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
2+
execute as @e[type=marker,tag=gm4_towering_trees.mangrove_root] at @s run function gm4_towering_trees:generate_tree_type/mangrove/roots/start
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
2+
scoreboard players set $max_distance_from_tree gm4_towering_trees_data 7
3+
scoreboard players set $max_length gm4_towering_trees_data 16
4+
function gm4_towering_trees:generate_tree_type/mangrove/roots/loop
5+
kill @s

gm4_towering_trees/data/gm4_towering_trees/function/generate_tree_type/oak/1.mcfunction

Lines changed: 0 additions & 20 deletions
This file was deleted.

gm4_towering_trees/data/gm4_towering_trees/function/generate_tree_type/oak/pick_variant.mcfunction

Lines changed: 0 additions & 11 deletions
This file was deleted.
Binary file not shown.

0 commit comments

Comments
 (0)