Mods / Joy of Painting

Tags:
Furniture
Author:
Moby_
Side:
Both
Created:
May 29th 2023 at 12:52 PM
Last modified:
Sep 24th 2025 at 10:57 AM
Downloads:
40659
Follow Unfollow 462
Latest release (for Vintage Story 1.21.0 and 1.21.1, outdated):
jopainting_1.5.0.zip  1-click install

If you find a bug, have a suggestion or want to talk, feel free to join my Discord server!

 

The second installment in the "Joy of..." series adds a new decorative block: the Painting!
Unlike vanilla paintings, this one is customizable.

The recipe for the painting is in the handbook. You will need 4 planks (any wood), 1 square-stitch linen and 4x0.5L of any dye (the handbook make it look like you need 4 times the same dye, you don't. You can mix them)

Once you have a painting, hold it in your hand and type the command:

.loadpainting [painting file name]

Since 1.4.0, it's also possible to load an image from an URL (note that this feature is still experimental and might not work all the time):

.loadpainting [painting URL, ending with an image file format (.png, .jpg...)]

It's also possible since 1.4.0 to rename a painting with the /renamepainting [painting name] command.

The painting file should be an image (bitmap, jpeg, png...) with a resolution of 32x in your VintagestoryData/Paintings folder. The name that you will input in the command can't have any spaces, and you should not add the file extension at the end of the name, it will be added automatically (so if you write it, it will look for a paintingname.bmp.bmp for instance)
The great part is that only you need to have the file: it's then uploaded to the server so everyone can see it!

Oh, also, you can place paintings on the floor and on ceilings!

Starting in 1.5.0, paintings can also be rotated with a wrench (hold CTRL to rotate it counter-clockwise).

 

Please note: painting synchronization might take a short time after you loaded the painting. The painting might still not be loaded if you place it immediatly afterwards depending on server lag. Once it's placed though, if it works, it won't change.

Also, as of 1.4.0, paintings don't render immediatly in your hotbar, even when successfully loaded. You need to move them in your inventory (or drop them to the ground) to update the in-inventory rendering.

 

Making paintings

If you want to touch up an image for a painting, you can use Paint.NET (Windows only), it's what I use, it's pretty simple to understand and MUCH better than MS Paint.

You can resize the image with image -> resize (check "keep proportions" and force the smallest dimension to a multiple of 32), then crop it with Image -> canvas size (or something) to make sure that both dimensions are multiples of 32.

You can then split it into 32x32 squares with the rectangle selection tool, copy it, create a new image, paste it, then File -> Save as..., enter the name and under it select "Bitmap" (or jpg, png, tiff... since 1.4.0)

 

For search referencing, the mod id is jopainting
More search referencing stuff, people might search for pixel art chiseling chiselling chisel

Mod Version Mod IdentifierFor Game version Downloads Released Changelog Download 1-click mod install*
1.5.0 jopainting 19062 Sep 24th 2025 at 10:57 AM jopainting_1.5.0.zip 1-click install
  • Fixed the rotation issue introduced by 1.21
  • Paintings can now be rotated with a wrench
1.4.1 jopainting
1.20.1 - 1.20.3 1.20.11 - 1.20.12
9971 Feb 21st 2025 at 7:40 PM joyofpainting-1.4.1.zip 1-click install

- Updated to 1.20

1.4.0 jopainting 6631 Jan 18th 2024 at 2:01 PM joyofpainting-1.4.0.zip 1-click install
  • Added support for all file types
  • Added the ability to load an image from an URL
  • Added the ability to rename a painting
1.3.2 jopainting 744 Dec 12th 2023 at 9:20 AM jopainting_1.3.2.zip 1-click install

Removed 1.19 code for compatibility with 1.18.15

1.3.1 jopainting 411 Dec 11th 2023 at 10:22 AM joyofpainting-1.3.1.zip 1-click install

Updated to 1.19.0-pre. Should work with 1.18.15, untested

Introduced bug: you have to move the painting in your inventory slot after loading it so it renders properly in-inventory. The rendering isn't automatically updated.

1.3.0 jopainting 1367 Jun 7th 2023 at 2:17 PM joyofpainting-1.3.0.zip 1-click install

Fixed the crafting recipe. Also mod is now stable again

1.3.0-pre.5 jopainting
1.18.3 - 1.18.5
403 May 31st 2023 at 9:36 AM jopainting-1.3.0-pre.5.zip 1-click install

Probably fixed multiplayer bug

1.3.0-pre.4 jopainting
1.18.3 - 1.18.5
263 May 31st 2023 at 9:12 AM joyofpainting-1.3.0-pre.4.zip 1-click install

Multiplayer fix test again

1.3.0-pre.3 jopainting
1.18.3 - 1.18.5
255 May 31st 2023 at 9:00 AM joyofpainting-1.3.0-pre.3.zip 1-click install

New attempt at multiplayer fix

1.3.0-pre.2 jopainting
1.18.3 - 1.18.5
271 May 31st 2023 at 8:55 AM joyofpainting-1.3.0-pre.2.zip 1-click install

Tried fixing a multiplayer bug

1.3.0-pre.1 jopainting
1.18.3 - 1.18.5
230 May 31st 2023 at 8:37 AM joyofpainting-1.3.0-pre.1.zip 1-click install

Beginning to add the rendering for paintings in toolracks

1.2.0 jopainting
1.18.3 - 1.18.5
266 May 30th 2023 at 3:22 PM jopainting-1.2.0.zip 1-click install

- Paintings now render in-hand and in item slots thanks to Craluminium!

1.1.0 jopainting
1.18.3 - 1.18.5
259 May 30th 2023 at 2:22 PM jopainting-1.1.0.zip 1-click install

- Can now place paintings on the floor and on the ceiling!

1.0.0 jopainting
1.18.3 - 1.18.5
247 May 30th 2023 at 10:39 AM jopainting-1.0.0.zip 1-click install
- Now stable - Added display of painting name (file name)
0.1.0 jopainting 279 May 29th 2023 at 1:03 PM joyofpainting-0.1.0.zip 1-click install

First release


53 Comments (oldest first | newest first) (threaded | flat)

Moby_ , May 9th at 10:58 AM

Lepregoth Yeah, 1.22 broke all code mods, I'm on it

Lepregoth, May 8th at 10:31 PM

as of 1.22 this mod is unable to load. bumping the comments to hopefully get an update!

Lansburyjam, Mar 13th at 9:57 PM

As the last comment mentioned, a 64x64 option would be incredible !!!

Alaskan_Rage, Mar 3rd at 6:55 PM

It'd be cool if you could add a 64x64 version that takes twice the amount of dye, so like 4 Liters.

Alaskan_Rage, Feb 14th at 6:16 AM

BreakdownBrkdwn when typing the image name exclude the file extention (.png) that should fix it.

BreakdownBrkdwn, Feb 12th at 8:50 AM

when attempting to load an image from a URL it says (url).png.bmp not found in vintagestorydata/paintings folder.

 img of error

loggy_, Feb 5th at 7:06 PM

BasilRabbit You can just add the folder with the exact same name ("Paintings") to the path and add the pictures there, it'll work

BasilRabbit, Jan 21st at 3:57 PM

I am using the VS Launcher for running the game and keeping my mods updated, but it doesn't have a VintageStoryData/Paintings folder. Where should I place the folder instead? Seems like that path is hard-coded...

Sengee, Dec 15th 2025 at 12:01 AM

I'd love to be able to load in images of higher resolution and have them actually display in a higher resolution in-game instead of being downscaled to 32x32. Would be nice to have this as a side command like .loadpaintinghd

Moby_ , Oct 19th 2025 at 12:14 PM

Ghaashaath Yeah, that's a known issue, unfortunately I'm not sure how to fix it... When I use it I generally just double the brightness but that's not really a fix, I'll look more into it next time I update the mod

Ghaashaath, Oct 19th 2025 at 11:48 AM (modified Oct 19th 2025 at 11:49 AM)

Hello! I've just tried to generate my image in-game and sadly it turns out very dark. Looks like the same problem people have reported here a month ago. Is there any fix for that?😔

Cthugha, Sep 30th 2025 at 10:01 PM

Moby_ Cool, thanks. Yeah, by frame I mean a 3D frame like the vanilla paintings. Ideally it could be chiseled, kind of like how QP's Chisel Tools handles it's "decorative" blocks.

Moby_ , Sep 30th 2025 at 4:19 PM

Cthugha Yeah, it's planned, right now the only way to add a frame is to add it to the painting though

Cthugha, Sep 30th 2025 at 12:22 AM

Would it be possible to add a version of the painting that's framed?

Moby_ , Sep 25th 2025 at 9:09 PM

SiiMeR Well, there isn't really another time to load them without risking blank paintings. I could definitely work more on optimization though, I've noticed some minor lag that started in 1.21 too

Textures are only generated once per painting (and loaded just once for duplicates), so I think that lagging would come from the rendering, there might be some expensive but unnecessary code left from my tests, although I don't think so.

Now that I've worked with mesh rendering with Billposting, I might be able to circumvent some model loading that occurs when a painting is rendered

SiiMeR, Sep 24th 2025 at 6:44 PM

Could you make the texture not be generated upon this BE being loaded during chunk load? A chunk with a few of these paintings will freeze the client up for a second or 2 every time you go near it.

Moby_ , Sep 19th 2025 at 5:22 PM

GasStationGuy ZenithDaWuff From what I gathered, something changed in the way the game renders or loads images. I'll fix it soon

ZenithDaWuff, Sep 16th 2025 at 6:09 AM

I also second GasStationGuy's comment- well, at least the part about the image rotation. I change the rotation of the named image in my file explorer and no change happens in-game: The image is always rotated 90 degrees to the left on the painting. What's up with that?

GasStationGuy, Sep 8th 2025 at 6:25 PM (modified Sep 8th 2025 at 6:26 PM)

when i load a painting it's turned the wrong way, it's rotated. why? how to fix it?
shown below are two of the same image, one being the wrong way that i currently see in-game, and the second image shows what the painting is supposed to look like, how it's supposed to be rotated. 

this is wrong. :(                                        this is right. :)

why can't i comment this fucking shit?????

WHY CAN'T I ADD A FUCKING IMAGE TO THIS FUCKING COMMENT????????

racsumsar, Aug 31st 2025 at 10:34 AM

are borders an option or do I need to chisel them?

Moby_ , Aug 29th 2025 at 9:23 AM

Oniboshi pudgydumpling Yeah, I'll boost the brightness once more and add a client-side option to control the brightness

pudgydarling, Aug 27th 2025 at 8:54 PM

My paintings are also very dark. It's really noticeable especially on paintings with light colours... everything turns muddy :(

Oniboshi, Aug 24th 2025 at 6:32 PM

The paintings are spawned very dark compared to their input. Is this intended or is there a way to brighten them once more?

ChamomileTea, Aug 19th 2025 at 4:03 AM

I'm going to use this to make a huge night sky ceiling in a cultish cathedral, this mod is very neat!

Moby_ , Aug 4th 2025 at 4:17 PM

PrincessCrystal yes, but you have to download the actual latest version. Somehow the ModDB offers a version that's almost two years old as "latest" (1.3.2), actual latest is 1.4.1

PrincessCrystal, Aug 4th 2025 at 4:16 AM

does this work on latest release?

Moby_ , Jul 25th 2025 at 10:46 PM

Lariannn no, they don't need to, only you have to have it, that's the entire point of the mod x)

Lariannn, Jul 23rd 2025 at 10:03 PM

Yes but what if I want other players to see same painting/picture on server? Then they need to download manually and put same pictures in their local folder :( and what if I want to show on server a new picture, then I need to chat to everyone to download it first. Ill try to use url, maybe this is the only solution, but you said in description that its just experimental so meh :)

Moby_ , Jul 22nd 2025 at 9:53 PM

Lariannn you should put the pictures in your client folder, the whole point of this mod is to make it so you don't need to put anything on the server ;)

Lariannn, Jul 22nd 2025 at 6:00 PM

I cannot find VintagestoryData folder on my server :(

racsumsar, Jul 10th 2025 at 11:31 PM

Tip!

use https://carouselmaker.co/en/tools/free-instagram-image-splitter to easily split an image into multiple pieces for larger paintings, just make sure the vertical dimension of the original image is dividable by the number of rows and the horizontal dividable by the number of columns

Moby_ , May 31st 2025 at 2:02 PM

ShouldBePainting I think you have to create the "Paintings" folder manually (it's also important that it's "Paintings" and not "paintings", it's case-sensitive)

ShouldBePainting, May 29th 2025 at 7:21 AM

I cannot find the folder the files are supposed to be placed in. I'm in the Vintagestorydata folder and there is no "paintings" folder. 

DrKlinger, Apr 21st 2025 at 11:54 PM

For anyone who wants an easy way to tile larger images on their computer (with imagemagick installed), run:

convert filename -crop 32x32 +adjoin name%02d.bmp

DUCATISLO, Mar 26th 2025 at 8:27 PM

can you make a video guide on this too?

tomandoawa, Mar 6th 2025 at 4:18 PM

Is there any way to make the paintings have a higher resolution? I want to use a screenshot of our base seen from the map as a painting

Moby_ , Mar 1st 2025 at 7:45 PM

BoardingBulb It should be, but I haven't tested it in multiplayer in 1.20.

Sometimes paintings have to be broken then replaced to properly update, maybe that could fix it?

BoardingBulb, Mar 1st 2025 at 6:46 PM

is it mp compatable? ive put it in my server and my friend set the command, can see it in there hot bar, but cannot see it when they put it down

Moby_ , Mar 1st 2025 at 1:42 PM

BoardingBulb I just made multiple small paintings that assemble into a big painting, splitting the image in an image editing software

BoardingBulb, Mar 1st 2025 at 1:47 AM

How do you make the bigger painting? ive made the small square one, is there a way to combine multiple together to make a big painting?

Moby_ , Feb 21st 2025 at 10:35 PM

Sylvi I don't have any donation thingy because I'm currently unemployed and in my country, when you're unemployed and make money, that money gets partially deducted from the money I get from unemployment funds, so any money given to me would go almost 100% to the government (which is not really worth it xD)

Since you're not the first to ask about that, I'll probably set something up once I find a new job (hopefully a couple months from now)

Sylvi, Feb 21st 2025 at 10:08 PM

Awsome to see this back, can't wait for your other mods to be ready for 1.20 <3

Do you have any kind of tip jar like a kofi?

Moby_ , Feb 21st 2025 at 8:15 PM

Prime727 done :D

Prime727, Jan 30th 2025 at 3:07 AM

Any plans for a 1.20 update?

Teewi, Dec 9th 2024 at 5:33 PM

Hey! I've been experimenting with this and was wondering if there is any way to up the brightness on the paintings at all? They come out quite dark in game for some reason even if the artwork itself is particularly bright.

RikeiR, Jan 11th 2024 at 6:20 AM

At v1.19.0-rc.6

The game crashes when I install this mod and search for "P" in the handbook.

I look forward to upgrading this mod.

Moby_ , Aug 17th 2023 at 8:22 AM

Accensus Yeah, it's incompatible with .NET 7, since Photographic Memories isn't either I'm guessing that it has to do with the image loading libraries, I'll update it in the following days (along with trying to add Craluminium's update, which makes the mod significantly more user-friendly)

Accensus, Aug 10th 2023 at 3:33 PM

Doesn't seem like it's working on 1.18.8. The client-main.txt log in VintagestoryData/Logs provides the necessary information. I'm not pasting the whole thing here, but it can easily be replicated by just launching the game.

Gist of it is this:
10.8.2023 18:07:48 [Error] [jopainting] Exception thrown when attempting to retrieve all types of the assembly jopainting, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null: System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types.
Method 'GetPixel' in type 'jopainting.PaintingBitmap' from assembly 'jopainting, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' does not have an implementation.

BavarianViking, Aug 5th 2023 at 9:59 AM

How to make paintings with 32x64 or 64x32 or longer?

There are several in other mods...

 

DanaCraluminum, Jun 9th 2023 at 7:09 AM

Next update will bring a lot of new features and fixes

Maelstrom, Jun 2nd 2023 at 8:23 PM

Ooooooo..  Now I can add all my Cthulhu and Lovecraftian images in game.  😍

ElectroNikkel, May 30th 2023 at 9:43 PM

Craluminum, I think the same.

DanaCraluminum, May 29th 2023 at 1:14 PM

Criminally underrated mod