class_docstr: Reward scheme for the 2D cutting env penalizing raw piece usage.
  
  :param reward_scale: Reward scaling factor.
class_docstr_tok: ["Reward","scheme","for","the","2D","cutting","env","penalizing","raw","piece","usage",".",":","param","reward_scale",":","Reward","scaling","factor","."]
docstr: Specification of the event interfaces this subscriber wants to receive events from.
  Every subscriber must implement this configuration method.
  
  :return: A list of interface classes.
docstr_tok: ["Specification","of","the","event","interfaces","this","subscriber","wants","to","receive","events","from",".","Every","subscriber","must","implement","this","configuration","method",".",":","return",":","A","list","of","interface","classes","."]
code: def get_interfaces(self) -> List:
      """
      Specification of the event interfaces this subscriber wants to receive events from.
      Every subscriber must implement this configuration method.
  
      :return: A list of interface classes.
      """
      return [InventoryEvents]
  
file_path: maze/docs/source/environment_customization/code_snippets/custom_reward.py
imports: from typing import List, Optional
  from maze.core.annotations import override
  from maze.core.env.maze_state import MazeStateType
  from maze.core.events.pubsub import Subscriber
  from maze_envs.logistics.cutting_2d.env.events import InventoryEvents
  from maze.core.env.reward import RewardAggregatorInterface
label_desc: Use image node_id 2 for calling the RawPieceUsageRewardAggregator obj's underlying member method code with example usage: obj.get_interfaces() and returns: list