Create A painting pack - AbsolemJackdaw/Paintings-- GitHub Wiki
Visual User Interface : Painting Pack Maker
https://github.com/AbsolemJackdaw/PaintingPackMaker
Visit the painting pack maker github to download the program.
PPM runs on java, which you should already have if you play minecraft.
For manual pack making, check out :
PNG Image Files
Make a ResourcePack with the following file structure :
- assets/paintings/textures/painting
All of your painting images go into the painting folder !
(note that there's two painting folder : one with and one without s. its very important !)
One image is One Painting. keep the image dimensions in multiples of 16 or your painting may come out stretched ! (16 pixels = one block)
the JSON file to register your paintings
The name of the JSON file
1.18.2 or before : try and give the file a unique name. it will be put in a folder with many other files.
1.18.2 and later : the JSON file should be called paintings++.json and be situated at root level of your painting pack.
contents of the JSON file
make a json file with the following structure:
{
"paintings" : [{
"name" : "lagune",
"x" : 16,
"y" : 32
}, {
"name" : "flora_lightningstorm_2",
"square" : 64
}]
}
You can use a JSON Parser to check if your file doesn't contain any errors.
- Every Entry is One Painting
- "name" is the name of your image file . In the example, we have a picture called lagune.png in our ResourcePack
- you can either use "x" and "y" to define the shape of the Painting.
- or you can use "square" to define a square shape for square paintings
- to ensure compatibility with other PaintingPacks, try to make each file name as unique as possible. Suggested is to prefix the name of your image with a unique identifier : "absolem_lagune" instead of "lagune"
- to ensure compatibility with other PaintingPacks, try to make your json file name as unique as possible. suggested is to add your name as a suffix to the json : "absolem_pretty_landscapes.json"
The json file can go anywhere inside of your resourcepack, but best practice is to put it at root level, next to the folder and you .mcmeta file
Advanced options (1.18.2 and up)
Tags :
'anim' : adding the anim tag to a painting entry allows you to add support for animated paintings, which have files longer then one painting size.
give the x and y values the size of the regular painting, and the anim value the size of the length of the actual file. this will allow the painting gui to crop your painting correctly and not have it show up squashed.
New Namespace :
you can add a namespace to your painting entry. instead of just giving it the file name , you can add a unique identifier to the name.
This does not have to be reflected by the file !
example : "name" : "bobby:testpainting"
this moves the folder structure for this painting's file from assets/paintings/textures/painting
to assets/bobby/textures/painting
This is very useful in case of suspected duplicates or to not have other packs influence your file names.
If possible, it is advised to use this approach
ISSUES / DEBUGGING
The painting++ json file reader log is pretty extensive.
It has been made as readable as possible, with all info present.
Most commonly issues encountered :
- mistaking pixel size for block size > result is massive paintings not showing up in the gui because your placement surface is too small
- mistaking painting pixel size for texture pixel size > result is massive paintings not showing up in the gui because your placement surface is too small
- using any other characters then [a-z0-9/.-]_ > result is minecraft not able to read files
- not using zip files for texture packs > paintings++ reader can only read zip files
SERVERS
Servers, in essence, only need this json file to be able to run.
You do not need the entire image file archive.
Either run the server once with the mod for it to generate the paintings folder, or make a new folder in the installation directory.
Paste your json in the folder.