1138 Commits

Author SHA1 Message Date
Aaron Suen
c409993283 Notes from discord. 2020-01-19 17:44:33 -05:00
Aaron Suen
2d1179c4ad Growing leaves are now visually distinct. 2020-01-19 09:20:48 -05:00
Aaron Suen
b2e49a15d4 Make leaf spreading a soaking process too.
It's now possible to push accelerated growth from
trunks into leaves, so catch-up growth works for
entire tree.
2020-01-19 09:15:39 -05:00
Aaron Suen
68e8f24a66 Soaking ABM "push" API for tree growth.
Trunks now "catch up" growth much faster, and
there's a unified API for pushing soaking value
into a node and running a near-immediate check.
2020-01-19 08:59:48 -05:00
Aaron Suen
7d24975fb3 Player damage from radiant heat. 2020-01-18 10:12:11 -05:00
Aaron Suen
2d73df30e7 New API to check if air passes thru node.
Can be used for things like sponge air exposure
or environmental exposure checks.
2020-01-18 09:57:39 -05:00
Aaron Suen
a1cef375cf Hopefully fix tree growing witness hint. 2020-01-17 23:57:16 -05:00
Aaron Suen
053f3b718f Fix glass tank hammering properly.
First class recipe, explcitly test for contents.
2020-01-17 23:45:00 -05:00
Aaron Suen
14b249a9f0 A couple more tree growth issues.
- Offline growth lost after sprouting.
- Trunks not growing through leaves.
2020-01-17 23:41:41 -05:00
Aaron Suen
750bb87b31 Disallow hammering glass tanks.
Hammering them to sand destroys their contents.
Instead, require burning away the binding.
2020-01-17 22:14:10 -05:00
Aaron Suen
55a68c844b Fix broken tote AISM hook. 2020-01-17 21:43:48 -05:00
Aaron Suen
9de5fcfb5a Fix tree growth intrusion.
- Tree trunk growth now stops if blocked.
- Fix eligibility check for /growtrees cmd.
- Tree trunk growth rate now API-ified.
2020-01-17 13:38:59 -05:00
Aaron Suen
085039acea Make amalgamation solid/loose pair.
Quenching to solid prevents falling into lava below.  Amalgamation
can be harvested from the surface with silk touch of Lux-tier
tools.

Attempting to collect with lower Lode-tier tools will likely cause
the loose amalgamation to fall into the lava below, possibly
displacing a source node (if the pool is shallow enough) upward to
fill its spot, then the amalgamation below will melt and the source
node above will quench, so no progress is made.

It's possible to harvest using lode tools, in practice, by
digging down the side of a lava pool and quenching as you go,
until you reach the bottom...
2020-01-17 07:15:16 -05:00
Aaron Suen
06d2594671 Tweak the display name a bit.
"Amalgam" may imply a mercury alloy, which is
not true in this case; we're using it in the
"combination" sense, i.e. an amalgamation of
molten and solid stone.
2020-01-16 23:39:30 -05:00
Aaron Suen
2c47a151cc Started new mechanic for molten rock transport.
Quench lava to amalgam and it can be moved
around like loose cobble.  The tricky bit is that it
needs to STAY quenched at ALL TIMES, and is
not (currently) stackable, so water channels need
to be setup to transport it, and limited amounts
can be moved at a time.

It's also an igniter and thus will dry out sponges
left to keep it cool.
2020-01-16 23:09:55 -05:00
Aaron Suen
7bc1a4ddad Standardize node placement sounds.
Add node placement sounds to processes
missing them, like tree growth.
2020-01-16 22:02:59 -05:00
Aaron Suen
ab754e6d6e Leaf decay fixes, reinstate /growtrees.
Make growing leaves decay the same way
that normal ones do if the trunk is removed
before leaves finish spreading.
2020-01-16 21:43:07 -05:00
Aaron Suen
dea880fc3f Oops, nerfed the wrong abm. 2020-01-15 23:36:05 -05:00
Aaron Suen
1c8c3298c6 Cleanup, better offline catch-up. 2020-01-15 23:10:18 -05:00
Aaron Suen
f9fe2027b8 Standardize leaf placement, fix bugs. 2020-01-15 23:01:11 -05:00
Aaron Suen
fb516e2ba6 Fix tree bud leaf decay. 2020-01-15 22:38:33 -05:00
Aaron Suen
288dddecd4 Working proof-of-concept tree growth. 2020-01-15 22:38:02 -05:00
Aaron Suen
6ebb08c146 Begin prototype for "growing" trees. 2020-01-15 21:27:12 -05:00
Aaron Suen
39f8abb703 Adzes can dig grass.
They act like a weak shovel now.  This should
ease some early game frustrations for new
players until they figure out proper tools.
2020-01-12 15:07:45 -05:00
Aaron Suen
c5a4f42359 Fix (C) year in translations. 2020-01-12 11:28:02 -05:00
Aaron Suen
e096958d24 Translaton update. 2020-01-12 11:21:02 -05:00
Aaron Suen
361f69065d Make mapgen disable logic a bit more dynamic.
Mods may change singlenode mapgen to generate stone,
in which case we want them to be able to also reenable
the standard mapgen_shared hooks.

- If def.enabled == true, always run the hook.
- If def.enabled == false, never run it.
- If def.enabled is not set (nil) then run it based on
  standard logic, i.e. not on singlenode.
2020-01-12 11:01:30 -05:00
Aaron Suen
19de5dfd1e mapgen_shared improvements.
- Register def tables instead of bare funcs.
- Add labels for mod logic use.
- Automatically skip for singlenode mapgens,
  e.g. for the skyblock modpack.
2020-01-12 10:30:02 -05:00
Aaron Suen
2c4e502c21 Soaking API requires explicit field name.
This guards against possible bugs caused by
running multiple conflicting processes on the
same thing.
2020-01-11 08:42:23 -05:00
Aaron Suen
5e97fc3bcb Envsound consistency for multiple players.
Ensure players can't cause a blast of loud
wind or drip sounds to happen within the near
clipping boundaries of other nearby players
just because they're in the same general
area and played their sounds first in the tick.
2020-01-11 08:31:33 -05:00
Aaron Suen
0c39f34ebb Fix falling_node rapid column settling. 2020-01-11 00:34:13 -05:00
Aaron Suen
25be3b07a8 Small pos key calc optimization. 2020-01-10 21:11:52 -05:00
Aaron Suen
d0e6dcc410 Add "stasis" option and command.
This freezes many things that normally happen automatically
in the world, including most ABMs and AISMs, and a few other
custom step logic items like the player "hot potato" logic.

This can be used for "creative mode" purposes to setup a complex
build without it running itself away from you, and for texture
pack authors, to have time to see things that are normally
transient or difficult to observe because of the effects they have
on nearby things or players.
2020-01-10 06:26:07 -05:00
Aaron Suen
ed95bc1f33 Convert Tree Trunk item stacks to Logs. 2020-01-09 23:01:03 -05:00
Aaron Suen
23e7a789cb Try to make stone chipping recipe less boring.
- Items don't down settle when rising.
- Give stone chips some upward kick.
2020-01-09 22:32:33 -05:00
Aaron Suen
c6584d79d4 Settle craft excess immediately. 2020-01-09 22:23:32 -05:00
Aaron Suen
0aa054792c Falling nodes should be non-pointable. 2020-01-07 21:41:00 -05:00
Aaron Suen
9bf3b88483 One more entity behavior regression. 2020-01-07 21:36:59 -05:00
Aaron Suen
000d87ab0d Fix entity regressions. 2020-01-07 21:35:05 -05:00
Aaron Suen
726fd63183 Fix some entity behavior bugs.
- Items shooting upward on ladders.
- Suspected crash on hitting unloaded areas.
2020-01-07 21:20:18 -05:00
Aaron Suen
cda6c1a445 Notes sync from Discord. 2020-01-07 06:56:11 -05:00
Aaron Suen
672199368d Merge branch 'master' into dev 2020-01-05 15:25:08 -05:00
Aaron Suen
62d7447d67 Backport new nc_api_all to release. 2020-01-05 15:24:44 -05:00
Aaron Suen
87e181720f Crush damage for tree trunks. 2020-01-05 15:13:01 -05:00
Aaron Suen
edf94dd666 Efficient item merging. 2020-01-05 15:07:40 -05:00
Aaron Suen
5d7f033c81 Rudimentary (inefficient) item merge. 2020-01-05 14:21:54 -05:00
Aaron Suen
c2e014a776 Attenuate scans for dropped items. 2020-01-05 13:48:53 -05:00
Aaron Suen
9916922432 Drop float support, displace lava.
BOLO gameplay that feels too "exploity" with ability
to forcibly transport lava upwards.
2020-01-05 13:26:45 -05:00
Aaron Suen
4d47ab2e75 NC API dependency simplification.
Treat all API mods as a "layer", and use the new
nc_api_all registration to indicate that a mod depends
on the NC API (which ALL NC mods assume they do).
This means that each non-API mod does not need to
worry about which API mods it really needs and which
it does not, nor will they need to be updated for any
internal API restructures.

This is a game, not a modpack, so all mods will be
loaded anyway, and we only care about order.  That
means that we don't really need to worry about
having excess dependencies because any mod we
don't actually need will be needed by something that's
loaded anyway.  If somebody wants to reuse a
component elsewhere, they're likely to need to do
some work to untangle it anyway, because of the
amount that NodeCore mechanics interact and
interdepend.
2020-01-05 12:59:12 -05:00
Aaron Suen
dcfc80b367 Remove explicit names in mod.confs. 2020-01-05 12:38:45 -05:00