Try to standardize the way we handle tools, materials, digtimes.
- Levels start at 1 and work upwards.
- Level 1 is for "hand" or "primitive" tools.
- Levels 2+ are wood, stone, metal, etc.
- Link dig times, tool levels, and durability together.
- Material groups now define standard "base dig times" which
are the main thing that makes e.g. stone harder to dig than dirt.
The speed of digging almost everything will probably have changed,
in some cases not for the better; much testing will be needed.
- There are now 6 degrees of embers. Better fuel sources will
make better embers.
- Embers differ only in lifespan; each class lasts twice as long
as the previous. Top-grade fuels may last 15 minutes or
longer.
- Embers decay stochastically.
- Embers decay 16x as fast when smothered, but still go through
the same lifecycle.
Also:
- Plain ash now reposes.
There are no infinite fuel sources, nor are any specifically
planned at this time.
There are 4 different states for things in the world:
- Regular node in world
- Item stack on ground
- Item entity (falling)
- Falling node entity
The entity states are not interactable at all, and regular node
doesn't rotate. We can help differentiate node-in-air vs
node-stack-on-ground with a shadow visual.
Sometimes a node will get stuck as an entity inside another node's
negative space (e.g. a nodebox) and having a way to tell that it's
not a real one should maybe help.
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.
"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.
- Need to search for open space for ents trapped inside a node.
- Look into a smoother way to handle the drops hack for the
stack node; maybe a central API with ext_drops supporting
functions?