511 Commits

Author SHA1 Message Date
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
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
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
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
fef59533de Don't crash on missing wear in match 2022-01-07 20:27:44 -05:00
Aaron Suen
28ecc48399 Lots more German translation 2022-01-04 21:00:19 -05:00
Aaron Suen
849ebc62d4 Typo fixes 2022-01-04 16:33:14 -05:00
Aaron Suen
194458a06d Translation updates, with new form/shelf hints 2022-01-04 06:22:49 -05:00
Aaron Suen
741955e097 Fix item deletion on crafting storage boxes
Since items inside box would be deleted, just don't
allow crafting of storeboxes/totes if there's already
an item trapped in the form.
2022-01-02 21:31:15 -05:00
Aaron Suen
1ef418acfc De-genericize metallurgy groups
When this was setup, it was named generically
in order to support future functionality that
used the same heating/tempering/annealing
mechanics.  Ironically this has actually only
caused problems.

Standard game mechanics will not mimic one
another, especially something this complex.
Anything worth making a system for nodecore
that's as complex as lode-working deserves its
own distinct mechanics rather than recycling
lode-working.  So vanilla NC will not reuse the
metal-working logic anyway.

Mods were able to reuse the existing logic, but
ironically the only one mod that would actually
have benefitted from it (i.e. uses very similar
heating/tempering/annealing) just copied and
pasted the code from NodeCore anyway, which
not only didn't take advantage of the existing
mechanic provided, but actually made the mod
break the game when installed, because the
mod would replace functionality in use by
vanilla with an older version, and the copying
will always keep that functionality locked in to
an older version, breaking whenever future
changes to the base mechanic are made.

Rename the base mechanic to (1) get out of
the way of the existing mod, and (2) make it
more clear that this is NOT generic functionality
that can be used to create new metals, but
only specifically for lode, and if somebody else
wants a clone of this logic, they would need to
rename it to make sense.
2021-12-29 11:34:30 -05:00
Aaron Suen
c20bc5b502 Make a proper air_equivalent API 2021-12-26 13:26:28 -05:00
Aaron Suen
2c6eb8dd91 A few more translations 2021-12-26 00:15:46 -05:00
Aaron Suen
27f6447787 More translations, more notes. 2021-12-21 18:08:30 -05:00
Aaron Suen
d43fccf9f7 Update credits for new german translations 2021-12-21 12:27:42 -05:00
Aaron Suen
d450857844 Translation download reliablity update
Detect a translation that once had strings but became
blank due to an uncaught failure to download the
file from weblate.

Also make trace output a bit terser but more specific.
2021-12-21 12:26:24 -05:00
Aaron Suen
1c5434b433 Update translation src w/ hint/discover updates 2021-12-21 11:46:22 -05:00
Aaron Suen
3db0d71dcb Translation updates 2021-12-21 11:44:01 -05:00
Aaron Suen
2b9c30c8de Fix node stack meta privatization
When stack data was moved from node meta
inventory to fields, it was automatically privatized
and no longer sent to clients, which led to the
unintended consequence of breaking client
enable_local_map_saving.  Maps saved this way are
missing all stored item stacks, which can be a very
significant part of the gameplay and render the
maps useless for many purposes.

The default behavior should be to leave this engine
feature intact, with an opt-in option for those who may
have come to rely on the alternative behavior.
2021-12-18 12:42:45 -05:00
Aaron Suen
8c027089ae Merge branch 'unloadcheck' into dev 2021-12-18 12:14:08 -05:00
Aaron Suen
a1b2df3941 Begin standardization of unload bounds check
- New near_unloaded API that supports custom
  distance parameter, map bounds check, and
  some optimizations.
- Add area automatic unload check support to ABM
  API and add to applicable ABMs, replacing many
  old manual checks.

Note that the explicit unload check is only strictly
necessary when something will happen due to
a node NOT being present in the area, e.g. something
igniting due to absent coolant, or soaking quantity
being reset due to missing sources.  In simple cases
where the absence of a thing causes the ABM to do
nothing, then the standard check can work because
the default action is to do nothing anyway.
2021-12-18 11:28:14 -05:00
Aaron Suen
a73d9e4457 Report demuxed ABM amounts too 2021-12-18 10:44:45 -05:00
Aaron Suen
fb76d23f36 Expand peat grinding to groups
- Use groups so it's easier for mods to add things
  that can be ground into peat.
- Pretty much all flora can be ground into peat as well.
2021-12-16 20:47:13 -05:00
Aaron Suen
080aed561e Fix crash 2021-12-15 21:36:02 -05:00
Aaron Suen
d6ebd48e26 Fix mod list 2021-12-13 22:54:13 -05:00
Aaron Suen
8bfdc211a3 Convert some action logs to info
We were using action log level for a lot of
things because by default MT does not seem
to capture info logs to stderr.  On "production"
servers though this makes too much noise and
makes it hard to find actual player actions.
Servers that want info logging will just have
to configure/compile it in.
2021-12-11 21:26:18 -05:00
Aaron Suen
17c5b2fda7 Leaching by group, fix settingtypes.txt 2021-12-11 11:36:52 -05:00
Aaron Suen
d7df7f5521 Translation sync 2021-12-10 08:05:53 -05:00
Aaron Suen
7f5155f91d Glowing lens slow-start
Lenses enter a "glowing" state to propagate signal
immediately as before, but now they don't actually
produce light until powered steadily for 2 seconds.

This should mitigate the risk of "strobe" circuits that
cause excess lighting recalculations and irritate some
sensitive players.
2021-12-03 23:04:58 -05:00
Aaron Suen
34a2562964 Polyfill for player:get_velocity, clean up other hooks
This gets rid of the 5.4+ "deprecated get_player_velocity" warning
and modernizes the code to use get_velocity() everywhere, while
still remaining compatible with 5.3 for now (tested).  The polyfill
had to be on joinplayer because the nc_player_pickup auto-one-time
method of using after() won't reliably patch the player before some
other globalstep tries to read player velocity.

When MT 5.5 is released and 5.3 support ends, the polyfill just
needs to be removed to clean it up.

Also tidied up and consistentized the logging for other hooks.
2021-12-03 08:09:57 -05:00
Aaron Suen
ce27780dd4 Preserve raw forms of ALL base APIs 2021-12-02 06:19:38 -05:00
Aaron Suen
b9d9efe0c1 Make stack columns work with catapult from forms 2021-12-01 20:51:37 -05:00
Aaron Suen
413641aa71 Fix delayed witness, finish known form use-cases 2021-11-29 23:10:22 -05:00
Aaron Suen
9120c78511 Compact mod list formatting
Make it easier to fit long lists of related mods in
the About box if possible
2021-11-29 20:41:09 -05:00
Aaron Suen
2e13a95e82 Standardize items falling out of shelves 2021-11-27 15:38:03 -05:00
Aaron Suen
443bade6d6 Unified custom falling checks 2021-11-27 15:21:11 -05:00
Aaron Suen
ce99412270 Item entities properly fall thru forms 2021-11-27 15:08:40 -05:00
Aaron Suen
6741c7cc50 Notify nodes upon stack change 2021-11-27 11:49:10 -05:00
Aaron Suen
3233b7e32e Rework stack settling API 2021-11-27 11:27:56 -05:00
Aaron Suen
69889ee292 Start reforming stacks falling in/thru boxes
- Retire items_fall_thru group
- Add on_settle_item callback
- Open-topped storeboxes automatically capture
  items settling on top of them
- Start converting form into storebox
2021-11-27 09:59:27 -05:00
Aaron Suen
7da2ed13df Fix crosshairs/looktips in the void
It seems like Minetest actually generates terrain
beyond the map limit boundaries and raycast
and get_node can retrieve them server-side, even
though they aren't rendered client-side and air is
still filled with ignores.  This causes players to see
"stone" with looktips looking thru the bottom of
the world.  Fix it with an explicit check for world
bounds.
2021-11-27 09:24:28 -05:00
Aaron Suen
3b0a0452f8 Add items_fall_thru group
Only applies to item stacks, not to falling_nodes.
2021-11-26 09:23:54 -05:00
Aaron Suen
82dd025478 Translation updates 2021-11-24 21:54:03 -05:00
Aaron Suen
3244303aa1 Fix bugs caused by group metatable 2021-11-24 21:34:46 -05:00
Aaron Suen
0d9e8ef7ee More robust group detection, add missed ones
Detect attempts to read a group even if no items are
registered to use that group.
2021-11-21 19:00:39 -05:00
Aaron Suen
d2b157199e Document all groups in use by the game
Add a dump system to help detect new groups
that need to be documented.
2021-11-21 00:48:14 -05:00
Aaron Suen
62552a4365 Update translations, glossary w/ glass tank->case rename 2021-10-15 06:53:24 -04:00