What would you say is the recommended height and width for each pixel art?
That really depends on the image and detail, usually you would only change one of the values and leave the other to be limitless in my opinion as to keep it in proportion but even then I don't ever remember seeing an image out of proportion so it must do this by default regardless of your values. All that said I do think 100 is probably a good number to set to for a middle ground distance.
As the most recent official version (1.1.5) does not include the latest blocks (andesite, prismarine, red sand, etc.) I tried modifying the files manually to include them--and it actually ended up working.
The modification was really only intended for my personal use, but I figured, why not provide it here until an updated, official release comes along (if ever). If the author of the tool disapproves or this is somehow against forum rules, obviously feel free to remove the following link:
Spritecraft 1.1.5 modded to include blocks up to MC v.1.12.2
It's been over two years since I last checked this forum and this thread, but I finally got around to updating my mod of Spritecraft. Just like last time, I did it primarily for my own personal use, but of course I'll share it with whoever might find it useful. However, this time around I encountered one significant difficulty. What it comes down to is, due to technical limitations of the original program (at least as far as I can tell, knowing basically nothing about java), there's an upper limit of about 128 block types. After my previous mod (adding in stained glass), the list just happened to be at exactly 128. This means that in order to add any of the new colorful blocks (primarily concrete/powder), I had to remove others.
What I added:
+end stone brick
+nether wart block
+red nether brick
What I removed:
-stained glass (sorry!)
-crafting table, noteblock, jukebox, bookshelf
-glowstone, prismarine, redstone block/ore
-other slightly redundant or impractical blocks or simply ones *I* don't usually use
-I also didn't add glazed terracotta or magma
That being said, here's a link to the updated file:
Again, the resulting list of blocks works for my personal usage--you might prioritize others. The good news is, you can basically do what I did, adding and removing blocks to your liking, minus spending several hours figuring out why it isn't working! It's still a bit tedious, but for the sake of convenience I included a full list of all usable blocks, with all the the needed information. In order to customize the list of blocks:
- open the .jar file as an archive (with a program like Winrar or 7zip)
- navigate to "\com\diamondpants\spritecraft\"
- extract the "Materials.txt" and "Materials_List_Complete.txt" files (make sure to backup first)
- copy and paste any line corresponding to your desired block type from the complete list to "Materials.txt"
- remember to remove unwanted lines so the number of lines stays below 128, or the program will not work correctly (at least it didn't for me)
- put the updated "Materials.txt" back into the .jar file, replacing the original one
- it *should* work now, with the blocks you specified
Edit: Check out the wonky tutorial video two posts below if you have any trouble, hope it helps!
Good luck! Mind you, I'm no programmer, so it's possible there's a way to fix the underlying problem. But this workaround is the best I can manage with my limited understanding. I hope some people will still find this useful.
Oh thanks I see where I went wrong now. Does this mean that this is what you have done to edit the blocks for your edit version? You mentioned you added the full list of materials, is the full list and all jpgs names, codes etc, all easy enough to obtain? What actually happens when you go over 128 blocks? I wonder if that is something that can be fixed.
Yeah, that's basically it, besides updating the missing textures. I went through the patch notes, noting all newly added usable blocks, and added them with the category, block ID ( which I took from the wiki), texture file name etc. Not very difficult once I figured out how the file needed to be structured, just a lot of busy work.
As for the errors with too many lines... Well, I first went ahead and added everything from patches 1.9 - 1.12, making sure I had no typos etc., but when I put it together, the .jar file just wouldn't start. No error message or anything. It took a while to find the problem, I thought I had overlooked some minor syntax error or something.
First I tried adding the new materials one at a time, to see if one particular line caused the error. After adding only one line, the program started, but clicking "create blueprint" caused an eror message. I tried various different materials, and numbers of lines, sometimes the program wouldn't start at all, sometimes it started but the "options" button didn't work, and sometimes it produced the error message when trying to generate a blueprint.
Eventually I went back to the vanilla version, still thinking the new materials might just be incompatible or something. I added some concrete and glazed terracotta - and it worked normally. Then I added more, almost line by line, saving and testing all the time, until it stopped working at 128 lines.
No idea why my first modded version still worked at exactly 128 lines; ever since, I could only make it work with a maximum of 127 lines.
That's the long story, sorry about that
I hope someone who actually knows how java works can actually fix the error. Maybe the original author will return one day and make an official update...
This is a really good tool! Thank you so much to KDP for developing this and to Atantuo for updating it. I am getting ready to do some map art and some wall art and this tool is exactly what I needed.
A tiny change I would implement to make this tool even more user-friendly would be to add the ability to save your internal file format - the data for which blocks are needed, which settings you had turned on/off for a particular image. As it is now, you can only open images and save blueprints - all the checkbox data for which blocks you want to use as well as the list of resources you need to gather when you set off to do your build are lost when you exit the program.
As for the bug you are describing - it sounds like an array overflow. Perhaps the original programmer decided that 128 lines was enough for his purposes and hard-coded the data array to hold the lines at 128. When the program reads in the lines, it would start at 0 or 1, read a line, increment a counter, use that counter number as an array offset and insert the data from the line just read into the array at that new offset. If the collection of lines being read is longer than what the array was coded to hold, the counter will be incremented higher than what the array has memory allocated for it and attempting to access the array with that index will cause a crash. If this is the case, to fix it look for the declaration of that array variable and change the  to a  or some other higher value. THis will fix it until the next maintenance programmer wonders why it stops working at 256 lines lol
As for it maybe working with 128 lines and now it crashes at 128 lines, it is possibly something as simple as where the programmer decided to increment the array index - like did he set the index to 1 or zero before reading the first line of text and add the data to that pre-incremented index and after inserting the data to the array incremented the index or would he increment the index before he read a line? When you combine that choice with starting at a counter of 0 versus a counter of 1 you get those sorts of weird off-by-one errors common to programming.
Again - thank you both so much for creating this much-needed tool!
EDIT: In playing with this, I am seeing some colors - especially green - being totally nerfed by the color mapping. I am getting brown blocks instead of green blocks. The color is so obviously green on my image, but this program keeps shoving various dark browns at me. So I edit Materials.txt and add more green options and take away the brown blocks it keeps giving me but it just finds a different brown block.
I've got MCedit and Minecraft for Windows 10 but I can't seem to use it for some error reason, is there anyway I can apply the grid in Spritecraft and save it so that I can then use the grided image through my Ipad and then just place blocks as I need to?
Atantuo, just from a glance at the decompiled code i (think) i can already see the problem (though no easy fix as i don't program much) the way he is finding blocks to match with colors he stores a value inside MaterialSet.class called bestMatchIndex as a Byte which can only go from -128 to 127, furthermore it seems that in Blueprint.class there's another Byte (private byte usedMaterials;) and i see other instances of Byte variables if these can be changed i think the problem of 128 line max should be fixed along with blueprint crashes.