Newer
Older
ultramine_bukkit / src / main / java / org / bukkit / map / MapRenderer.java
@vlad20012 vlad20012 on 24 Feb 2017 1 KB initial
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);

}