Version 1.0.8
99 downloads
Canvas provides your server a new way to allow your community to connect or play against eachother in an art pixel war. This is heavily inspired by r/place.
Features
Large canvases that players in your server can draw on
Three different types of pixel group-based payments for fresh or overtaking fees
Group-based cooldowns for placing pixels
Zooming in and out / scrolling capabilities, or coordinate inputs
Pixels are registered per players that overtook them
Pixel age tracking
Exporting to Imgur or PNG in super-size resolutions (API optimal)
Next Update
Multi-selection support — for selective pixels exporting + API
Custom empty-pixel background colors (dark/light mode or paper)
Viewer settings — saved to file
Timelapse support — record placed pixels + API
Pixel notes — for any purchased pixels, you can leave notes
More exporting options
Roadmap
Load in the actual 2022-edition r/place datasets into Canvas
Add image loader into the Canvas
Add private canvases, multiple global canvas pages and showcase lists
Integrate export Canvases onto signs (can already do it by exporting the Canvas to Imgur, and using SignArtist to place it on)
Pixel notes
Live feed of other players' selected pixels
API
byte [] ExportCanvas ( int scale = 25, int yOffset = 1, bool transparent = false, int blur = 0 ); // Exports PNG squared Canvas
void UploadCanvasToImgur ( Action<string> onUpload, int scale = 25, int yOffset = 1, bool transparent = false, int blur = 0 );
void SetPixel ( int x, int y, string color, string note, ulong playerId ); // playerId can be 0 to anonymously set it
void ClearPixel ( int x, int y );
void ApplyImage ( string url ); // Downloads and applies the pixels of an image - make sure it's the same resolution as the canvas
byte [] ExportCanvas ( Canvas.Painting painting, int scale = 25, int yOffset = 1, bool transparent = false, int blur = 0 ); // Exports PNG squared Canvas
void UploadCanvasToImgur ( Canvas.Painting painting, Action<string> onUpload, int scale = 25, int yOffset = 1, bool transparent = false, int blur = 0 );
void SetPixel ( Canvas.Painting painting, int x, int y, string color, string note, ulong playerId ); // playerId can be 0 to anonymously set it
void ClearPixel ( Canvas.Painting painting, int x, int y );
void ApplyImage ( Canvas.Painting painting, string url ); // Downloads and applies the pixels of an image - make sure it's the same resolution as the canvas
Configuration
Permissions
Canvas.use: To be able to call the /canvas and do any activity.
Canvas.export: To be able to run the Export UI command and see the button on the Canvas.