27430814a0
allow multiple nodes to be specified as a table in the
...
nodes_or_function_or_model field of the mapgen register call
2014-08-22 23:31:30 -04:00
9c7e96dd62
allow random_facedir parameter during mapgen call
2014-08-21 01:06:41 -04:00
5fdcaa25c4
roll "legacy" mapgen calls into a loop similar to the standard one, call them
...
"no air check" instead. Adjust debug prints and summary accordingly.
This reduces the total number of mapgen hooks from 5 down to just 2.
2014-08-18 19:23:56 -04:00
b914e5395b
use set_node(), not add_node()
...
don't use minetest.env:* method (deprecated), use minetest.* instead
2014-08-15 19:34:15 -04:00
985111d17c
that wasn't a memory leak
...
the table falls out of context at the end of the loop anyway
so the GC will delete it when the loop ends. No reason to delete it manually.
2014-08-15 18:58:05 -04:00
1e4ad757a5
route most of the various recent print statements through plantslib:dbg()
...
(still defaults to false)
2014-08-15 16:25:32 -04:00
8e4c942d9a
don't register surface types if their nodes aren't defined.
2014-08-15 16:14:09 -04:00
a25fb55c57
print a final report of the number of actions and legacy mapgen hooks that were registered
2014-08-15 15:51:03 -04:00
760160d638
legacy stuff should always be marked as "Warning:"
...
and make warnings more consistent
2014-08-15 11:10:17 -04:00
5cf07fd39f
remove useless mention of last revision.
2014-08-15 11:01:42 -04:00
da732bb18e
use real function calls instead of the old string method where possible
...
(basically leaving only the old legacy mapgen calls still using the string method)
2014-08-15 10:47:44 -04:00
8f9b8014c7
Don't allow registration of actions for undefined nodes
2014-08-15 00:51:08 -04:00
6a13ffc5d2
don't bother testing if air check is enabled in legacy
...
...because it never will be :P
2014-08-15 00:00:30 -04:00
c312c4e52f
local-ize the block cache table
2014-08-14 23:52:23 -04:00
33c565fbdb
move perlin1 (perlin_fertile_area) out of the inner loop
...
(it only needs to be inside the action loop)
2014-08-14 23:47:23 -04:00
6bc8fead15
optimize out table.insert() and ipairs() calls
2014-08-14 23:35:02 -04:00
c311de6694
free the block cache memory after using it (fix mem leak)
2014-08-13 21:19:53 -04:00
c636c62480
new mapgen algorithm - do the surface eval in one pass.
2014-08-12 22:04:48 -04:00
da211cc07d
get rid of the old clone_node function. nothing uses or needs it now.
...
use minetest.override_item() instead
2014-07-30 14:29:42 -04:00
ca88a35f26
use minetest built-in functions for node protection
...
phase out the old hand-rolled protection function
drops support for old protection mods
2014-06-22 22:20:51 -04:00
ce8433ac1e
Use the length operator instead of table.getn
...
Should also be faster...
2014-05-25 10:03:29 -03:00
ebeb286c31
Added function support in ABM growing code
2014-05-24 18:51:32 -04:00
753cb01234
...and make it local.
2014-05-24 17:08:15 -04:00
591a917e21
performance improvement
...
cache type() check of node/function/model, always check if it's string
before trying to execute that string as a function.
2014-05-24 16:39:35 -04:00
942aefd7dd
Better handling of function calls
...
Make sure that bad function calls fail safely, and failed function
calls don't leave spawned=true
2014-05-24 16:26:59 -04:00
c1d3d6b454
couple small optimizations in mapgen code
2014-05-16 17:04:12 -04:00
6b65eeb1fb
better way to test for valid function name in generate call, by SoniEx2
2014-05-16 16:39:32 -04:00
5eb48a2c67
got rid of more debugging stuff
2014-05-15 06:26:18 -04:00
2e0293a3f3
got rid of all extraneous debugging statements
...
left the actual function in, and replaced one call with a print statement
since if it happens, it indicates a non-fatal error that should always be
reported anyway (invalid object refs in mapgen calls)
2014-05-15 06:23:50 -04:00
df6f23baed
last revision date
2014-05-15 06:09:59 -04:00
087c661090
more robust handling of function/table/string values
...
in register_generate_plant() call (to handle e.g. unknown nodes being spawned)
2014-05-15 06:08:25 -04:00
2cb4435a85
little translation update
...
I fear the dbg
2014-03-20 01:57:17 +01:00
ffb2366a40
german translation
2014-03-20 01:45:59 +01:00
8bfc8424ae
Create template.txt
2014-03-20 01:45:25 +01:00
e7d6a2e993
local-ize a couple of variables
2013-12-15 13:41:07 -05:00
f168f0acb2
Take time_speed into account
...
when setting spawning and growing ABM intervals.
also, add some basic sanity checks to the interval value just in case
the math comes out wrong. Rearranged a bit of code to accommodate these
changes.
2013-11-15 20:48:28 -05:00
94e21c0cf6
multiple changes
...
Make bushes use default farming mod's flour for making pies instead of
jungle grass, if that mod is installed. Junglegrass will be used if farming
is not present.
Make bushes mod support farming_plus more completely - either its or
bushes' strawberries may be used to make a strawberry pie or a mixed
fruit pie - mix and match the two types of strawberries as desired.
move clone node function from junglegrass mod to plants_lib so that
other mods can use it.
2013-11-02 19:52:08 -04:00
2d619ab154
add missing S() function def for intllib
2013-10-26 17:29:50 -04:00
c34828ef9d
slight clean up in the lines that check for node density
2013-09-14 22:44:16 -04:00
a401f1369d
Make waterliles placable on the surface of standing water.
...
Lilies will be rotated randomly on place, in the same manner as they're
usually generated.
Hold 'sneak' (usually shift) while placing to force them to follow your
facedir instead.
Liles will replace buildable_to nodes when placed, including themselves.
This will cause a loss of lilies if you just keep placing them over and
over, but this is intentional.
node_ownership, glomie's protection mod, and zeg9's protection mod are
accounted for, as are infinite item stacks (e.g. plain creative mode).
Also, compact the waterlily register node calls into a loop.
2013-08-19 02:16:00 -04:00
448e3d2be2
Phased out all deprecated minetest.env:* uses in favor of minetest.*
2013-06-30 23:55:07 -04:00
bd1300409d
Dont use dump() hack
2013-06-16 10:42:29 -04:00
13114913f5
forgot to include benchmark for external function call
...
also default debug to false again
2013-03-31 01:07:45 -04:00
3b3425c1e6
made the benchmark output report times in ms instead of seconds.
2013-03-31 00:55:39 -04:00
2102cf269a
added rudimentary benchmarking output to chunk processing and tree gen calls
2013-03-30 23:30:33 -04:00
aefb98c60e
Fixed waterlilies to use proper facedir range ("6d facedir" code fixes an
...
oversight in the engine that in turn revealed a bug in my code)
2013-03-24 03:36:13 -04:00
aaee2d50cc
fixed a minor bug:
...
plants_lib/init.lua:83: bad argument #1 to 'getn' (table expected, got nil)
2013-03-10 00:38:20 -05:00
340ac5e0bf
move rest of biome defaults into set_defaults() function
2013-03-09 17:06:21 -05:00
8767ebb1f3
various internal code improvements
...
better way to set default biome params, optimized-out some copypasta, thanks
to thexyz for spotting these.
2013-03-09 16:47:58 -05:00
5c2860ed53
p_top should be pos at lines 376, 377
2013-02-24 12:13:09 -05:00