Stockkeeping
ModLGPL-3.0-only

Stockkeeping

Adds a redstone component that reads the amount of a specific item in an inventory.

58
Downloads
1
Followers
3 months ago
Updated
📦
5
Versions

📖About Stockkeeping

Adds a comparator-like block that reads the amount of an item in the inventory it faces.

The filtered comparator can be placed in any direction, and outputs an analogue redstone signal like a comparator facing the inventory-containing block (or, inventory-containing minecart on a detector rail) - but the filtered comparator only counts the item in it's filter slot.

Performance

  • To avoid constantly checking each inventory every tick, the Filtered Comparator only updates upon a comparator update from the block it's facing.
    • (This may cause edge cases with inventories that don't output comparator updates, or upon placement facing a chest minecart with no detector rail.)

Compatibility

  • Supports drag and drop for setting filters by EMI.
  • The Serial Port from TIS-3D can read the exact number of detected items (provided it fits in a short, that is.)
  • Functions as an InRed device for YTTR's WIP Cuprosteel wires, providing a range from 0-63 that doesn't attenuate.

...And lack thereof

  • Whilst I'm unsure, I believe this will not function with Modern Industrialization machines, as from what I recall, those do not output Comparator Updates.
  • If an inventory cannot be seen by an unmodified vanilla hopper, then the Filtered Comparator will be unable to read it.

Mixins

  • AbstractBlockStateMixin: injects at the head of isOf to return true if a Filtered Comparator is checked if it's a regular comparator.
  • World: injects at the head of updateComparators to also update vertically, but only for Filtered Comparators.
  • Several mixins to itself for adding conditional compatibility for YTTR when both mods are loaded.