Today comes CraftStudio 0.1.11.0, featuring a Minecraft model exporter, better transform handles, community projects sorting and many more small improvements, plus the usual assortment of bug fixes.
Minecraft model exporter
CraftStudio now features a (rudimentary) Minecraft model exporter, which is great news for modders!
Want to see more screenshots? Check out this album I made while I built the exporter.
Now, don’t get too excited just yet, the exporter has some pretty severe limitations for now:
- Only static models are supported. Keyframe animations are hardly possible with the current version of Minecraft. The good news is I’ve been in touch with Grum (one of the Minecraft API developers) and from what I gathered, their plans for models should allow me to implement animations properly at some point.
- All blocks’ texture unwrap mode should be set to Full. Other modes aren’t supported by Minecraft. See how the AT-AT’s texture looks weird in places? That’s why.
- You’ll need the Minecraft Coder Pack and you’ll need to know what you’re doing. Follow the instructions in docs/README-MCP.txt. If you don’t understand what this is all about, you probably shouldn’t mess with it.
- After decompiling your Minecraft with the Minecraft Coder Pack, type /export minecraft in the chat area of your CraftStudio model. A save dialog will open, navigate to your MCP installation, then to mcp70a\src\minecraft\net\minecraft\src. You can then replace for instance ModelPig.java with your exported model.
- Copy your model’s texture (use the select tool in the Paint tab and Ctrl+C) and paste it into a PNG file. Open mcp70a\jars\bin\minecraft.jar with an archive explorer (7-zip works) and replace pig.png with your custom texture.
- Recompile Minecraft, start it up: Pigs should look like whatever model you exported!
- Take many screenshots and celebrate for a while.
You can also define new Minecraft mobs and use CraftStudio models for those. Again, this is not trivial, it requires quite a bit of Java knowledge so don’t expect wonders if you’re not a modder.
(By the way, quick reminder: Export features require a premium account.)
Better transform handles
The transform handles (used to move around, rotate and resize stuff) now have a fixed size, no matter how far you are. This makes it much easier to grab small things from far away.
The pivot offset transform handle tips are now spheres instead of arrows so that they can be distinguished from the position transform handles.
Community Projects improvements
There is now a drop-down box that allows ordering projects by uptime or members count.
The project type filter was being improperly reset when clicking on the Community Projects button, this has been fixed.
Set the initial size of your tile Set
When creating a map tile set, you can now customize the tile size upfront. Block layouts will automatically be placed on a properly-sized texture.
- People who don’t have a mouse wheel, rejoice: scrollbars can now be dragged with the mouse!
- You can now pan the view with Alt + Middle click, and zoom in or out by holding Alt + Right click and moving the mouse up or down (also works in the texture editor)
- You can now delete model blocks and game objects with the Delete key
- Newly created blocks (in a model) or game objects (in a scene) are now placed in front of the camera instead of being located at (0,0,0)
- In scenes, you can now click on the asset names in components to open them in a new tab
- Models are now automatically made to fit into the preview area
- Hugely improved the setup time for the list of assets (about 8-10x better in my tests on the Community Hub)
- Bug fixes
- Fixed a bug when reparenting a model block with an off-center pivot offset
- Fixed view rotation not working properly under heavy load
- Fixed the size of the block highlight in the tile set block selection panel for sizes other than 16
- Fixed a display bug in the export / import progress popup
- Fixed a crash when selecting no asset in the import asset popup
- Fixed GameObject:GetComponent() not to throw an error when no component is found (it simply returns nil)
- Fixed search in the script editor to scroll the text area when finding something
- Fixed some crashes in the model editor