Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
2f25798
balance update
TheThanathor Oct 4, 2022
af78ab0
balance patch 2
TheThanathor Oct 12, 2022
220ae36
Merge branch 'Gamemode4Dev:master' into master
TheThanathor Oct 22, 2022
8d160df
Remove Leading Whitespace
Bloo-dev Oct 22, 2022
755a8d8
Remove Leading Whitespaces
Bloo-dev Oct 22, 2022
5a85529
Merge branch 'master' of https://github.com/thethanathor/gm4_datapack…
Bloo-dev Oct 22, 2022
3595809
Merge branch 'Gamemode4Dev:master' into master
TheThanathor Oct 23, 2022
13b8122
Merge branch 'Gamemode4Dev:master' into master
TheThanathor Oct 31, 2022
08aee63
Merge remote-tracking branch 'upstream/master'
TheThanathor Oct 31, 2022
3cf92ff
Merge branch 'master' of https://github.com/TheThanathor/GM4_Datapacks
TheThanathor Oct 31, 2022
4ea7888
add recovery compass to animi
TheThanathor Oct 31, 2022
28e8038
Merge remote-tracking branch 'upstream/master'
TheThanathor Nov 5, 2022
0c096f9
Merge remote-tracking branch 'upstream/master'
TheThanathor Nov 22, 2022
7e10278
Merge branch 'master' of https://github.com/TheThanathor/GM4_Datapacks
TheThanathor Nov 22, 2022
497cf29
Merge remote-tracking branch 'upstream/master'
TheThanathor Jan 7, 2023
2ad869d
Merge remote-tracking branch 'upstream/master'
TheThanathor Jan 17, 2023
9a1ab54
Merge branch 'master' of https://github.com/TheThanathor/GM4_Datapacks
TheThanathor Jan 22, 2023
cf0ba5f
Merge remote-tracking branch 'upstream/master'
TheThanathor Mar 16, 2023
a1439de
Merge remote-tracking branch 'upstream/master'
TheThanathor Mar 26, 2023
e262d3a
Merge branch 'Gamemode4Dev:master' into master
TheThanathor Jun 7, 2023
b3e4cf3
Merge branch 'Gamemode4Dev:master' into master
TheThanathor Jul 3, 2023
66691f3
Merge branch 'Gamemode4Dev:master' into master
TheThanathor Jul 15, 2023
fbc1bd4
Merge branch 'Gamemode4Dev:master' into master
TheThanathor Aug 1, 2023
c522622
Merge branch 'Gamemode4Dev:master' into master
TheThanathor Aug 24, 2023
bf7287d
Merge branch 'Gamemode4Dev:master' into master
TheThanathor Sep 22, 2023
2e5f08d
Merge remote-tracking branch 'upstream/master'
TheThanathor Sep 23, 2023
37e0be9
Merge remote-tracking branch 'upstream/master'
TheThanathor Oct 15, 2023
4e61c67
Merge branch 'Gamemode4Dev:master' into master
TheThanathor Oct 23, 2023
9484d91
Merge remote-tracking branch 'upstream/master'
TheThanathor Nov 14, 2023
9d7d421
Merge remote-tracking branch 'upstream/master'
TheThanathor Nov 29, 2023
8b3a8f5
Merge branch 'Gamemode4Dev:master' into master
TheThanathor Jan 22, 2024
0618fb3
Merge branch 'Gamemode4Dev:master' into master
TheThanathor Jan 23, 2024
fc9f412
Merge remote-tracking branch 'upstream/master'
TheThanathor Jan 30, 2024
cbf1c41
Merge remote-tracking branch 'upstream/master'
TheThanathor Feb 4, 2024
2d06ad3
Merge remote-tracking branch 'upstream/master'
TheThanathor Feb 15, 2024
ef24fe3
Merge branch 'Gamemode4Dev:master' into master
TheThanathor Mar 13, 2024
64b1dc8
Merge remote-tracking branch 'upstream/master'
TheThanathor Mar 29, 2024
0efd793
Merge remote-tracking branch 'upstream/master'
TheThanathor May 6, 2024
39d35f5
Merge branch 'Gamemode4Dev:master' into master
TheThanathor Jun 8, 2024
c990ea7
Merge remote-tracking branch 'upstream/master'
TheThanathor Jun 8, 2024
d1ee3a1
Merge branch 'master' of https://github.com/TheThanathor/GM4_Datapacks
TheThanathor Jun 8, 2024
1a17675
Merge branch 'Gamemode4Dev:master' into master
TheThanathor Sep 5, 2024
e55133d
Merge remote-tracking branch 'upstream/master'
TheThanathor Sep 15, 2024
ddaad56
Merge branch 'Gamemode4Dev:master' into master
TheThanathor Sep 19, 2024
129222d
Merge remote-tracking branch 'upstream/master'
TheThanathor Nov 5, 2024
c5bc58d
Merge branch 'Gamemode4Dev:master' into master
TheThanathor Nov 6, 2024
53f4d88
Merge remote-tracking branch 'upstream/master'
TheThanathor Nov 24, 2024
9cb0200
Merge remote-tracking branch 'upstream/master'
TheThanathor Dec 12, 2024
88a4e4e
Merge remote-tracking branch 'upstream/master'
TheThanathor Mar 8, 2025
b699cd3
Merge branch 'Gamemode4Dev:master' into master
TheThanathor Apr 2, 2025
f7a3f82
Merge branch 'Gamemode4Dev:master' into master
TheThanathor May 27, 2025
d43397a
Merge remote-tracking branch 'upstream/master'
TheThanathor Jul 10, 2025
c6ad65c
Merge remote-tracking branch 'upstream/master'
TheThanathor Aug 30, 2025
f4e4c30
Merge remote-tracking branch 'upstream/master'
TheThanathor Nov 6, 2025
b6e2456
Merge remote-tracking branch 'upstream/master'
TheThanathor Nov 14, 2025
7b189d2
Merge remote-tracking branch 'upstream/master'
TheThanathor Nov 15, 2025
df8a274
Merge remote-tracking branch 'upstream/master'
TheThanathor Dec 1, 2025
c7bef77
Merge remote-tracking branch 'upstream/master'
TheThanathor Dec 7, 2025
10b4824
Revert "Merge branch 'update-1.21.9' of https://github.com/Gamemode4D…
TheThanathor Nov 14, 2025
28cb099
Revert "Merge remote-tracking branch 'upstream/master' into update-1.…
TheThanathor Nov 14, 2025
31b97aa
Reapply "Merge remote-tracking branch 'upstream/master' into update-1…
TheThanathor Nov 14, 2025
3d1a9a1
add expanded trees (WIP)
TheThanathor Nov 15, 2025
4f7e11f
update lib trees to add support for expanded trees
TheThanathor Nov 16, 2025
bdb224c
add translations.csv and fix up some folders
TheThanathor Nov 16, 2025
12572c6
add a test tree feature
TheThanathor Nov 17, 2025
5489d6e
rename to Towering Trees
TheThanathor Nov 20, 2025
c0abe5d
add leaf litter to the tree
TheThanathor Nov 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion base/data/gm4/tags/block/waterloggable.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"values": [
"#minecraft:all_signs",
"minecraft:amethyst_cluster",
{"id": "#minecraft:bars", "required": false},
"#minecraft:campfires",
"#minecraft:candles",
Expand All @@ -20,7 +21,6 @@
"#minecraft:wall_signs",
"#minecraft:walls",
{"id": "#minecraft:wooden_shelves", "required": false},
"minecraft:amethyst_cluster",
"minecraft:big_dripleaf",
"minecraft:big_dripleaf_stem",
"minecraft:black_stained_glass_pane",
Expand Down
2 changes: 2 additions & 0 deletions gm4/modeldata_registry.json
Original file line number Diff line number Diff line change
Expand Up @@ -1296,6 +1296,8 @@
"gm4_desire_lines:gui/advancement/desire_lines_8000": 1
},
"oak_sapling": {
"gm4_expanded_trees:guidebook_icon/expanded_trees": 1,
"gm4_towering_trees:guidebook_icon/towering_trees": 2,
"gm4_apple_trees:item/apple_tree_sapling": 4
},
"oak_sign": {
Expand Down
2 changes: 1 addition & 1 deletion gm4/plugins/manifest.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

parent_logger = logging.getLogger("gm4.manifest")

SUPPORTED_GAME_VERSIONS = ["1.21.5", "1.21.6", "1.21.7", "1.21.8", "1.21.9", "1.21.10"]
SUPPORTED_GAME_VERSIONS = ["1.21.5", "1.21.6", "1.21.7", "1.21.8", "1.21.9"]

# config models for beet.yaml metas
CreditsModel = dict[str, list[str]]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
# at @s
# run from projectile/copper_torch/check

execute positioned ~.1 ~ ~ if predicate gm4_crossbow_cartridges:check_block/east run setblock ~-.15 ~ ~ minecraft:copper_wall_torch[facing=west]
execute positioned ~ ~ ~.1 if predicate gm4_crossbow_cartridges:check_block/south run setblock ~ ~ ~-.15 minecraft:copper_wall_torch[facing=north]
execute positioned ~-.1 ~ ~ if predicate gm4_crossbow_cartridges:check_block/west run setblock ~.15 ~ ~ minecraft:copper_wall_torch[facing=east]
execute positioned ~ ~ ~-.1 if predicate gm4_crossbow_cartridges:check_block/north run setblock ~ ~ ~.15 minecraft:copper_wall_torch[facing=south]
execute positioned ~ ~-.1 ~ if predicate gm4_crossbow_cartridges:check_block/below run setblock ~ ~.15 ~ minecraft:copper_torch
execute positioned ~.05 ~ ~ if predicate gm4_crossbow_cartridges:check_block/east run setblock ~-.1 ~ ~ minecraft:copper_wall_torch[facing=west]
execute positioned ~ ~ ~.05 if predicate gm4_crossbow_cartridges:check_block/south run setblock ~ ~ ~-.1 minecraft:copper_wall_torch[facing=north]
execute positioned ~-.05 ~ ~ if predicate gm4_crossbow_cartridges:check_block/west run setblock ~.1 ~ ~ minecraft:copper_wall_torch[facing=east]
execute positioned ~ ~ ~-.05 if predicate gm4_crossbow_cartridges:check_block/north run setblock ~ ~ ~.1 minecraft:copper_wall_torch[facing=south]
execute positioned ~ ~-.05 ~ if predicate gm4_crossbow_cartridges:check_block/below run setblock ~ ~.1 ~ minecraft:copper_torch
6 changes: 0 additions & 6 deletions gm4_disassemblers/beet.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,6 @@ data_pack:
min_format: 88
max_format: 88
directory: since_88
- formats:
min_inclusive: 81
max_inclusive: 88
min_format: 81
max_format: 88
directory: empty

resource_pack:
load: .
Expand Down
4 changes: 3 additions & 1 deletion gm4_guidebook/triggers.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"__important__": "Generated by generate_guidebooks.py. Don't manually update this",
"__next__": 122,
"__next__": 124,
"animi_shamir": 91,
"apple_trees": 83,
"arborenda_shamir": 20,
Expand Down Expand Up @@ -41,6 +41,7 @@
"enderman_support_class": 80,
"enlarging_phantoms": 101,
"everstone": 75,
"expanded_trees": 122,
"falling_stars": 43,
"forming_press": 16,
"forterra_shamir": 19,
Expand Down Expand Up @@ -108,6 +109,7 @@
"tinkering_compressors": 52,
"tipped_skeletons": 44,
"tower_structures": 89,
"towering_trees": 123,
"tunnel_bores": 59,
"undead_players": 67,
"vecto_shamir": 95,
Expand Down
6 changes: 0 additions & 6 deletions gm4_standard_crafting/beet.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,6 @@ data_pack:
min_format: 88
max_format: 88
directory: since_88
- formats:
min_inclusive: 81
max_inclusive: 88
min_format: 81
max_format: 88
directory: empty

pipeline:
- generate_recipes
Expand Down
8 changes: 8 additions & 0 deletions gm4_towering_trees/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Towering Trees<!--$headerTitle--><!--$pmc:delete-->

Adds mega and small tree variants to any sapling that is missing one! <!--$pmc:headerSize-->

### Features
- Adds mega and small tree variants to any sapling that is missing one.
- That's it! Grow a mega mangrove tree and admire it! Or chop it down, your choice!
- Works with natural growth or bonemeal, no special interaction required, just plant a 2x2 of saplings!
3 changes: 3 additions & 0 deletions gm4_towering_trees/assets/translations.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
key,en_us,de_de,en_ws
text.gm4.guidebook.towering_trees.description,"Oak, Birch, Acacia, Cheery and Mangrove trees have mega (2x2) variants.\n\nDark Oak and Pale Oak have small variants."
text.gm4.guidebook.module_desc.towering_trees,"Adds mega and small tree variants to any sapling that is missing one!"
24 changes: 24 additions & 0 deletions gm4_towering_trees/beet.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
id: gm4_towering_trees
name: Towering Trees
version: 1.0.X

data_pack:
load: .

pipeline:
- gm4.plugins.extend.module
- gm4.plugins.include.lib_trees

meta:
gm4:
versioning:
required:
lib_trees: 1.4.0
website:
description: Adds mega and small tree variants to any sapling that is missing one!
recommended:
- gm4_metallurgy
wiki: https://wiki.gm4.co/wiki/Towering_Trees
credits:
Creator:
- Djoness
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"criteria": {
"place_sapling": {
"trigger": "minecraft:placed_block",
"conditions": {
"location": [
{
"condition": "minecraft:match_tool",
"predicate": {
"items": "#gm4_towering_trees:supported_sapling"
}
}
]
}
}
},
"rewards": {
"function": "gm4_towering_trees:place_sapling"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# check what orientation this big tree has (if it is a big tree)
# @s = sapling marker
# located at @s
# run from generate_tree

# SE = 1
execute if blocks ~1 ~ ~ ~1 ~ ~ ~ ~ ~ all if blocks ~1 ~ ~1 ~1 ~ ~1 ~ ~ ~ all if blocks ~ ~ ~1 ~ ~ ~1 ~ ~ ~ all run return 1
# NE = 2
execute if blocks ~1 ~ ~ ~1 ~ ~ ~ ~ ~ all if blocks ~1 ~ ~-1 ~1 ~ ~-1 ~ ~ ~ all if blocks ~ ~ ~-1 ~ ~ ~-1 ~ ~ ~ all run return 2
# SW = 3
execute if blocks ~-1 ~ ~ ~-1 ~ ~ ~ ~ ~ all if blocks ~-1 ~ ~1 ~-1 ~ ~1 ~ ~ ~ all if blocks ~ ~ ~1 ~ ~ ~1 ~ ~ ~ all run return 3
# NW = 4
execute if blocks ~-1 ~ ~ ~-1 ~ ~ ~ ~ ~ all if blocks ~-1 ~ ~-1 ~-1 ~ ~-1 ~ ~ ~ all if blocks ~ ~ ~-1 ~ ~ ~-1 ~ ~ ~ all run return 4

return 0
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# generates the tree - mega
# @s = sapling marker
# located at @s (offset to be at the negative corner of the 2x2)
# run from generate_tree

# vanilla
execute if entity @s[tag=gm4_pale_oak_tree_sapling] store success score $tree_placed gm4_towering_trees_data run place feature minecraft:pale_oak_bonemeal
execute if entity @s[tag=gm4_dark_oak_tree_sapling] store success score $tree_placed gm4_towering_trees_data run place feature minecraft:dark_oak

# towering
execute if entity @s[tag=gm4_oak_tree_sapling] run function gm4_towering_trees:generate_tree_type/oak/pick_variant
execute if entity @s[tag=gm4_acacia_tree_sapling] run function gm4_towering_trees:generate_tree_type/oak/pick_variant
execute if entity @s[tag=gm4_cherry_tree_sapling] run function gm4_towering_trees:generate_tree_type/oak/pick_variant
execute if entity @s[tag=gm4_mangrove_tree_sapling] run function gm4_towering_trees:generate_tree_type/oak/pick_variant
execute if entity @s[tag=gm4_birch_tree_sapling] run function gm4_towering_trees:generate_tree_type/oak/pick_variant
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# generates the tree - small
# @s = sapling marker
# located at @s
# run from generate_tree

# mark sapling and clear the space
function gm4_towering_trees:mark_sapling

# vanilla
execute if entity @s[tag=gm4_oak_tree_sapling] store success score $tree_placed gm4_towering_trees_data run place feature minecraft:oak
execute if entity @s[tag=gm4_acacia_tree_sapling] store success score $tree_placed gm4_towering_trees_data run place feature minecraft:acacia
execute if entity @s[tag=gm4_cherry_tree_sapling] store success score $tree_placed gm4_towering_trees_data run place feature minecraft:cherry
execute if entity @s[tag=gm4_mangrove_tree_sapling] store success score $tree_placed gm4_towering_trees_data run place feature minecraft:mangrove
execute if entity @s[tag=gm4_birch_tree_sapling] store success score $tree_placed gm4_towering_trees_data run place feature minecraft:birch

# towering
execute if entity @s[tag=gm4_pale_oak_tree_sapling] store success score $tree_placed gm4_towering_trees_data run place feature minecraft:fancy_oak
execute if entity @s[tag=gm4_dark_oak_tree_sapling] store success score $tree_placed gm4_towering_trees_data run place feature minecraft:fancy_oak
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# generates the tree
# @s = sapling marker
# located at @s
# run from gm4_towering_trees:verify/generate_tree

scoreboard players set $tree_placed gm4_towering_trees_data 0

# check if this is a big tree
execute store result score $big_tree gm4_towering_trees_data run function gm4_towering_trees:check_for_mega_tree

# generate mega tree positionionally based on which sapling grew
execute if score $big_tree gm4_towering_trees_data matches 1 run function gm4_towering_trees:generate_mega_tree
execute if score $big_tree gm4_towering_trees_data matches 2 positioned ~ ~ ~-1 run function gm4_towering_trees:generate_mega_tree
execute if score $big_tree gm4_towering_trees_data matches 3 positioned ~-1 ~ ~ run function gm4_towering_trees:generate_mega_tree
execute if score $big_tree gm4_towering_trees_data matches 4 positioned ~-1 ~ ~-1 run function gm4_towering_trees:generate_mega_tree
# small trees
execute if score $big_tree gm4_towering_trees_data matches 0 run function gm4_towering_trees:generate_small_tree

# remove the saplings
execute if score $tree_placed gm4_towering_trees_data matches 1 run kill @e[type=marker,tag=gm4_towering_trees_sapling.target,limit=4,distance=..3]
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# generates the tree - mega oak
# @s = sapling marker
# located at @s (offset to be at the negative corner of the 2x2)
# run from generate_tree_type/oak/pick_variant

execute store result score $blocks_moved gm4_towering_trees_data positioned ~-1 ~ ~-1 run clone ~ ~ ~ ~4 ~14 ~4 ~ ~ ~ filtered #gm4_towering_trees:tree_placeable move
execute unless score $blocks_moved gm4_towering_trees_data matches 375 run return fail

execute store result score $blocks_moved gm4_towering_trees_data positioned ~-8 ~3 ~-9 run clone ~ ~ ~ ~19 ~11 ~18 ~ ~ ~ filtered #gm4_towering_trees:tree_placeable move
execute unless score $blocks_moved gm4_towering_trees_data matches 4560 run return fail

place feature gm4_towering_trees:leaf_litter ~ ~1 ~

execute store result score $tree_rotation gm4_towering_trees_data run random value 1..4
execute if score $tree_rotation gm4_towering_trees_data matches 1 run place template gm4_towering_trees:oak/1 ~-8 ~ ~-9
execute if score $tree_rotation gm4_towering_trees_data matches 2 run place template gm4_towering_trees:oak/1 ~9 ~ ~10 180
execute if score $tree_rotation gm4_towering_trees_data matches 3 run place template gm4_towering_trees:oak/1 ~10 ~ ~-8 clockwise_90
execute if score $tree_rotation gm4_towering_trees_data matches 4 run place template gm4_towering_trees:oak/1 ~-9 ~ ~9 counterclockwise_90

scoreboard players set $tree_placed gm4_towering_trees_data 1
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# generates the tree - mega oak
# @s = sapling marker
# located at @s (offset to be at the negative corner of the 2x2)
# run from generate_mega_tree

execute store result score $tree_variant gm4_towering_trees_data run random value 1..2

execute if score $tree_variant gm4_towering_trees_data matches 1 run function gm4_towering_trees:generate_tree_type/oak/1
execute if score $tree_variant gm4_towering_trees_data matches 2 run function gm4_towering_trees:generate_tree_type/oak/1

execute if score $tree_placed gm4_towering_trees_data matches 1 run fill ~ ~-1 ~ ~1 ~-1 ~1 dirt replace grass_block
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
execute unless score towering_trees gm4_modules matches 1 run data modify storage gm4:log queue append value {type:"install",module:"Towering Trees"}
execute unless score towering_trees gm4_earliest_version < towering_trees gm4_modules run scoreboard players operation towering_trees gm4_earliest_version = towering_trees gm4_modules
scoreboard players set towering_trees gm4_modules 1

# to tree or not to tree

# scoreboards and constants
scoreboard objectives add gm4_towering_trees_data dummy

#$moduleUpdateList
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# initializes the vanilla tree's marker
# @s = player who placed down the vanilla tree sapling
# located at the center of the placed sapling
# run from verify/initialize_sapling

# summon marker
# spruce and jungle are not included as they already have both variants of tree
execute if block ~ ~ ~ oak_sapling run summon marker ~ ~ ~ {CustomName:"gm4_oak_tree_sapling",Tags:["gm4_tree_sapling","gm4_towering_trees_sapling","gm4_oak_tree_sapling","smithed.entity","smithed.strict","smithed.block"]}
execute if block ~ ~ ~ birch_sapling run summon marker ~ ~ ~ {CustomName:"gm4_birch_tree_sapling",Tags:["gm4_tree_sapling","gm4_towering_trees_sapling","gm4_birch_tree_sapling","smithed.entity","smithed.strict","smithed.block"]}
execute if block ~ ~ ~ acacia_sapling run summon marker ~ ~ ~ {CustomName:"gm4_acacia_tree_sapling",Tags:["gm4_tree_sapling","gm4_towering_trees_sapling","gm4_acacia_tree_sapling","smithed.entity","smithed.strict","smithed.block"]}
execute if block ~ ~ ~ dark_oak_sapling run summon marker ~ ~ ~ {CustomName:"gm4_dark_oak_tree_sapling",Tags:["gm4_tree_sapling","gm4_towering_trees_sapling","gm4_dark_oak_tree_sapling","smithed.entity","smithed.strict","smithed.block"]}
execute if block ~ ~ ~ cherry_sapling run summon marker ~ ~ ~ {CustomName:"gm4_cherry_tree_sapling",Tags:["gm4_tree_sapling","gm4_towering_trees_sapling","gm4_cherry_tree_sapling","smithed.entity","smithed.strict","smithed.block"]}
execute if block ~ ~ ~ pale_oak_sapling run summon marker ~ ~ ~ {CustomName:"gm4_pale_oak_tree_sapling",Tags:["gm4_tree_sapling","gm4_towering_trees_sapling","gm4_pale_oak_tree_sapling","smithed.entity","smithed.strict","smithed.block"]}
execute if block ~ ~ ~ mangrove_propagule run summon marker ~ ~ ~ {CustomName:"gm4_mangrove_tree_sapling",Tags:["gm4_tree_sapling","gm4_towering_trees_sapling","gm4_mangrove_tree_sapling","smithed.entity","smithed.strict","smithed.block"]}
# set stage requirement (higher = longer to grow)
scoreboard players set @e[type=marker,tag=gm4_towering_trees_sapling,distance=..0.1] gm4_sap_growth 2
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Initiates the search for the placed sapling
# @s = player that just placed a custom sapling
# at @s
advancement revoke @s only gm4_towering_trees:place_sapling

# have to engage lib_trees from here since this module works with vanilla saplings
function #gm4_trees:place_sapling
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# verifies that the sapling type is from this module
# @s = gm4_tree_sapling marker
# located at @s
# run from gm4_trees:advance_stage via #gm4_trees:generate_tree

execute if entity @s[tag=gm4_towering_trees_sapling] run function gm4_towering_trees:generate_tree
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# verifies that the sapling type is from this module
# @s = player who just placed down a custom sapling
# located at the center sapling block
# run from gm4_trees:sapling/summon marker via #gm4_trees:initialize_sapling

# this module runs on vanilla saplings, so we want to check for no specific type
execute unless data storage gm4_trees:temp sapling{} align xyz unless entity @e[tag=smithed.block,dx=0,dy=0,dz=0,limit=1] positioned ~.5 ~.5 ~.5 run function gm4_towering_trees:initialize_sapling
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
{
"id": "towering_trees",
"name": "Towering Trees",
"module_type": "module",
"icon": {
"id": "minecraft:oak_sapling"
},
"criteria": {
"obtain_sapling": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"items": [
"oak_sapling",
"birch_sapling",
"acacia_sapling",
"dark_oak_sapling",
"cherry_sapling",
"pale_oak_sapling",
"mangrove_propagule"
]
}
]
}
}
},
"sections": [
{
"name": "towering_trees",
"enable": [],
"requirements": [
[
"obtain_sapling"
]
],
"pages": [
[
{
"insert": "title"
},
{
"translate": "text.gm4.guidebook.towering_trees.description",
"fallback": "Oak, Birch, Acacia, Cheery and Mangrove trees have mega (2x2) variants.\n\nDark Oak and Pale Oak have small variants."
}
]
]
}
]
}
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"values": [
"oak_sapling",
"birch_sapling",
"acacia_sapling",
"dark_oak_sapling",
"cherry_sapling",
"pale_oak_sapling",
"mangrove_propagule"
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"values": [
"#minecraft:replaceable_by_trees",
"#air",
"#minecraft:logs",
"#gm4_towering_trees:supported_sapling"
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"values": [
"oak_sapling",
"birch_sapling",
"acacia_sapling",
"dark_oak_sapling",
"cherry_sapling",
"pale_oak_sapling",
"mangrove_propagule"
]
}
Loading
Loading