This enables the feature of unsticky pistons. This allows
for some nodes to be unpullable, but otherwise pushable or diggable.
A certain selection of nodes that can never be moved.
And, stops certain entities from being pushed if they shouldn't move.
Along with this change; I've also updated the rules regarding
pushing, and pulling of nodes & objects to be more accurate to MC.
Now allowing for more complex redstone circuits to be built.
* Added another special case to the item entity registration for
lodestone compasses, without this a dropped lodestone compass would
turn into a regular compass on being dropped.
* Update the compass and lodestone compass frame number to be the
stereotype frame.
* The nature of a compass was being determined by looking at its meta.
This caused lodestone compasses with unset meta to turn into regular
compasses. Fixed by using string matching on the itemname.
* Changed lodestone rightclick handler to explicitly set the correct
name and frame of the compass used on it instead of waiting for
globalstep to do this.
* Split up `get_compass_image()` into smaller functions. This allows
for better code sharing between old and new API and globalstep fn.
* Add `get_compass_itemname()` function. It will be the new API of
choice, `get_compass_image() will be deprecated soon.
* Remove function declaration out of globalstep function.
* Various other performance improvements.
* Add local aliases for global functions
* Lodestone compasses can only stack 1 item.
* Document functions and variables.
* Fix lodetone compass inaccurately reusing compass descriptions.
* Add usage descriptions to node definitions
* Refactor craftitem registration code.
* Update translation templates.