Class DebugRenderer


public final class DebugRenderer

The DebugRenderer class provides functionality for rendering debug information in the game. It includes methods for rendering debug details for entities and maps, as well as managing listeners for custom debug rendering.

This class is final and cannot be instantiated. It serves as a utility class for debug rendering purposes.

Key features:

  • Render debug information for entities, such as bounding boxes and hitboxes.
  • Render debug information for maps, such as collision boxes and tile metrics.
  • Support for adding and removing custom debug rendering listeners.

Note: Debug rendering is controlled by the game's debug configuration settings.

  • Method Details

    • addEntityDebugListener

      public static void addEntityDebugListener(EntityRenderedListener listener)
      Add the specified entity rendered listener to attach custom debug rendering after the default debug information for an entity has been rendered.
      Parameters:
      listener - The listener to add.
    • removeEntityDebugListener

      public static void removeEntityDebugListener(EntityRenderedListener listener)
      Removes the specified entity rendered listener.
      Parameters:
      listener - The listener to remove.
    • addMapRenderedListener

      public static void addMapRenderedListener(MapRenderedListener listener)
      Add the specified map rendered listener to attach custom debug rendering after layers of the type GROUND have beend rendered.
      Parameters:
      listener - The listener to add.
      See Also:
    • removeMapRenderedListener

      public static void removeMapRenderedListener(MapRenderedListener listener)
      Removes the specified map rendered listener.
      Parameters:
      listener - The listener to remove.
    • renderEntityDebugInfo

      public static void renderEntityDebugInfo(Graphics2D g, IEntity entity)

      Renders debug information for a specific entity.

      This method draws various debug details for the provided entity, such as:

      • Entity names, if enabled in the debug configuration.
      • Hitboxes for combat entities, highlighted in red.
      • Bounding boxes for all entities, highlighted in red, and additional range indicators for sound sources.
      • Collision boxes for collision entities, highlighted in red (active) or orange (inactive).

      After rendering the default debug information, it triggers any registered EntityRenderedListener to allow custom debug rendering.

      Parameters:
      g - The Graphics2D object used for rendering.
      entity - The entity for which debug information is rendered.
    • renderMapDebugInfo

      public static void renderMapDebugInfo(Graphics2D g, IMap map)

      Renders debug information for the specified map.

      This method draws various debug details for the provided map, such as:

      • Collision boxes from the shape layer, highlighted in red.
      • Tile metrics, including mouse tile information, if enabled in the debug configuration.

      After rendering the default debug information, it triggers any registered MapRenderedListener to allow custom debug rendering.

      Parameters:
      g - The Graphics2D object used for rendering.
      map - The map for which debug information is rendered.