/FileExtraction/Java_unseen/Wind-Development_WindSpigot/WindSpigot-API/src/main/java/org/bukkit/map/MapRenderer.java
package org.bukkit.map;

import org.bukkit.entity.Player;

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

	private 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);

}
