Panicle - Minecraft Schematics to Qubicle files (and more!)

“Since I’ve discovered Panicle I was not able to sleep due to sheer excitement.” – Satisfied Customer

Panicle is THE program designed and written just for you if any of the following points applies to you:

  • You are too cheap to pay $11 for Qubicle but already own Minecraft
  • You simply can’t get anything done in Qubicle
  • You just like having a 3D voxel editor where you can really dive into your creation
  • You’re not an artist and just want a quick and dirty placeholder model
  • You want to kind-of import Minecraft stuff into Stonehearth without too much effort

(In my case, it’s all of these points. I’m also a very satisfied customer.)

Got your interest? Very well. Let me introduce to you PANICLE 2015 Professional Team Edition Enterprise Solution.


Now that we had a little fun, let’s be serious. While Qubicle allows exporting to Minecraft schematics in the more expensive versions, importing isn’t possible. Because I don’t plan on buying Qubicle (I’m sorry, I just can’t get around its interface) and because I was challenged by @SteveAdamo I’ve decided to write a little conversion tool.

I would like to OpenSource this as well, but I’m not exactly sure if I can do that. The file format isn’t mine (although the spec was released under CC0) and the classes I have written could very easily be used to write a qb-to-obj converter, which is something that, I believe, isn’t too well received. Nevertheless, it’s my usual C#, not obfuscated, not packed or anything so it should be fairly decompilable if you really want to.

Features

  • Able to “slice” qb matrices up to show each layer of voxels. Currently, this only works on the very first matrix defined - which is fine for about 90% of the SH models, the only real exception would be humans and outfits I guess.
  • Can convert Minecraft .schematics (exported from, for example, MCEdit - but as long as the tool keeps the file format convention, it should work) into working .qb files, where each MC block represents one voxel in the model.
  • Which color is chosen for each block can be customized by simply adding the block (and its data value) in the “blocks.json” with a color value. This also allows overriding the default values (which just contain wool and gold if I remember correctly).
  • It’s possible to define blocks as “void”, these blocks will not appear in the qb. Use them as scaffolding/helpers in MC. The default blocks.json contains such an entry for glass.
  • Simple drag-and-drop and console support; .qb files will be dumped whereas .schematic will be converted (and dumped).

Pictures

Enough talk, let’s see something. First of all, let’s have one of those sliced pictures. In this case, I’ve taken the oak_log from Stonehearth and sliced it. To have it better visible, I’ve scaled it by factor eight - normally, one pixel represents one voxel.

Now let’s move on to some quick creations of mine. They’re all made of wool because it’s the only real block that is shipped with Panicle. It’s doing an excellent job for what it is intended though, which is some sort of placeholder creator.

The image on the left/top is the result in SH, the right/bottom one is the original in MC, default texture pack.

Of course, all these models can be scaled just like any other model. In the pictures above, they’re twice their normal size I believe.

To have an example of that, here’s a train track. The carts themselves are slightly smaller than settlers, each track fits exactly on one “tile”.


Usage

In order to have your own blocks/other blocks render, you will need to modify the “blocks.json”. I’ve shipped an example in which I set lapis and diamond blocks. The syntax is fairly simple, it’s "blockId" or "blockId:data" for the key and either [ r, g, b] or "#rrggbb" for the value. If you want a block to be ignored (because you don’t want it dumped in the game, because it was a scaffold, some kind of helper/ruler, or just a placeholder), you can set its entry to false. Panicle will then treat these blocks as if they were air.

If you have set all blocks (if you don’t, the program will - right now - crash and tell you which block it was looking for), simply drag-and-drop the requested .schematic file onto Panicle.exe and see the magic go. The created .qb file will be in the same folder as the original .schematic.

In order to “slice” a qb file, simply drag and drop it onto Panicle.exe. The sliced png will be placed in the same folder as the original qb, named after the original file, the matrix name (if multiple are available) and finally some plane.

To create a new cube from a texture, simply drag&drop a square .png file on Panicle.exe. The created .qb will be in the same folder, same name.

To create a multi-block object (a Minecraft schematic where a Minecraft-block is mapped to another qubicle file), make sure that you have defined all blocks in your blocks.json or that they exist as qubicle file (“block_ID.qb” or “block_ID_DATA.qb” - for example, “block_4.qb” and “block_17_8.qb”) in the same directory as the original schematic. The schematic’s file extension needs to be changed to “pansmatic”. Then just drag & drop it.

Minecraft itself cannot create schematic files. You need to use a third party tool - personally, I’m using MCEdit. Simply load your world with MCEdit, select the region you want to qubise and hit “Export” in the bottom-left.

Requirements

Panicle requires the .NET Framework 4.5. I think I could easily break that down to 4.0 or even 3.5, but 4.5 should be really widespread enough. If you wish to create large structures (we’re speaking about more than the average statue/house here), you will likely need a 64bit operation system (and .NET framework).

Current limitations and possible features

  • Panicle is not a replacement for Qubicle. It’s quite a tiresome process to always do something in MC, then export it, then convert it. If you’re doing a lot of modelling, then just using Qubicle is probably the better way.
  • Future feature: It was already in but then got removed, but I was thinking about adding support for “special” blocks such as the canvas and painted blocks (from OpenBlocks) or perhaps the glowstone illuminator. It’s unlikely that this feature will return but if enough people want it I’ll see what I can do.
  • Future feature: Perhaps something to rotate or flip objects.

Download

Panicle.7z for .NET Framework 4.5. It’s still a kind of WIP, but it’s usable. I believe. I hope.

If you want to give it a try, I have Apple.schematic and Track.schematic that you can try immediately.

This time, the third party libraries used are fNbt and JSON.NET.

7 Likes

Although kinda inefficient, still a nice tool :thumbsup:

It took me less time to write this tool and make the examples than it took me to attempt to create one of them in Qubicle…

For some reason it just feels “more natural” in Minecraft.

i dont recall the challenge, but if this was the end result, so much the better! :+1:

you sir, have just worked your way back into my good graces… this is just spectacular! i have been making all sorts of goofy things in MC, as i was unable to spend enough time in QC to really get the hang of it…

with your lovely creation, my world, my very existence, has new meaning…

seriously though… l :heart: you…

ahem

:football: :punch: :angry: :boom:

ok, i think i’ve sufficiently “manned” things up a bit…

1 Like

:sake:
There you go. :smile:

1 Like

So Minecraft. Much impress. Wow. Mind if I use your program in a tutorial video, maybe take a look at the code?

Like I’ve said, I would be happy to release its source under the MIT license - but I have no idea about @Tim’s opinion on that. For the time being, feel free to create tutorial videos and mess around with it as you please. Like I’ve said, no obfuscation, no other magic - I don’t guarantee that decompiling it will be pretty, but I haven’t done anything that should make it painful.


To show another example of what’s possible, have a look at rp_trains:

With this, I have kind of officially ascended into the realm of guys who can code and do their own assets… Now there’s no stopping me. Hehe. Hehehehehe. HaahahahaHAHAHA

6 Likes

Do they really go ‘toot toot’ and ride around? :bullettrain_side: :train: :train: :train:

Not yet, my friend… not yet. I still haven’t come around to see if there’s a way to check for an entity close to the current one, i.e. to see if there’s an adjacent track. In case such a function does not exist, I’ll have to keep track of them myself, which means I’ll need to introduce that to RP, which then needs to keep track of that stuff in case it gets moved… Or destroyed… or or or…

Err. :expressionless:

It is still cool nontheless. Maybe that will come when the AI starts conversations with each other :pray:

this is too slick!

i am so porting over that shrine i built to @Geoffers747 in MC, those many moons ago…

3 Likes

The update will most likely not touch anything in that area. The AI is heavily independent.

Speaking of the AI/pathfinding update, however, I wonder if they kept modding in mind - especially for trains, it would make sense that using a train line would be much quicker than walking and therefore train stations should create an own (sub-)network that is weighted differently. Another thing that would mess around with the PF would be portals, which likely would have a zero penalty (as opposed to walking distance).

Just keep in mind that many things won’t be ported over (yet), such as half blocks, invisible blocks (glass is a good example - the current beta I’m using has support for “Just don’t include that block”, which was messed up in the release)…

I mean, if somebody wants to give it a try and model the Minecraft blocks as real Qubicle blocks (not too high res, I’d say… 5x5x5 per block? less? Best would be to check with the stairs for proper dimensions) then I could probably start writing a “real” conversion tool that would transpose Minecraft structures 1:1 in a “Stonehearth-looking” way.

Sadly, creating those template blocks is likely way out of the league of what you can achieve with 16 colors of wool… :stuck_out_tongue:

1 Like

This looks interesting, I’ll take a look at this thread later when I have time

understood… so, as long as we stick with wool, the tool should not implode, and destroy the internet… right?

Oh, you can use any block you want - unless you want to have a block not show up. In the example above, you see that the glass rail is not carried over - because I set the glass to be disabled (with "22" : false in the config, but that’s bugged in the first release).

The worst that happens is that Panicle complains about “unable to find color 15:0” or something like that. Then you just need to add a color for said block in the blocks.json.

Of course you can also share your blocks.json… So somebody (not me this time) could compile a comprehensive list of all blocks and their representative colors and then share it with others.

Perhaps there is a texture pack just for this cause, where each block is reduced to an (unique) color. That could be pretty handy, too.

hmm… perhaps I’ll take a stab at said compilation… although, I suppose I should get home, and actually get this working on my end first…

never was good at prioritizing

Its good that this exists, as I as an avid modder. was quite upset when I found that in a game that was supposed to be easy/fun to mod/make modules.
That we would have to pay for more (and completely separate I might add) things in order to make any substantial (aka interesting) mods for the game.
(mods that add creatures/items)
With This in addition to a certain blender plugin It can now be done.

If you didn’t do it I would have in my own time :P.
I

i beg to differ… QC is only used to add new models and such to the game… there are a substantial number of things that can be added to the game, either strictly with new code, or reusing existing assets…

edit: out of curiosity, are you the same untrustedlife from the Rimworld forums? :smiley:

3 Likes

I agree that you can do a substantial amount of things without adding new art assets to the game. But,in my opinion it is still limiting. (of course it is just a opinion (I like adding new creatures and such to games, ), dwarf fortress especially.

Also
I am Untrustedlife on there :smile:

Who are you on there?

same name… :smiley:

one of the moderators there, although i have only been hanging around the tester forums, for the most part…