docs: def ingredient_positions(self):
          """
          Returns:
              dict: In the form { (item_id, metadata) -> [(x, y, amount), ...] }
          """
          positions = defaultdict(list)
          for y, row in enumerate(self.in_shape):
              for x, (item_id, metadata, amount) in enumerate(row):
                  positions[(item_id, metadata)].append((x, y, amount))
          return positions