108 Commits

Author SHA1 Message Date
Aaron Suen
f50e0ab359 Fix leaves incorrectly not marked as no repack. 2019-12-18 19:25:17 -05:00
Aaron Suen
6e1f3fee94 Standardize intra-line spacing in code. 2019-12-01 11:08:12 -05:00
Aaron Suen
b9e2f822f8 New flexible find_nodes_around api. 2019-11-30 10:28:35 -05:00
Aaron Suen
6427db69d8 Peat making now requires an appropriate tool. 2019-11-17 08:50:47 -05:00
Aaron Suen
e5f54b49f6 Add witness system for cooking/soaking recipes. 2019-10-27 10:05:57 -04:00
Aaron Suen
ec723ea6d2 Tree growth requires adequate light and space. 2019-10-19 11:00:18 -04:00
Aaron Suen
c32c32ed55 Bugfix for tree growth.
Dirt was repacking around planted eggcorns, killing them.
2019-10-12 17:09:42 -04:00
Aaron Suen
3b546ef2ee Tree trunks fall, dig to logs, logs rotate. 2019-10-12 11:41:07 -04:00
Aaron Suen
ed2a9e9573 New experimental animated liquid textures.
These are based on the nodecore "honeycomb", so they should at
least thematically match the other textures somewhat, even if
they're not super-attractive.
2019-10-11 19:40:34 -04:00
Aaron Suen
e4dba54be3 Lode smelting rework.
Separate ore melting and draining processes, to
ease the cognitive leap necessary to figure out
lode smelting.  Players now get feedback when
they have figured out the heating part of the
process, and the visual for cobble with molten
lode in it hints at the draining process.
2019-10-06 10:31:58 -04:00
Aaron Suen
90dd2c259b Fix and clean up tree growth and composting. 2019-10-06 09:26:18 -04:00
Aaron Suen
d453df0bb8 New dirt cycle.
- Pack 8 leaves into 1 peat node.
- Leave peat nodes near soil and moisture to decompose further
  into humus.
- Humus is a high-quality soil that works like dirt in most
  ways, but grows trees quite a bit faster.
- Humus converts to dirt via grass (and eventually maybe other
  plant cultivation activities).
2019-10-06 00:08:59 -04:00
Aaron Suen
0ed1c497fd Missing some coremod registrations...?! 2019-10-05 17:42:02 -04:00
Aaron Suen
c147da4dde Convert from depends.txt to mod.conf 2019-10-05 11:24:16 -04:00
Aaron Suen
956b02b82e Fix underwater tree growth, add tree debugging.
Special tree growing command, requires debug privs.
2019-10-05 10:17:47 -04:00
Aaron Suen
77de117ea1 Place certain stacks as nodes.
If a node is specially tagges with the stack_as_node group, and
the stack size is exactly 1, place as a real node instead of a
stack node.

This reinstates logic from WAY back in the super-early pre-alpha
days, except only for nodes explicitly tagged this way.

This should be applied only to nodes that aren't transformed in
any non-desirable way when placed as nodes instead of stacks, and
can be dug the same ways as stacks (i.e. snappy = 1 or
crumbly = 1).

Currently applied to sticks, staves, leaves, ladders/frames,
and torches.  Ladder/frame placement offers some interesting
possibilities in terms of throwing ladders to rappel down holes.
2019-10-01 18:59:53 -04:00
Aaron Suen
79419dd10a Simplify composting logic.
- Leaves no longer decay into air.
- Leaves compost over longer time, following tree growth logic
  (i.e. based on moisture and soil) when not exposed to air.
2019-10-01 18:23:12 -04:00
Aaron Suen
9bfe902634 Try nerfing composting rates by 5x. 2019-09-15 07:38:38 -04:00
Aaron Suen
8270724c07 Stumps now drop sticks instead of dirt.
There is now a "dirt cycle" in NodeCore ecology.  Trees consume
dirt, and stumps now no longer return it.  Players need to compost
leaves by burying them away from light near dirt, which will then
allow them to create new dirt.

This is one step closer to viable skyblock gameplay.
2019-09-14 15:34:27 -04:00
Aaron Suen
57b032d062 Initial work on leaf composting.
- Leaves left in the sun decay to nothing.
- Leaves deprived of air decay into dirt.

TODO:
- Decay out of stack nodes, half-life qty?
- Dig particle effects for node destruction; create API and
  apply to other places?
2019-09-14 10:33:02 -04:00
Aaron Suen
52de19a28c Unified falling check, check after craft. 2019-09-09 07:05:01 -04:00
Aaron Suen
92be21a5dc Allow tree trunks to grow through other trees' leaves. 2019-09-08 12:56:51 -04:00
Aaron Suen
07d381624e Tree growth noises.
If trees are gonna suddenly blast out of the ground, then they
should make a sound worthy of that.
2019-09-05 23:01:06 -04:00
Aaron Suen
cbf035e0d5 Finished Soaking API, converted trees and infusion to it. 2019-09-05 22:48:30 -04:00
Aaron Suen
3dd2092945 Exempt a few materials from ever being silktouch-dug this way.
Stone should be made via concrete.  Tree stumps should only be
made by growing trees.
2019-09-04 19:09:42 -04:00
Aaron Suen
3a4bfdb258 One last refactor to ambient sounds.
Make tree sounds managed by the mod that defines the nodes in
question using register_ambient, consistent with other things like
fluids.

nc_envsounds is now responsible for just the air moving and
cave dripping sounds made by air itself.

Common windiness logic moved into api layer.
2019-09-02 11:34:14 -04:00
Aaron Suen
c9035f55d8 Add open-air wind sounds, consolidate wind ambiance. 2019-09-01 23:18:53 -04:00
Aaron Suen
46c8a6d555 Add wind ambiance to trees, varying with altitude. 2019-09-01 10:07:48 -04:00
Aaron Suen
ce80cf7a19 Make sure we don't accept t = 0 as a valid start time. 2019-08-31 10:32:07 -04:00
Aaron Suen
859b70fab5 Track tree-growth while player is distant.
As long as the game clock is running, even if the area is not
loaded and processing ABMs, tree growth will "catch up" when the
area gets loaded.

I was hoping to build a time-integrated "soaking API" to deal with
this and short-circuit the box-mueller calculation to do model the
soak as time-continuous in O(1) time, but this is good enough to
get the expected behavior for now.

If I add more long-term time-integrated stochastic processes (i.e.
not just cooking recipes) then I can do the refac at that time.
2019-08-31 10:27:29 -04:00
Aaron Suen
39dea8a2ae MAJOR: Code quality audit using luacheck.
- Removed lots of unused variables, a few shadowed identifiers.
- Removed a few sections of dead code.
2019-08-31 09:26:53 -04:00
Aaron Suen
458043fa18 Make ezschematic from tree growth into a full-fledged API.
I may use this for other companion content.
2019-08-27 21:41:03 -04:00
Aaron Suen
fe2c153f9e Clean up all lua code style.
Formatting rules based on Paul Kulchenko's perl-based formatter...
http://notebook.kulchenko.com/programming/lua-beautifier-in-55-lines-of-perl
...using a single tab for indent.

Mostly pure whitespace changes.
2019-08-27 19:14:51 -04:00
Aaron Suen
fe00eb65c0 Wet sponges contribute to tree growth too. 2019-08-23 20:51:19 -04:00
Aaron Suen
37dbcb3474 Make planted eggcorns look like regular dirt.
You now need to use the particle visual cue to
differentiate them.
2019-08-23 20:38:31 -04:00
Aaron Suen
fd52006a7a Image optimizations. 2019-08-19 22:31:00 -04:00
Aaron Suen
5a115bdaa8 Particle effects for growing trees.
Intensity of particle effect indicates rate of growth.
This should help players get feedback that their trees are,
indeed, actually incubating.
2019-04-06 21:02:58 -04:00
Aaron Suen
2d4445c976 Tweak flammability, esp of charcoal/ash mixtures. 2019-03-31 21:38:26 -04:00
Aaron Suen
aa7473377f Fix missing waving leaves shader support. 2019-03-31 00:05:27 -04:00
Aaron Suen
59a16d44f2 Eggcorns deserve their own sounds... 2019-03-25 00:15:05 -04:00
Aaron Suen
a3d1487890 Shrink eggcorns down 25% (again). 2019-03-23 20:05:56 -04:00
Aaron Suen
367013941c Resimplify eggcorn planting.
- Allow applying dirt to eggcorns w/o sneak again.
- Allow dirting any face; basically just do the custom check
  directly.
- Back out the "shove eggcorns into placed dirt" recipe.
2019-03-23 16:56:02 -04:00
Aaron Suen
a8dbfb221f EggCorn Overhaul!
- Place EggCorns as items, not as nodes.
- Tweak visual scales, thicken them up a bit.
- Allow planting eggcorns into dirt, as well as throwing dirt
  over eggcorns, to make planting easier.
2019-03-23 13:01:31 -04:00
Aaron Suen
4f600d046f Make leave sounds swishy. 2019-03-16 11:23:37 -04:00
Aaron Suen
a20c5401d2 No, "log" doesn't work for a GROWING tree trunk. 2019-03-14 21:59:56 -04:00
Aaron Suen
7eb26b5511 Simplify some names. 2019-03-14 21:58:30 -04:00
Aaron Suen
9607bcc6a6 Start working on sounds, plus minor refinements.
- Clean up registered_* usage patterns.
- Reduce tendancy of leaves to create stack nodes.
  Now they tend to stack up properly in-world more often.
- Tweak damage system to create "headroom" where minor
  damage doesn't cost inv slots immediately.
- Make player hand skin color match model skin.
- Cleanup/unify grass abm logic.
- Start installing new sounds by MagikEh

Sound source:
  https://github.com/MagikEh/SoundsOfWarr
2019-03-13 23:51:59 -04:00
Aaron Suen
fd94d67389 Fix awkwardness with leaf digging prediction. 2019-03-10 00:23:54 -05:00
Aaron Suen
0f0377da52 Make lens/prism light pass thru sunlight_propagates nodes.
This also prevents the lens from igniting them.

Made stick and staff at least as transarent as frames/ladders.
2019-03-09 19:46:52 -05:00
Aaron Suen
332f42bdc7 Rename a thing. 2019-03-07 21:06:53 -05:00