Package org.bukkit.map

# Interface MapCanvas

public interface MapCanvas
Represents a canvas for drawing to a map. Each canvas is associated with a specific `MapRenderer` and represents that renderer's layer on the map.

## Method Summary

Modifier and Type
Method
Description
`void`
`drawImage(int x, int y, @NotNull Image image)`
Draw an image to the map.
`void`
`drawText(int x, int y, @NotNull MapFont font, @NotNull String text)`
Render text to the map using fancy formatting.
`byte`
`getBasePixel(int x, int y)`
Deprecated.
Magic value, use `getBasePixelColor(int, int)`
`@NotNull Color`
`getBasePixelColor(int x, int y)`
Get a pixel from the layers below this canvas.
`@NotNull MapCursorCollection`
`getCursors()`
Get the cursor collection associated with this canvas.
`@NotNull MapView`
`getMapView()`
Get the map this canvas is attached to.
`byte`
`getPixel(int x, int y)`
Deprecated.
Magic value, use `getPixelColor(int, int)`
`@Nullable Color`
`getPixelColor(int x, int y)`
Get a pixel from the canvas.
`void`
`setCursors(@NotNull MapCursorCollection cursors)`
Set the cursor collection associated with this canvas.
`void`
`setPixel(int x, int y, byte color)`
Deprecated.
Magic value, use `setPixelColor(int, int, Color)`
`void`
`setPixelColor(int x, int y, @Nullable Color color)`
Draw a pixel to the canvas.

## Method Details

### getMapView

@NotNull @NotNull MapView getMapView()
Get the map this canvas is attached to.

Returns:
  The MapView this canvas is attached to.

### getCursors

@NotNull @NotNull MapCursorCollection getCursors()
Get the cursor collection associated with this canvas.

Returns:
  The MapCursorCollection associated with this canvas.

### setCursors

void setCursors(@NotNull @NotNull MapCursorCollection cursors)
Set the cursor collection associated with this canvas. This does not usually need to be called since a MapCursorCollection is already provided.

Parameters:
  `cursors` - The MapCursorCollection to associate with this canvas.

### setPixelColor

void setPixelColor(int x, int y, @Nullable @Nullable Color color)
Draw a pixel to the canvas.

The provided color might be converted to another color, which is in the map color range. This means, that `getPixelColor(int, int)` might return another color than set. If null is used as color, then the color returned by `getBasePixelColor(int, int)` is shown on the map.

Parameters:
  `x` - The x coordinate, from 0 to 127.
  `y` - The y coordinate, from 0 to 127.
  `color` - The color.

### getPixelColor

@Nullable @Nullable Color getPixelColor(int x, int y)
Get a pixel from the canvas. If no color is set at the given position for this canvas, then null is returned and the color returned by `getBasePixelColor(int, int)` is shown on the map.

Parameters:
  `x` - The x coordinate, from 0 to 127.
  `y` - The y coordinate, from 0 to 127.
Returns:
  The color, or null if no color is set.

### getBasePixelColor

@NotNull @NotNull Color getBasePixelColor(int x, int y)
Get a pixel from the layers below this canvas.

Parameters:
  `x` - The x coordinate, from 0 to 127.
  `y` - The y coordinate, from 0 to 127.
Returns:
  The color.

### setPixel

void setPixel(int x, int y, byte color)
Deprecated.
Magic value, use `setPixelColor(int, int, Color)`
Draw a pixel to the canvas.

Parameters:
  `x` - The x coordinate, from 0 to 127.
  `y` - The y coordinate, from 0 to 127.
  `color` - The color. See `MapPalette`.

### getPixel

@Deprecated byte getPixel(int x, int y)
Deprecated.
Magic value, use `getPixelColor(int, int)`
Get a pixel from the canvas.

Parameters:
  `x` - The x coordinate, from 0 to 127.
  `y` - The y coordinate, from 0 to 127.
Returns:
  The color. See `MapPalette`.

### getBasePixel

@Deprecated byte getBasePixel(int x, int y)
Deprecated.
Magic value, use `getBasePixelColor(int, int)`
Get a pixel from the layers below this canvas.

Parameters:
  `x` - The x coordinate, from 0 to 127.
  `y` - The y coordinate, from 0 to 127.
Returns:
  The color. See `MapPalette`.

### drawImage

void drawImage(int x, int y, @NotNull @NotNull Image image)
Draw an image to the map. The image will be clipped if necessary.

Parameters:
  `x` - The x coordinate of the image.
  `y` - The y coordinate of the image.
  `image` - The Image to draw.

### drawText

void drawText(int x, int y, @NotNull @NotNull MapFont font, @NotNull @NotNull String text)
Render text to the map using fancy formatting. Newline (\n) characters will move down one line and return to the original column, and the text color can be changed using sequences such as "§12;", replacing 12 with the palette index of the color (see `MapPalette`).

Parameters:
  `x` - The column to start rendering on.
  `y` - The row to start rendering on.
  `font` - The font to use.
  `text` - The formatted text to render.