Commit graph

20 commits

Author SHA1 Message Date
trans_soup
01bbe58e45 start working on leveled nodes.
start working on generalizing registration of leveled nodes. currently
broken.
2023-10-21 11:41:33 +02:00
trans_soup
e42407978d add time control for decomposition.
add chat command that changes the rate at which decomposition happens.
2023-10-19 16:49:36 +02:00
trans_soup
e1103a07e4 create fall_fix.
modify the builtin `falling_node` entity to make it possible for mods to
register callbacks to be called when they land and turn into a node.

also register such a callback that checks if the landed node has an
entry `after_landing`, and if so calls that.
2023-10-18 23:30:00 +02:00
trans_soup
09bcf2260b integrate bg_api_event into bg_api. 2023-10-17 20:38:43 +02:00
trans_soup
47e7e4fb0b remove bg_api_fall again.
as it turns out that minetest already handles falling nodes.
2023-10-17 19:19:35 +02:00
trans_soup
0c9f6a7119 move falling node code to own mod.
create `bg_api_fall` mod, and move files `falling_node.lua` and `loose_node.lua` to there from `bg_api`.

update dependencies in other mods to account for this change.
2023-10-17 18:54:23 +02:00
trans_soup
d197e1f1e3 move item_matches into api.
move function `item_matches` from `bg_crafting` into `bg_api`, since
it'll be useful in many other places.
2023-10-17 15:02:39 +02:00
trans_soup
7df5d33d02 refactor: extract repeated code into api function.
move function `starts_with`, which was declared twice in separate files,
to the api, and make those files use that function instead.
2023-10-17 14:58:15 +02:00
trans_soup
d753612f0b separate falling node and loose node handling. 2023-10-17 11:18:14 +02:00
trans_soup
453add021d implement increasing ABM:s.
create public api function that registers "increasing ABM:s"; these
abstract over using numerical values associated with individual nodes in
ABM:s, allowing for straightforward creation of processes that occur
over time.
2023-10-16 21:27:59 +02:00
trans_soup
263e98d526 add basic api support for loose nodes.
expose an api function to register "loose" versions of existing nodes,
and implement some behaviour for such nodes; they will fall down if
there is air below them, and will eventually become their non-loose
counterparts if there is not air below them.
2023-10-16 10:46:32 +02:00
trans_soup
7755583fa4 rename mods and add hacky cleanup thing.
rename mods; add `bg_` prefix.

add hacky cleanup ABM (couldn't get LBM:s to work), that converts old
nodes into new ones according to this rename.

the cleanup doesn't do anything for items, though.
2023-10-15 18:22:13 +02:00
trans_soup
9585a7a4b3 add random ticks.
every server step, mapblocks near online players will have randomly
selected nodes within them receive a "random tick", the behaviour of
which is determined in node definitions.
2023-10-13 13:22:56 +02:00
trans_soup
6040e73f6c add debug utility to api. 2023-10-13 13:17:47 +02:00
trans_soup
a2ab91c992 fix math.random usage.
fix usage of `math.random` in various places to provide both a minimum
and a maximum number, instead of just maximum.

also renamed some files very slightly.
2023-10-13 13:17:14 +02:00
trans_soup
ccd059aa29 generalize creating wrappers for built-ins.
create utility for creating wrapper functions for `minetest` methods.
2023-10-13 09:19:13 +02:00
trans_soup
91807870fe miscellaneous refactors & fixes.
move several functions into the api.

fix root growth directions.

clean up root and grass growth code.
2023-10-12 11:09:40 +02:00
trans_soup
7b86727e4b create grass mod.
create a new mod that implements basic grass growth and death.
2023-10-12 08:26:37 +02:00
trans_soup
6fb3f5fde3 refactor and fix errors.
move vector utilities out of tree api into own generic api. fix related
issues.
2023-10-11 10:01:54 +02:00
trans_soup
a973bbdbf8 initial commit.
created a few proof-of-concept mechanics. took some textures from
minetest game. implemented basic tree growth and stacking in-world
crafting.
2023-10-11 09:17:21 +02:00