Thanks to Kimapr for the basic approach, and proving
the concept.
Doors pressing a single-item stack now place that
item as a node, and trigger placement recipes. Doors
pressing nodes that don't have a single item stack
node form (sticks, leaves) also trigger placement
craft recipes.
All craft pressing recipes require some form of
backstop to provide pressure.
Just realized that this breaks certain custom skins,
like WintersKnight's prosthetic arm. The
performance improvement from culling a handful of
polygons is really nothing compared to the loss of
unique use of transparency in texture art.
I used to do this by just starting a LAN game
and logging in multiple accounts, but not only
is this inconvenient, but the poses don't match
on each screenshot either.
- O(n) efficiency walk of item entities
- Honor stack family merging, e.g. differing lux levels combine
Since the new walk should be much more efficient, the need to
handle "extremal" cases specially, e.g. creation of a multi-stack
ent, is probably unnecessary. Remove it from the task list,
barring any future evidence that it's still relevant.
When unlaundered ABMs run, give the
laundered ABM pump a rest for 1 tick, to
ensure we don't run 2 batches worth of
ABMs on any 1 tick, to smooth things out.
This should cause maps that have the same
seeds to have much more similar results
than before, e.g. sponge deposits will be in
the same places determined by seed and not
random each regeneration of the map.
- Mapgen shared now provides an RNG which
will be deterministic when feasible, for
repeatable mapgen results.
- Make existing rng-using mapgen hooks use
the new deterministic RNG.
- Mapgen shared hooks are also run in
deterministic order too.
- Tidy up mapgen_shared API a little more.
- Categorize types of issues, since I find I pick through the list
not based on absolute priority but based on what kind of things
I feel like working on, e.g. gameplay improvements vs. code
quality.
- Clean out the icebox. Reinstate a few things at bottom of other
lists, clean out the rest.