- Clean up utils into multiple files.
- Standardize limited ABM.
- Standardize debug trace handling. Instead of using chat_send_all
to debug, and then having to remember to remove before release,
allow privileged players to receive all server debug messages.
Right-clicking with an item now by default places one as a stack
node. When placing this way, crafting detection applies.
Had to copy in a bit of code from builtin.
Much TODO:
- Primitive adze should not harvest trees whole; need to split into
planks from end only.
- Not entirely satisfied with crafting experience from gameplay nor
API perspective.
- Need an easier way to register these kinds of recipe checks.
- Need more gameplay actions to commmit a craft, e.g. have to pound
the tool head into place.
- Punch a node repeatedly, aborting dig between each swing, to
trigger the "pummel" action.
- Can use this to repack "loose soil" type nodes into solid,
non-falling versions.
"Loose" versions of materials will only allow a certain maximum
angle of repose, and will shuffle around sideways and fall if
that angle is exceeded. Softer materials like sand, leaves, loose
items, will all have shallow angles, while sturdier stuff like
dirt, gravel, etc. may allow steeper ones.