All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.bukkit.map.MapRenderer Maven / Gradle / Ivy

package org.bukkit.map;

import org.bukkit.entity.Player;

/**
 * Represents a renderer for a map.
 */
public abstract class MapRenderer {

  private final boolean contextual;

  /**
   * Initialize the map renderer base to be non-contextual. See {@link
   * #isContextual()}.
   */
  public MapRenderer() {
    this(false);
  }

  /**
   * Initialize the map renderer base with the given contextual status.
   *
   * @param contextual Whether the renderer is contextual. See {@link
   *                   #isContextual()}.
   */
  public MapRenderer(boolean contextual) {
    this.contextual = contextual;
  }

  /**
   * Get whether the renderer is contextual, i.e. has different canvases for
   * different players.
   *
   * @return True if contextual, false otherwise.
   */
  final public boolean isContextual() {
    return contextual;
  }

  /**
   * Initialize this MapRenderer for the given map.
   *
   * @param map The MapView being initialized.
   */
  public void initialize(MapView map) {
  }

  /**
   * Render to the given map.
   *
   * @param map    The MapView being rendered to.
   * @param canvas The canvas to use for rendering.
   * @param player The player who triggered the rendering.
   */
  abstract public void render(MapView map, MapCanvas canvas, Player player);

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy