I suspect that the problem that I actually observed was caused by
falling_node behavior, and NOT by an abm. This workaround cannot
remain without firm evidence that it solves an actual problem.
We actually haven't been testing in 0.4 at all for quite a while
now. Since this is a standalone base game without complex
interdependency relationships, there isn't really any need to
maintain compat with old versions of the engine. Players can
upgrade to play; keeping a separate copy just to play on old 0.4
servers is even still an option.
There is some internal cruft that has been building up to support
0.4, and this allows us to purge most of it. The larger benefit
may come when we're able to remove line_of_sight in favor of the
more efficient raycast (still yet to be done).
Attempt to place stack node directly when player is pointing at
a node space, instead of tossing out an item ent.
This makes item organization less tedious in the early game, as
players are manipulating node positions instead of calculating
ent ballistics in their heads when trying to lay out inventories
on the ground, or using naive shelving.
(Note that wooden shelves still have an advantage in how quickly
items can be taken from them).
Items are still tossed as ents if a player is not looking at a
valid place in nodespace, so inventories can still be e.g. thrown
over a cliff or jettisoned in the ocean...
- There is now a thin "background" amount of lode at all depths,
so you should never dig too large a stata without finding
anything at all.
- Ore is now not only more plentiful at depth, but also packed
into denser clusters, so you have to mine for longer before
finding a huge deposit.
- More sophisticated swimming liquid detection, which also handles
some corner cases a little more smoothly.
- Use the "walk+mine" animation for digging while treading water.
- Clean up anim code and merge speed table with animations.
Note that set_local_animations has been removed, to be able to
support these new animations when using local 3rd-person view.
It's expected that this MAY cause 3rd-person view animation
change lag in 3rd-person view when network lag is a problem,
but we don't expect this to be very much trouble in practice...
- Included new content.
- Partially converted to base on recipes instead of just items.
- Added support for group and toolcap checks.
Fixed a number of small bugs elsewhere in the process.
Consistent with everything else in the world, we assume that "cube"
is the default state for things to be in (this is NodeCore after
all) and only use shape descriptors for things like lumps, prills
and other non-cube versions of things that also exist as cubes.
Hopefully calling minetest.get_node_or_nil() again for all ABM's
will bypass the broken node cache. We should see warning messages
in the logs if this is the case.
Fuel quality is important now, so we want to be able to see the
fuel through the fire. On the other hand, this may cause fire
to be invisible through water...
- Expanded fire api, added "check" varieties of things that also
perform relevant checks for eligibility. Standardized testing
for ventilation.
- Snuff embers to coals as fuel.
- Fuel is consumed randomly by flames. This means that fuel that
are surrounded by flame burn out quicker, while flames
surrounded by fuel consume fuel from each node slower. This
adds subtlety to furnace design for efficiency.
- Don't generate in high terrain above y = 32 at all.
- Increase concentraion through 7 different strata moving downwards
up until max concentration at y = -4096. This creates incentives
for digging deep instead of just staying at surface.