7fd51c1a6c
This is useful when we want to perform an action on a commonly-occuring node (like sand or item stacks) with a requirement of a neighbor of a less common node type (like igniters). Checking for B with A nearby can be a lot faster than A with B nearby if B is less common, so fewer neighbor checks actually need to happen. This was already done "manually" for the flammable/igniter interaction, but now this is a general API for all ABMs, that allows the inversion to be done nearly transparently with just a flag in the definition, and so the ABM rules can be written more simply, with the inversion handled elsewhere. TODO: Rewrite current manual-inversions, including the ones for flammable/igniter and lava/stone hardening/softening.