2410 Commits

Author SHA1 Message Date
Aaron Suen
3c071dba09 Merge branch 'dev' into fallthrureform 2021-11-27 13:37:00 -05:00
Aaron Suen
5392a2ab3a Fix sedge farming
Instead of trying to always drop a sedge, then sometimes drop
another (didn't seem to work), just drop 2 sedges 25% of the time,
and 1 sedge the rest of the time if the 2 didn't drop.
2021-11-27 13:36:08 -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
01b3867c81 Stackapply recipes work on storeboxes too 2021-11-27 08:57:03 -05:00
Aaron Suen
9d3c05bb23 Document stackapply / door press limitation 2021-11-27 08:53:10 -05:00
Aaron Suen
c138dec78b Make stackapply recipes synchronous
This allows them to be used with the same item as
is already in the stack rather than having those items
combine into the stack FIRST and the recipe run later
with an empty weilditem.
2021-11-27 08:52:25 -05:00
Aaron Suen
a5985dd43e Don't push player out of item stack nodes 2021-11-27 08:41:29 -05:00
Aaron Suen
ede533034c Rethink how multiple stack access APIs work 2021-11-26 10:11:03 -05:00
Aaron Suen
81e6b02a33 Note about refactoring item_fall_thru 2021-11-26 09:44:29 -05:00
Aaron Suen
f88748b10a Add wooden forms
- Future storebox recipe reform ingredient.
- Items fall through forms but players and
  nodes (including falling_nodes) do not.
- Can be used to make e.g. special filter floors.
2021-11-26 09:41:57 -05:00
Aaron Suen
d1b09d0343 items_fall_thru stabilization
Do not allow items to settle onto something
they will immediately fall through if they are
already in a falling-through state.
2021-11-26 09:39:25 -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
c0a105a4ee Remove debug cruft 2021-11-26 09:16:22 -05:00
Aaron Suen
001f9767fe Notes update and reorg 2021-11-25 21:36:24 -05:00
Aaron Suen
9d6abc30d5 Fix a missing : prefix for external concrete types 2021-11-25 21:29:36 -05:00
Aaron Suen
033c4defc5 Add thatch and wicker
Partly based on WintersKnight94's work, but with
more vanilla-like and less wintercore-like textures
for now.
2021-11-25 21:13:36 -05:00
Aaron Suen
7c45ca5eb2 Stone anvils, new anvil API
- Anvil API is a wrapper that registers multiple
  recipes, one for each type of anvil allowed.
- Can now use smooth stone as an anvil, however
  once it's been used it cracks, and once it's been
  cracked, if it cools, it converts to cobble and cannot
  be reused, forcing players to master concrete, keep
  their forge hot, or relocate the forge each time it
  cools.
2021-11-25 20:12:55 -05:00
Aaron Suen
1b06213fea Add "hopelessly stuck -> ask community" tip 2021-11-25 12:30:00 -05:00
Aaron Suen
3e9e0bfc83 More specificity 2021-11-25 11:35:00 -05:00
Aaron Suen
9c0d9c23f4 Add some warnings to the readme
It seems like a number of players are coming in with
misconceptions about the type of game this is or
what the experience is supposed to be like.  Add
some explicit warnings to the CDB long description to
make it clearer.

If these help, it may make sense to add similar
warnings to the player's guide.
2021-11-25 11:31:59 -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
feca258e63 Rebrand "hints" as "challenges"
There seems to be a common misconception among
new players that the "hint" system is supposed to
help provide guidance when they're stuck, when what
they're really for is hinting that something exists and
challenging the player to find out how to access it.

Change the name of "hints" to "challenges" for all
text display purposes to try to clarify.
2021-11-24 21:26:34 -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
eb6ea78306 Flower tweaks
- Make flowers easier to grow by allowing plain grass/dirt.
- Reduce the base rate of natural up-mutation.
2021-11-20 11:53:10 -05:00
Aaron Suen
62552a4365 Update translations, glossary w/ glass tank->case rename 2021-10-15 06:53:24 -04:00
Aaron Suen
1a1a4255db Rename Glass Tank to Glass Case
This caused copious confusion for new players, who assume the
glass "tank" is like an aquarium tank and can be used to carry
water.  Originally it was intended to seal in "moisture" for
sponge transport, but that has become a far less important use
case (and in fact sponge transport is probably best done just by
building submerged pathways, like the way amalgam transport is
done) and glass "tanks" are more like "display cases" now, or an
intermediate storage container that adds top access (useful for
totes).
2021-10-15 06:46:27 -04:00
Aaron Suen
24896399c0 More liberal glowing lode cobble draining
Instead of draining only into air/non-walkable below, allow
draining into any space air can pass, including ones where the
prills would be immediately displaced, e.g. into a frame.
This also allows it to drain directly into an existing stack of
glowing prills without an intervening airspace.  This should tone
down the difficulty of figuring out ore smelting a bit, and
make for somewhat more interesting lode furnace builds.
2021-10-01 07:49:19 -04:00
Aaron Suen
9fe9935ed9 Ensure concrete wandering starts immediately 2021-10-01 07:37:08 -04:00
Aaron Suen
25ae91cb17 More distinct non-lava-like look for molten glass 2021-10-01 07:02:07 -04:00
Aaron Suen
3c2104561a Explicit cobble fill for dungeon brick API
Instead of relying on base layers to replace dungeon cobble with
real cobble in the bricking logic, explicitly set a cobble node
name so that downstream consumers (e.g. nature mod) that extned
this API will reliably get all fill/brick/bonded members of the
material profile to transform consistently.
2021-09-27 08:15:53 -04:00
Aaron Suen
1a26ec1f9e Always be more careful with future params in interception 2021-09-27 08:08:08 -04:00
Aaron Suen
47d0b68dba Unify dungeon API RNG
Avoid having to have each dungeon generation method manage its
own RNG, which should save a lot of time on RNG seeding.
2021-09-27 08:04:09 -04:00
Aaron Suen
2e9d342110 Complex concrete dungeon materials
Use all base concrete materials in dungeon gen.

- From y=+32 to y=+64, transition from stone to a 50/50 mix
  of adobe and sandstone.
- From y=-640 to y=-768, transition from stone to tarstone.

Adds some more variety and reason to explore dungeons.
2021-09-27 07:55:35 -04:00
Aaron Suen
b5eb58d2bb Dungeon stonework API, restrict a few more loot items
Add a generic method to get stonework materials for dungeon
brick generation so we can extend dungeon bricking while keeping
the same pattern of mixed cobble/bricks/bonded.
2021-09-27 06:59:14 -04:00
Aaron Suen
f3f60ff507 Depth-restrict dungeon loot
Some loot does not appear above certain depths, to restrict
late-game content to players who are more likely to have actually
achieved that level, and not spoil very-late-game content very
early in surface-accessible dungeons.
2021-09-27 06:51:31 -04:00
Aaron Suen
7bf0507cfd Fix uninitialized dungeons below y=-80
This was caused by a missing biome definition at this depth,
causing stonework and loot not to populate.
2021-09-27 06:50:41 -04:00
Aaron Suen
f763778436 Fix flower breeding influence radius 2021-09-25 11:56:26 -04:00
Aaron Suen
b73d1d1290 Pre-clean-transparent filter on all textures
Some users may use filtering but not have the "clean transparent"
filter enabled in the Minetest engine config.  Bake this filter
into all images to (1) avoid the consequences of this (i.e. black
halos), and (2) possibly speed up startup time (the filter will
converge immediately).
2021-09-23 07:36:21 -04:00
Aaron Suen
92a9b2bed3 Allow artificial water sources to overwrite flows
Sponges can "time out" due to having been unloaded, and having
their check timer fire before an automated squeezer door timer
fires.  If this happens, the water needed to drain completely
before it could be re-squeezed, forcing a break in the water
flow.

This allows water sources to replace the water flows, so that
unbroken water sources will work even in load/unload boundary
conditions.
2021-09-17 07:17:51 -04:00
Aaron Suen
23509a7796 Explicit order of ops
I've had "not a or b" or "not a and b" behave
counterintuitively for me before so now I'm rather
defensive about binding order for "not".
2021-09-15 22:27:00 -04:00
Aaron Suen
52f36ce528 Fix pliant conrete being brickable 2021-09-15 22:24:56 -04:00
Aaron Suen
f23f87cc47 Make sure empty bandolier slots never glow 2021-09-12 16:41:05 -04:00
Aaron Suen
102bc0e85e More docs updates 2021-09-12 09:07:26 -04:00
Aaron Suen
a21ed2241d Retire the "design principles" doc
This document has remained unmaintained for a
long time, never was truly correct, was always
reactive and descriptive rather than being
prescriptive, and frankly the readme does a better
job of that anyway.

From early on, NodeCore was always about
experimentation, and just keeping what fit in and
worked.  This means that "design principles" have
always been less about some grand underlying long-
term vision, and more about just pattern recognition.
NodeCore has been around long enough that the
patterns are fairly evident by now.  Trying to keep
around a doc that is always lagging behind these
patterns is not helpful.
2021-09-12 08:55:36 -04:00
Aaron Suen
e017229a5d Reduce warning noise on wrong time_speed 2021-09-10 10:20:05 -04:00