1020 Commits

Author SHA1 Message Date
Aaron Suen
b507e4c6f0 Buff sponge growth rate.
Sponges grow way too slow for the new cultivation
mechanics.  Extremely slow growth is no longer
necessary to prevent colony explosion due to the
introduction in gen2 of total colony size inhibition.
2019-12-17 22:15:18 -05:00
Aaron Suen
68bfa4dc70 Simplify sponge death to never eject stacks.
Sponges just always all die together instantly.
2019-12-17 22:13:29 -05:00
Aaron Suen
63c9a3f659 Initial living sponge gen3 overhaul.
- Sponge mod now depends on optics/glass.
- Living sponges die to wet sponges rapidly in air.
- Living sponges are preserved by water, or a
  water-tight container.
- Glass tanks with a watertight lid preserve sponges.
- Glass tanks inside a packed tote preserve sponges.
- Sponges have about a 2 second half-life in air.

The net effect is that capturing living sponges is no
longer a frustrating, probabilistic exercise, but now
transporting them involves significant technological and
problem-solving work.
2019-12-17 21:55:09 -05:00
Aaron Suen
9ce6cabc32 Fix lode ore often dropping zero prills. 2019-12-17 19:51:01 -05:00
Aaron Suen
e6a2b0b16d More specifics about what's missing in the CDB screenshot. 2019-12-17 19:46:00 -05:00
Aaron Suen
32943999c7 Add script for generating monochrome texture pack for testing. 2019-12-17 19:32:18 -05:00
Aaron Suen
b36b4e69eb Notes from discord. 2019-12-17 19:09:27 -05:00
Aaron Suen
c0570db089 Fix lode yield probability distribution.
Also refactored exponential random transform function
into core API.
2019-12-16 09:20:00 -05:00
Aaron Suen
fa24151782 Fix the jumping eggcorn bug. 2019-12-15 08:43:33 -05:00
Aaron Suen
b7efac4a7f Note updates from discord. 2019-12-15 08:28:34 -05:00
Aaron Suen
d7819762e5 Full proper support for spectator mods.
If players are invisible, NodeCore will not add any visible or
audible effects for them, allowing such players to be completely
non-interactive with gameplay.

This allows things like spectator or stealth-admin mods to
function properly.
2019-12-11 06:52:09 -05:00
Aaron Suen
60e79c4c35 Glass tanks burn down to crude glass, not clear. 2019-12-09 21:10:39 -05:00
Aaron Suen
ddfbd8e863 Another z-fighting regression... 2019-12-09 20:50:57 -05:00
Aaron Suen
10022fb761 Bump default stack max to an even 100. 2019-12-09 07:51:53 -05:00
Aaron Suen
54c2695e23 Use simpler signlike render for stack ent shadow. 2019-12-09 07:51:28 -05:00
Aaron Suen
b59482358b Prevent absurd stack ent sizes. 2019-12-09 07:51:08 -05:00
Aaron Suen
dc8c483e01 Standardize virtual items, prevent them dropping. 2019-12-09 04:46:33 -05:00
Aaron Suen
22cbe8c430 Nerf lux reaction to require real cobble.
Starting up a reactor required 15 lux, but it could
be sustained using only ONE.  This was far too
exploity.
2019-12-08 23:27:54 -05:00
Aaron Suen
7050568938 Dammit dammit z-fighting hacks.
- Unbake the scaling tweak from models, apply it
  using mesh scaling in MT instead.
- Standardize ratio definition in one place.
- Default all nodeboxes to winning z-fights.
2019-12-08 23:14:56 -05:00
Aaron Suen
5d0ff923d3 Fix tote mesh missing material groups. 2019-12-08 22:56:12 -05:00
Aaron Suen
c31a01ec13 Fix z-fighting scale hack. 2019-12-08 22:52:25 -05:00
Aaron Suen
5265fdcb92 Image optimize. 2019-12-08 22:31:24 -05:00
Aaron Suen
fc4c4bc9c4 Fix glass shelf burning bug. 2019-12-08 22:31:12 -05:00
Aaron Suen
44a431df61 Overhaul tote visual.
- Convert to mesh node.
- Make handle/frame look more like recipe.
- Visual difference for totes with slots.
2019-12-08 22:28:20 -05:00
Aaron Suen
c29c2ed9d0 Fix one more nodebox regression. 2019-12-08 18:43:36 -05:00
Aaron Suen
3d11536b81 Fix ugly frames/ladders/staves/rods.
Automatic z-fighting prevention was causing some
nodes to fail to connect to neighbors due to the tiny
gaps.  Allow certain nodes to "win" the z-fight instead
so they also connect to neighbors properly.
2019-12-08 17:19:47 -05:00
Aaron Suen
2a6fdab972 Glass tank bindings are slightly flammable. 2019-12-08 16:55:38 -05:00
Aaron Suen
eeff1d530c Use standard framed mesh for lode crates too. 2019-12-08 16:47:51 -05:00
Aaron Suen
ce58f8294c Refactor shelf API/assets into its own module. 2019-12-08 16:41:59 -05:00
Aaron Suen
a53030cdcf Use a mesh instead of nodebox for shelves.
In principle this should be equivalent to 2 cuboids
instead of 6.  In practice, FPS improvements are
hard to measure.
2019-12-08 16:13:44 -05:00
Aaron Suen
00f8a47dda Added glass tank recipe. 2019-12-08 14:59:57 -05:00
Aaron Suen
b7ec766c0a Merge branch 'dev' into glasstank 2019-12-08 14:52:28 -05:00
Aaron Suen
564034b77a More notes. 2019-12-08 10:41:27 -05:00
Aaron Suen
ac773ace20 Merge branch 'dev' into glasstank 2019-12-08 09:22:49 -05:00
Aaron Suen
80340d9058 Sneak-dig tote handle to leave shelves behind. 2019-12-08 08:26:58 -05:00
Aaron Suen
d4b512cd1e Sneak-punch shelves inspects without taking. 2019-12-07 23:12:34 -05:00
Aaron Suen
a54d868cc3 Start work on glass tank. 2019-12-07 22:45:34 -05:00
Aaron Suen
dd0cf19784 Centrally fix water z-fighting on ALL nodeboxes. 2019-12-07 22:24:09 -05:00
Aaron Suen
dd531e7894 Don't auto-repack non-repackable nodes, e.g. leaves. 2019-12-07 20:18:46 -05:00
Aaron Suen
cd95102b34 Fix item ents not being saved on unload. 2019-12-07 18:32:23 -05:00
Aaron Suen
e99c72154d Shelf standarization and tweaks.
- Refactor common code.
- Allow placement of wood shelves inside lode crates.
2019-12-07 18:25:05 -05:00
Aaron Suen
88896b8337 More notes about builtin entity mess. 2019-12-07 12:55:34 -05:00
Aaron Suen
2f9a4f0cb5 Displace items on falling force settle.
We were assuming that falling_nodes would settle in an
orderly fashion and just calling the node placement code, but
not the displacement of old nodes.

Make sure that things aren't destroyed in the landing zone.
2019-12-07 12:48:18 -05:00
Aaron Suen
d514f8f56d More dynamic item settling random management.
Instead of shuffling all the shells once for each tick used,
shuffle only those shells actually used once per tick.  This
should save us more time in common cases where we need
to only check a few shells to find a place to settle.
2019-12-07 11:26:10 -05:00
Aaron Suen
e0f2cb5b6d Item settling overhaul.
- Always prefer closest place first, then lowest height.
- Simplify search order; use a pre-built order instead of scan.
- Randomize search order only once per tick, if used.
2019-12-07 11:12:55 -05:00
Aaron Suen
75df6f61b0 Docs reorg. 2019-12-06 07:12:24 -05:00
Aaron Suen
5b0459e4bb Speed adjustment settings for many long-running processes.
Many processes that have a significant speed/time component can
now have speeds adjusted (as a multiplier from base rate) via
settings.

Things that can be adjusted:
- Tool speeds (including digging and pummeling)
- Cooking and pummel recipe durations
- Soaking processes like tree growth, peat fermentation

The settings are hierarchical, so groups of rates can be
adjusted together, and a further multiplier can be applied to
each member of the group.

The settings are calculated dynamically, for power users only,
and documenting them is out of scope for the project.

Specifically, this should help tuning for Kimapr's SkyBlock, and
possibly other mods involving signficant gameplay rebalancing.
2019-12-06 07:01:12 -05:00
Aaron Suen
65ae771168 Fix minetest.rotate_node ignoring force-place. 2019-12-06 01:50:24 -05:00
Aaron Suen
ae3b150814 One more TouchTip fix... 2019-12-05 22:57:52 -05:00
Aaron Suen
40f724a86d Nil guard touchtips. 2019-12-05 22:50:38 -05:00