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 Details

    • getMapView

      @NotNull @NotNull MapView getMapView()
      Get the map this canvas is attached to.
      Returns:
      The MapView this canvas is attached to.
    • 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

      @Deprecated(since="1.20.5") void setPixel(int x, int y, byte color)
      Deprecated.
      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(since="1.19", forRemoval=true) byte getPixel(int x, int y)
      Deprecated, for removal: This API element is subject to removal in a future version.
      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(since="1.19", forRemoval=true) byte getBasePixel(int x, int y)
      Deprecated, for removal: This API element is subject to removal in a future version.
      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.