2239 Commits

Author SHA1 Message Date
Aaron Suen
c4f41348e0 Fix skybox being sent every step 2022-01-22 22:11:55 -05:00
Aaron Suen
9c03cf35eb Log format cleanups 2022-01-19 23:30:56 -05:00
Aaron Suen
08e4a553ab Remove debugging code 2022-01-18 21:01:34 -05:00
Aaron Suen
0f573537bf Regenerate bandolier attachments periodically
An engine bug can cause bandolier attachments to become
detached from the perspective of a player if they and another
player wander farther than the server's player transfer
distance from one another and then re-meet later.
Sometimes the attached entities appear to be floating at the
place where the player was reloaded from the other player's
perspective instead of attached.

Work around this for now by just periodically regenerating
the bandolier attachments for all players, so that at least if
it happens, it will self-correct in time and not be stuck
indefinitely broken.

This was avoided in the past due to an old engine bug that
caused attachments that were attached while a player was
in 3rd person mode not to be visible to that player until they
toggled view mode again ... but this seems to have been
fixed at least in recent versions.

As of now, other-player bandoliers in MP are probably more
important than own-bandoliers in 3rd person view for most
serious use-cases anyway.
2022-01-18 20:19:23 -05:00
Aaron Suen
fe29f4412d Standardize pummel-completion particles
Any time a pummel recipe is completed, release an extra
burst of particles.  Useful for recipes that seem to be
taking forever to complete but only because they're
repeatedly completing but not giving any visible hint,
e.g. leaf-bud-tickling.
2022-01-18 19:49:44 -05:00
Aaron Suen
67f8abd12c Make sure nodecore.match supports aliases 2022-01-18 19:14:07 -05:00
Aaron Suen
28e2fd5590 Experimental API for adjusting in-game time
Everything in NodeCore should already be using
nodecore.gametime instead of minetest.get_gametime().
This API allows an offset to be adjusted between these,
allowing for skipping forward in time.

The idea is to offer an optional "realtime clock" feature via
a mod or config option to allow mobile SP players to advance
time forward for idle mechanics when the game is not
loaded and running, via the realtime clock, to make idle
mechanics more accessible to players on limited battery.
2022-01-18 18:51:10 -05:00
Aaron Suen
3534c3a0f7 Merge branch 'master' into dev 2022-01-17 10:44:33 -05:00
Aaron Suen
8ba435f3e3 Fix player/entity velocity polyfill on 5.3
Apparently players and luaentities use the same metatable,
so the polyfill needs to check if it's a player or not before
choosing which get_velocity to call.
2022-01-17 10:44:24 -05:00
Aaron Suen
6b03f79561 Revert sponge death ABM timing
The checks may be a bit pricey, so we shouldn't
just blindly increase the net run rate.
2022-01-17 08:11:44 -05:00
Aaron Suen
fd6f0508ea Make sponge node death less arbitrary
Sponge nodes die if exposed to air for >= 2 seconds.  They
are still more fragile in item form.  This allows reliably
swapping a node used to seal in a living sponge without
instantly killing it, which used to be possible but risky,
depending on racing with the ABM timer.
2022-01-17 08:09:17 -05:00
Aaron Suen
9637299f4c Fix leaf decay forcing, changed field name
Handles both natural decay and manual digging.
New field name more properly reflects actual meaning.
2022-01-16 14:04:42 -05:00
Aaron Suen
32b2ea1591 Allow forcing leaf drops via node meta
This can be useful for skyblock mods to ensure that a
"starting tree" has at least enough of certain items to
craft basic tools and start sustained tree farming.
2022-01-16 13:34:05 -05:00
Aaron Suen
73868f205b Storeboxes: don't fall in unless you can fall thru
There isn't always a surface below to catch items
that fall into a storebox, so we can't guarantee an
item that falls into a storebox won't just fall out
the bottom.  Only allow falling in the top if falling
out the bottom is allowed too.

This fixes glass cases not catching items if the
case is floating in air with nothing solid below it.

There are still some cases it doesn't handle
correctly, like a bare stack node underneath a
form, wherein the item should be allowed to fall
out of the form and combine into the stack.
2022-01-16 13:06:33 -05:00
Aaron Suen
1ad5bde166 Allow ambiance check to return a simple true
Allow use of true to indicate no custom options.  The check
was originally put in place to allow custom options, but
some mods may use it more simply like the craft check,
where it's meant to be a simple pass/fail.
2022-01-15 23:49:19 -05:00
Aaron Suen
13a5b64a25 Recipe for leaf bud tickling 2022-01-15 14:42:26 -05:00
Aaron Suen
72e417e49d Soil leaching tickling recipe
Also, fix inability to push soaking for leaching
ABMs due to fieldname collision.
2022-01-15 14:07:51 -05:00
Aaron Suen
81b0d85418 Tickling recipe for peat composting 2022-01-15 13:54:35 -05:00
Aaron Suen
f0ea46e4f6 Standardize "tickling" rate
Base rate on the natural ABM soaking rate, so
that quality of environment can still be used
to increase rate.
2022-01-15 13:54:11 -05:00
Aaron Suen
9116857cc0 Back out leaching particles
They're barely visible if at all, create a ton of
network traffic, and now inconsistent with
composting.  Trees are allowed to be a little
special.
2022-01-15 13:51:21 -05:00
Aaron Suen
db8f5c79b7 "Tickling" recipes for tree growth 2022-01-15 13:40:02 -05:00
Aaron Suen
5c812035c7 Dirt leaching particles 2022-01-15 13:39:12 -05:00
Aaron Suen
acd4156ed8 Soaking "tickle" API, standardize particles 2022-01-15 13:29:50 -05:00
Aaron Suen
ea2ccc972e Debug code 2022-01-15 12:17:13 -05:00
Aaron Suen
39689e30a0 Attempt to limit node setting noise
If bursts of node setting happen all at once, limit
it to about 25 per second.
2022-01-15 12:16:55 -05:00
Aaron Suen
7152c487ce Access to flora as weeds via peat fermentation
- Made grass from peat more common
- Flowers spontaneously grow on humus under sun
- Sedges spontaneously grow on grass
- Rushes can spawn near water and sedges
2022-01-15 12:03:28 -05:00
Aaron Suen
aa64359cc3 Fix stylus etching using doors 2022-01-15 11:20:33 -05:00
Aaron Suen
ec6a04c1ce Support ambiance pitch variation 2022-01-14 21:33:30 -05:00
Aaron Suen
d1b6c0333b Change how optic ungluing works
Instead of digging the glue off by hand and freeing
up the optic to rotate again, it must be fully dug by
a tool, to further prevent accidental ungluing.
2022-01-11 23:24:57 -05:00
Aaron Suen
bf8f74b35f Fix cooking/cooling in storebox regression
Allow matching to work explicitly with items inside
containers if so marked, and automatically mark
all cooking/cooling recipes thus.
2022-01-11 20:58:35 -05:00
Aaron Suen
42e07db626 Fix lode block forging on stone
If you have enough glowing prills in a stack, then
making a lode cube always takes precedence over
"stone anvil" hot-forging recipes.  If players want to
make toolheads they'll just have to make sure they
don't have excess amounts of lode in the stack; it's
a good reason to eventually switch to cold-forging
on tempered anvils anyway.
2022-01-09 17:10:03 -05:00
Aaron Suen
d4d6e225ae Translation updates 2022-01-09 13:30:41 -05:00
Aaron Suen
ce2b2ddfd3 Fix glued lens activation 2022-01-09 13:28:45 -05:00
Aaron Suen
25a548e26a Update groups documentation 2022-01-09 13:18:07 -05:00
Aaron Suen
301ac45f02 Add groups for artificial concrete types 2022-01-09 13:12:46 -05:00
Aaron Suen
d37b97bb95 Fix broken ablation check 2022-01-09 13:11:59 -05:00
Aaron Suen
d37e9e9ace Genericize lens beam emitters
Look for optic_lens_emit group instead of explicit
lens_on node, to support multiple lens beam emitting
nodes (e.g. glued/unglued) for firestarting, door
ablation, etc.
2022-01-09 13:07:16 -05:00
Aaron Suen
894fab64e1 Don't break timers/meta on optic gluing
This in particular seemed to affect shining lenses.
2022-01-09 13:02:45 -05:00
Aaron Suen
727dce0e37 Hint for optic gluing 2022-01-09 12:57:10 -05:00
Aaron Suen
7dc3933aaf Restore glued optics default right-click action
Allow placing against them, scaling them, etc.
2022-01-09 12:54:31 -05:00
Aaron Suen
85c96c8094 Glue optics in place with an eggcorn
This makes it possible to lock optics against
accidental rotation, which has been a problem.
2022-01-09 12:52:54 -05:00
Aaron Suen
8c9a8b7843 Warning message cleanup 2022-01-09 10:52:26 -05:00
Aaron Suen
bf2bed7b5a Reduce time-of-day workaround impact 2022-01-09 10:36:57 -05:00
Aaron Suen
b18fe1ee77 Revert "Simplify fixed-time-of-day"
This reverts commit 687058facb1c2431af06f283294954e5583019fa.
2022-01-09 10:24:05 -05:00
Aaron Suen
687058facb Simplify fixed-time-of-day
Apparently time-of-day is sent to clients purely on
a fixed time interval, so the warning about extra
network traffic was incorrect.  We can just forcibly
set time of day each tick entirely server-side without
any ill effects on network clients.
2022-01-09 10:07:10 -05:00
Aaron Suen
a0ae93f97a Allow door digging to bypass protection 2022-01-07 20:58:00 -05:00
Aaron Suen
de979d87e3 Remove guide entry about 3x3 recipes
They should no longer exist, officially.
2022-01-07 20:48:12 -05:00
Aaron Suen
346df76e0a Update translations w/ new rake hint 2022-01-07 20:37:12 -05:00
Aaron Suen
5e75fbd8d4 Translation sync 2022-01-07 20:35:14 -05:00
Aaron Suen
4c09d412c1 MAJOR: Rake recipe reform
Trying a new more "intuitive" rake recipe shape.
Rakes will now be notably cheaper than before, but
durability will not be nerfed.
2022-01-07 20:35:01 -05:00