Can construct simply using a stack of sticks. Makes it possible to
maintainably tunnel upwards to bring in sunlight for indoor light
for shallow builds, and provides a safe walking surface above.
Also:
- Fixed recipe rotation to include normal check.
Allow up to 2% wear. Sometimes you're diggng with a stone tool and
the tip breaks off and you don't notice (there's no sound yet),
so you accidentally dig a little with the wood tool and get it a
little dirty. Let's be a little forgiving, and allow the stone
tip applicaton to also apply a little "repair" to the underlying
wood tool.
- Add a bit of stone to the tip of a wooden tool to harden it.
- Stone tools wear back down to their wooden originals.
- Stone tools dig faster, but wear quickly, so you need to pay
attention to wear levels and carry spare stone tips.
Also:
- Nerfed mining speeds again, but made higher-tier tools much
faster relative to lower.
- Nerfed tool durability as well.
Also:
- Standardized item ejection logic.
Try to place items into existing stacks when searching for a
settling location.
Try to launch items from reasonable corners of a source node in
item_eject so they don't self-collide and end up in one pile.
For now this is a stopgap to make sure that things aren't diggable
now that we want not to be.
This whole group level thing is kind of a mess. We will probably
have to switch to a strategy of using fewer levels and more
different groups in the long run. Based on the feedback I've been
getting in the MT Discord, it sounds like the number of tiers may
not be very flexible.
- Make check/resolve functions naturally paired instead of having
to test the "check" value, so we can use the "check" value for
more specific parameter stuff.
- Make existing pummel logic use a standard tool speed check.
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.
Rename it to "lode" so that its relationship with the more familiar
iron element is less direct, to maintain a higher baseline level of
suspension of disbelief.
Also restructure the way ores work in general, especially with
respect to normal stone. Natural ore deposits are stone with a
texture overlaid. Cobbled ore is the same ore "stain" texture with
alpha stripped and cobbles drawn over it. Normal cobble is now
basically what "gravel ore" would look like. This should allow
us to get a more consistent ore appearance with fewer textues.
- 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.
Iron ore is distributed in sheets. The ore itself will not be
exposed to the air (or any other material other than stone) but
can be detected by the rusty tint it gives nearby rocks.
Iron ore is a stone that yields cobble infused with iron.
Smelting processes to produce steels are TBD.
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.
This actually makes it a little easier to start a fire, in case
the node we picked to send sparks to isn't flammable enough; the
fire here may last long enough that, depending on ABM timing,
nearby tinder may catch fire anyway.
- 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.