Commit Graph

313 Commits

Author SHA1 Message Date
Vanessa Ezekowitz
199fa00b0b Added a couple features to the API to allow for turning off checking for air,
deleting nodes surrounding the spawn target during the mapgen code, replacing
the spawn target, and checking the type of node directly below the spawn
target.
2013-02-23 12:33:46 -05:00
Vanessa Ezekowitz
96df170e2d Made a couple of perlin functions global so they aren't being redefined
every time an ABM or on_generated is called.  Optimized a number of nil
comparisons ("if x == nil" -> "if not x" and similar).
2013-02-23 00:34:03 -05:00
Vanessa Ezekowitz
e261479923 clarified version requirement in README 2013-02-22 01:50:02 -05:00
Vanessa Ezekowitz
c262cef04b fixed incorrect nodenames for iron and coal in poison ivy walls list 2013-02-20 23:38:50 -05:00
Vanessa Ezekowitz
6d8ac194e2 Clarified API regarding spawn_tree() hooks. 2013-02-19 22:01:46 -05:00
Vanessa Ezekowitz
6bfb454178 routed spawn_tree() through a wrapper function so that other mods can hook into
plants_lib's calls to do something extra when a tree is generated at mapgen
time or spawned via the growing code.
2013-02-19 21:50:56 -05:00
Vanessa Ezekowitz
a86c52cfa8 changed perlin settings for humidity layer to match deserts
Thanks to paramat for spotting this!
2013-02-03 03:01:44 -05:00
Vanessa Ezekowitz
1554d8fcf4 another minor rewording of the api 2013-01-30 19:09:21 -05:00
Vanessa Ezekowitz
60ceed2eb1 left out a few commas in the API's tables (I want them to be easily
copied and pasted directly into one's code).
2013-01-30 18:55:40 -05:00
Vanessa Ezekowitz
ced39d9afb minor edit to api.txt 2013-01-30 18:46:34 -05:00
Vanessa Ezekowitz
572bd59e9b Rewrote parts of the API, expanded some stuff to make the whole thing easier
to read and more clear on what stuff means.
2013-01-30 18:35:59 -05:00
Vanessa Ezekowitz
8df8e44a0c add experimental support for calling an arbitrary function
in the spawning ABM after all other biome tests and general checks (aside from
spawning at the sides/bottom/top of a node) are done.
2013-01-29 16:22:33 -05:00
Vanessa Ezekowitz
320154a3a8 another wording tweak 2013-01-29 01:58:20 -05:00
Vanessa Ezekowitz
934e83f3a9 forgot to document the max_count variable. 2013-01-29 01:56:22 -05:00
Vanessa Ezekowitz
8015cc24a5 Added experimental settings to allow for a humidity perlin layer
and to allow the spawned object to *replace* the node it would otherwise
spawn on top of.

Also, extended API to allow for a node to be directly named in the
register_generate_plant() call.
2013-01-29 00:13:03 -05:00
Vanessa Ezekowitz
18ef2a32e4 Forgot to add the bit of code needed to make the facedir parameter
in the spawn_on_surfaces call actually work.  Fixed.
2013-01-27 15:06:11 -05:00
Vanessa Ezekowitz
68a6ce43a7 Changed plants_lib API to require a table argument when not using legacy
calling options.  This opens the door for even more features in the future.
Changed flowers, junglegrass, poisonivy to match.

Made plants lib faster in some places, especially the surface-hunting
algorithm, and especially over water.  Fixed a few other misc. bugs.

Made growth code properly execute all biome-control code before executing
any string-named function or spawn_tree().

Tuned flowers settings.  Made flowers require at least some light to spawn,
made waterlilies require shallower water.  Fixed a bug in water depth detection
and made water depth depend on whether the bottom of the water area is dirt,
dirt with grass, or sand, rather than just anything.

Made waterlilies randomly rotate on spawning to break up the patterns (now has
16 orientations with the help of nodeboxes and facedir, requires only 3 new
nodes). Smoothed edges of the regular waterlily texture.  Made all flowers and
water- lilies spawn using only 3 ABM calls instead of 8.

Got rid of colon prefix node def overrides on all plants, since this is a
modpack now instead of an integrated mod.  Fixed a misspelled folder name for
poisonivy.

Fixed a bug in the wall detection routine - it returned the last wall found,
not the first.

Made the top-side-check for air only apply when spawning on top of the
target rather than its sides/bottom.

Many other features and enhancements have been made.  Too many to list here.
Please see API.txt for details.
2013-01-25 23:16:54 -05:00
Vanessa Ezekowitz
3024c78c2b fixed a bug where plants_lib depended on poisonivy for a table it needed.
thanks to bas080 for spotting that one.
2013-01-24 02:29:23 -05:00
Vanessa Ezekowitz
a8491ae232 added some code to further trim the number of nodes that have to be checked.
This causes trees to be just a tad more sparse than intended, but greatly
speeds up the map generator.

Worst case drops from thousands of nodes to test per tree type to a 5-15 nodes
per tree type.
2013-01-21 23:41:02 -05:00
Vanessa Ezekowitz
07f426ae45 disable debug by default 2013-01-20 14:53:22 -05:00
Vanessa Ezekowitz
592d0df84f fixed bugs in use of debugging function from having class-ified it. 2013-01-20 14:44:21 -05:00
Vanessa Ezekowitz
e327630ea5 Fixed a minor bug, made growing abm always check for grow_nodes
under the plant to be grown and to check for air above it.
2013-01-20 14:16:05 -05:00
Vanessa Ezekowitz
693f59a3fc moved some forgotten print statements into debugging facility 2013-01-20 13:56:13 -05:00
Vanessa Ezekowitz
147aee56db move debugging into a separate function, disable by default 2013-01-20 13:51:09 -05:00
Vanessa Ezekowitz
34b7ad4f32 Fixed a bug in direct growing of trees 2013-01-20 13:37:58 -05:00
Vanessa Ezekowitz
40b4cc677a forgot to set default value for rarity control, 50. 2013-01-20 12:02:59 -05:00
Vanessa Ezekowitz
5abcd9034e Added random-number-based rarity control 2013-01-20 12:01:07 -05:00
Vanessa Ezekowitz
b41cf5570c updated the date in init.lua 2013-01-20 01:38:43 -05:00
Vanessa Ezekowitz
64731d8742 another minor wording change to account for an API bugfix 2013-01-20 01:26:11 -05:00
Vanessa Ezekowitz
3c9fcf3bfc Updated API.txt to accoutn for the latest updates 2013-01-20 01:23:39 -05:00
VanessaE
e8ade417ee Merge pull request #1 from jojoa1997/patch-1
adds a wool recipe for cotton
2013-01-19 22:12:04 -08:00
Vanessa Ezekowitz
b434ff4370 Added option to allow plants_lib to directly spawn a tree if passed a table
instead of a function name in the appropriate field.
2013-01-19 23:21:33 -05:00
jojoa1997
bce47c2ce4 adds a wool recipe for cotton 2013-01-19 17:51:09 -05:00
Vanessa Ezekowitz
1229b10014 sped up mapgen functions massively. I think it's suitable
for general use now!
2013-01-19 14:24:15 -05:00
Vanessa Ezekowitz
0580a2f416 just a minor logic tweak to try to speed the mapgen code up further. 2013-01-19 13:12:07 -05:00
Vanessa Ezekowitz
21e43912ff tweaks to the documentation/comments for the mapgen function 2013-01-19 03:26:45 -05:00
Vanessa Ezekowitz
7db6ed7fb9 Documented the new mapgen-based spawn function. 2013-01-19 03:19:43 -05:00
Vanessa Ezekowitz
a83979e342 sped up the biome evaluation code somewhat, but it's still slow. 2013-01-19 02:10:26 -05:00
Vanessa Ezekowitz
7dd3ec2525 Added a function to let one spawn plants at mapgen time,
but it's slow as molasses in January.  Not recommended for
general use yet.
2013-01-19 00:45:46 -05:00
Vanessa Ezekowitz
4eff513bbd Extended the API yet again, this time adding a Perlin-based temperature map
(two new variables defining min and max temperature, normalized to 0.53 = 0
degrees centigrade).

The values used for this new Perlin layer come from Splizard's Snow Biomes mod,
so other mods that use plantlife to create biomes should be able to blend
nicely with that mod.
2013-01-12 00:47:50 -05:00
Vanessa Ezekowitz
94770d713b extended the API again - this time adding a function to allow a custom check
for air surrounding the plant spawn location (defaults to 1, just the target
node).  Values of 1 and 9 for the two new variables would check the 3x3 area
around the spawn location.  Don't make these numbers too large or it will
slow the abm down.
2013-01-11 11:52:34 -05:00
Vanessa Ezekowitz
b0de25407d Expanded the API to allow for additional biome controls.
See API.txt for details.
2013-01-09 21:33:37 -05:00
Vanessa Ezekowitz
9cb6f594ee forgot to save one seed diff change (flowers) 2013-01-04 19:36:33 -05:00
Vanessa Ezekowitz
af7aaca77a moved perlin seeddiff settings to respective mods' init.lua's, tweaked default
perlin values to be the same as used in the game's mapgen for spawning dry
shrubs and jungle grass, so that jungle grass mod will replenish the game's
biomes.
2013-01-04 18:56:09 -05:00
Vanessa Ezekowitz
e2794f71f4 Added feature to API to allow for limits on spawning altitude also. None of
the included plants use this, it's mainly for the conifers mod.
2012-12-29 17:24:47 -05:00
Vanessa Ezekowitz
f9df1b5965 Updated API to allow for height controls. 2012-12-17 16:01:16 -05:00
Vanessa Ezekowitz
7006416227 finished splitting up the three components into separate folders, by moving
texture files to their respective components' folders (<f>/textures).  Also,
began working on extending the API for the growing code to allow for checking
for the height of a node.  Poisonivy is the only component that uses it for
now; this is more intended to be used with nature pack eventually.
2012-12-09 22:02:30 -05:00
Vanessa Ezekowitz
01270a26f0 minor tweak to API text to account for the renamed plants_lib module. 2012-12-04 19:39:42 -05:00
Vanessa Ezekowitz
c816c9c352 deleted un-renamed folder (forgot the -a switch in previous commit) 2012-12-04 19:32:44 -05:00
Vanessa Ezekowitz
498dad83e4 Renamed the "plants" module to "plants_lib". Any modder that directly depends
on that library need only adjust their mods' depends.txt files.  I've already
done this for flowers, junglegrass and poisonivy as included in this modpack,
so any mod that depends on one of *those* needs no changes at all.  No changes
to the API or any functionality.
2012-12-04 19:29:23 -05:00