Mineblend - Blender importer add-on for Minecraft worlds

It would be great if you could fix it for us win7 64bit users, still can’t enable the addon in blender . (1.2)

ATOM, i cant open your zip! I renamed it but ist only 4kb!

@mcguinnessdr thanks for the insight, I’ve altered my development version to handle multiplayer data nicely - I hadn’t realised there was a difference in the formats, but have now loaded one of my multiplayer saves, so cheers for pointing it out.

@tek- I’m really sorry I’ve not been able to fix that yet. If anyone on Win7 64bit has this issue (I’m assuming it’s the same error: can’t import mineregion.py) please please post anything that might be relevant to help me replicate the problem, as it works perfectly on my Win7 64bit. What else could it be? …

  • Windows 7 64 bit version (Ultimate? Professional?)
  • Are you using 32 bit Blender?!?! (that might not make any difference)
  • Blender version (and/or revision number)
  • Do you have any other custom add-ons installed?
  • Do you have any unusual/custom paths set up in your Blender User Preferences?
  • What is your Blender install directory?
  • What is the complete file path to the io_import_minecraft folder.
  • And as ever, please include the last few lines of Blender’s System Console.

The more feedback on this, the better, and hopefully we can figure out why it’s going wrong for some users.

@Atom - sweet video! The Torches look a little bit jarring (to me) as whole cubes - that’s my fault, of course, not yours! This will be fixed imminently.

I’ve been working on a whole slew of improvements all through the weekend/Monday night - there’s just one more thing to add and a few tests to do, and I’ll get it posted.

It works, you just have to put it in %APPDATA%\Blender Foundation\Blender\2.60\scripts\addons :wink:

Thanks for the updates acro! :smiley:

A bug I found: mcBurnace should be mcFurnace :stuck_out_tongue:

Also, to get all of it fancy smanchy, could you post a tut for all the New peeps out there? Just an idea… :slight_smile: (Either that or I’m too lazy to figure it out by myself. :o :p)

I dont think so…(

Oops, *Sigh, I always comment on something and then a few minutes later I figure it out XP

I realized that the textures could only be rendered in Blender Internal. With you as a cycles fan, I was wondering how long it would be until we could have textures for Cycles as well? :slight_smile:

Hi everyone,

I’ve posted a new version on the google site - please make sure to update yours! https://sites.google.com/site/mineblend/

Main feature: Now optimised for faster loading, faster display in viewport, and hopefully faster rendering.

Large volumes now discard most internal vertices, so viewport performance is much better. For full scenes with no depth limitation it’s about 50% lighter. For shallow scenes (sea level) I got around 20% fewer verts. For the Nether, it was around 70% in the one test I did.
Oh, yeah - and you can now load The Nether. : )


I suppose this may be a revelation to all those who haven’t played the game but have been downloading levels to render, so perhaps a brief explanation would be useful: The Nether is another dimension in Minecraft, reached by building Obsidian portals. Data for the Nether will only exist in a Minecraft saved game if the player has visited it.

If the player saved/quit in the Nether, we load in around the player position. Otherwise, the Nether load location defaults to the 3D cursor.
A warning: The Nether is always heavier going than the overworld, it’s full of huge amounts of one type of material.

Another nice effect of hollowing out material volumes is that the script loads
everything faster. It turns out that building the vertex lists is the slow part,
and all the extra computation needed to ignore vertices is still quicker than
loading those vertices. I thought the extra computation might slow things
down, but it doesn’t.

There’s also now improved mesh building (Torches aren’t cubes!), slightly better BI material settings, world parented to empty (Atom’s suggestion), multiplayer savegames now work (thanks go to mcguinnessdr), player location markers, and some other bits and pieces.

Next I plan to fix all the BI materials completely (no more grey grass/trees), and fully flesh out the mesh creation to take care of MC’s extra-data fields - so stairs, signs, fences, ladders, track, doors and hatches etc will all properly appear, with their facing-directions and proper shape.

After that I’d like to focus on Cycles materials, although I might work on them during the other additions anyway.

all the best!

Aha, well… no! : P
Furnaces have 2 different block IDs, based on whether they are active or not. In the script, they get assigned different textures - one has the fire lit, the other is dark. Rather than calling them FurnaceOff and FurnaceOn, I called them Furnace and Burnace, for Burning Furnace. It saved a whole two characters in the object name!

Aaanyway, about Cycles materials and tutorials - I will definitely do some kind of usage tutorial, maybe one for Blender newbies and one for Blender users who haven’t used the script before. I have friends who play Minecraft who are interested in using this but have a blind spot when it comes to Blender, so they’ll definitely benefit from a kind of hand-holding guide. I’ve not done this yet, because first I wanted to make as many improvements to the script as possible.

Automatically setting textures to work in Cycles will be a very worthwhile exercise, and I think might be relatively straightforward - but I’ve been focusing on A’n’W’s excellent suggestions for Blender Internal settings first, mainly because Cycles isn’t officially on release yet. With 2.61 now at BCon4, I’m running out of time on that excuse, though.

What does everyone think should be higher priority?

  • Texturing for Cycles
  • better mesh shapes

Both will be happening soon, but what’s preferred first?

These are some nice improvements. As far as texturing, I would like to see how you generate Cycles textures under code. I have not done that yet and I am curious about that.

Sometimes when I load a level there is a new object called DeadBrushBlock that ends up not parented correctly.
Also the main parent is not selected after generation. So you see a cube inside the empty (with the sphere icon enabled) and attempt to move it and you are moving a brush, not the level. After you discover your mistake you issue an undo to move the cube back where it was. This undo action seems to undo the entire level load and it disappears. This seems confusing to me. Perhaps if you do a final check to make sure the master parent is selected after generation that would help.

Thanks again for the update.

Oops! That took me for a spin! :spin: Thanks for clearing that up. :slight_smile:

I was actually saying that about the textures, I thought they where in cycles, but I couldn’t find them, turned out I didn’t read the forum throughly. XP

Though, I think you should get the basics done(the texturing and meshes) first, and then have the tuts, as you said.

Yes, haha, its at 2.60.7 now at Graphicall, so… :stuck_out_tongue:
Although I somewhat think that BI is going to be outdated soon…but then again it is quite easier to, err, I mean faster to render.

Hmm…I would say Texturing…because I only really use the builds from Graphicall. And cycles is beast. :stuck_out_tongue:

Actually, do whatever is easiest for you, that way we have more content out faster :slight_smile:

Heh heh, glad to hear it! Cool image, though the left hand side looks better than the right - the background of trees is a bit forlorn compared to all the nice lights on the left.

Atom, when I read your comment saying “I would like to know how you generate cycles textures under code” my first thought was “damn! so would I!”
So then I wasted (wasted? Mis-spent? …made excellent use of) lunchtime fiddling with the script console and autocomplete. I’m going to document what I found and post it somewhere. Somebody has to, geez.
The thing that took me longest to find was the render engine setting to switch Blender Internal to Cycles.

I found the nodes stuff to be surprisingly easy - everything is referenced by name or by index, and it’s all just Nodes and Links.
This is very limited to my anticipated needs (for now) but here’s what I came up with for a start…

import bpy

#Switch render engine to Cycles. Yippee ki-yay!
bpy.context.scene.render.engine = 'CYCLES'


def biTexMatToCycles(matrl):
    """Changes a BI basic textured, diffuse material for use with Cycles.
    Assumes that the material in question already has an associated UV Mapping."""

    matrl.use_nodes = True
    
    #maybe check number of nodes - there should be 2.
    ntree = matrl.node_tree
    
    #get refs to existing nodes:
    diffNode = ntree.nodes['Diffuse BSDF']
    matOutNode = ntree.nodes['Material Output']
    #add the two new ones we need (texture inputs)
    imgTexNode = ntree.nodes.new(type='TEX_IMAGE')
    texCoordNode = ntree.nodes.new(type='TEX_COORD')

    #Plug the UVs from texCoord into the Image texture (and assign the image from existing texture!)
    #img = matrl. texture? .image?
    imgTexNode.image = bpy.data.images['terrain.png']   #hardwired for MCraft...
    #maybe imgTexNode.color_space = 'LINEAR' needed?! probably yes...
    
    ntree.links.new(input=texCoordNode.outputs['UV'], output=imgTexNode.inputs['Vector'])

    #Plug the image output into the diffuseNode's Color input
    ntree.links.new(input=imgTexNode.outputs['Color'], output=diffNode.inputs['Color'])
    
    #Arrange the nodes in a clean layout:
    texCoordNode.location = Vector((-200, 200))
    imgTexNode.location = Vector((0, 200))
    diffNode.location = Vector((250,200))
    matOutNode.location = Vector((450,200))

This looks like it’s coming along really nicely, but I’m getting an error when I try to load my multiplayer world that wasn’t there before the update. Here’s the last few lines of code

    if toggleOptions['loadend']:
KeyError 'loadend'

location:<unknown location>:-1

location:<unknown location>:-1

I have no idea why this is erroring for my multiplayer map, it works fine for my single player maps. Thanks for this awesome script, and I hope you can find a solution for this.

Hi, sorry

Yes,

Windows 7 64bit ultimate,
running 64bit blender (2.60a, official) revision number r41226
Blender 64bt install is C:\Program Files\Blender Foundation\Blender

addon directory is C:\Program Files\Blender Foundation\Blender\2.60\scripts\addons

Tried latest 1.3, no work.

Also tried putting it in C:\Users\Tim\AppData\Roaming\Blender Foundation\Blender\2.60\scripts\addons

no work either ;(

Hope that helps.

Confirmed -not working.

Win7 x64

Get your update at the usual googly page.

This corrects the problem with multiplayer saved games reported by mcguinnessdr (a stray piece of code that wasn’t ready yet was being triggered because multiplayer servers apparently pre-generate the folder structure for The End.)

Secondly, I’ve not long finished reviewing the console output posted in a screenshot a wee while ago, and this time I looked thoroughly at the entire trace. This revealed a small but crucial piece of insight that hopefully fixes (or at least narrows down) the problems encountered on Windows.

I’m most interested to hear back from tek- and bluecd on this one, because I think I’m really onto the issue now. I am anticipating a few things:

  • the script may now load fine, but some or all Minecraft saves may fail to appear in the level select list.

  • this might not be the same problem all round, so this might mask or reveal other problems.

If one or more of your saved games fails to appear in the World Selection drop-down list, I urge you to please send me your level.dat file (or files) for the world(s) with the problem. That will give me test data to work on.

And it looks like absolutely the best thing in the event of an error is: send a full-screen screenshot of your maximised Blender console!

oops, lunchtime is over - back to work!

Awesome, thanks :)!

Man, I have really enjoyed reading this thread and watching this addons progress!!
I can’t wait to try it out myself :smiley: I’m going to wait until my winter break from work and school to try it though…

But I figure I’ll post on here sharing my interest… And Ideas…
I was wondering if you guys are thinking of adding the ability to use
the animation build into the characters of Minecraft in this addon?
I don’t know how far away you guys are from achieving this, or if it’s
even possible with the current version… But it would be amazing to
be able to export the animation of Minecraft into Blender…

There are so many people on youtube that use Minecraft with video.
And to be able to capture the animation build in the game would be a much
faster process then rigging the characters in Blender. But it would still leave
the opportunity’s available in Blender open to.

I emailed the creator of mcobj about this…
He liked the idea and was brainstorming on some possible ways of doing it…
He thought that making a Minecraft mod to capture animation data that could
be read by a Blender addon could work. But what are your guy’s thoughts??
What do you think the best way of converting Minecraft animation data to a
Blender format be? I am also interested in helping with the development of
something like this… So let me know what you think the best thing to do would
be. :slight_smile:

I can not get this to work :stuck_out_tongue:
There is no error message it gives me…
I just don’t see the addon in the addon tab after I have Installed it.
I can see the addons in the addons folder under Library/Application Support/Blender/scripts/addons.
But I still can not see it under the addons tab or in File/Import… What should I be looking for? What
is it titled in the addons tab? I am using a Mac OS X version 10.6.8. I have tried all versions because
1.3a wasn’t working I though I’d try the other once. Also I tried dragging it in the addons folder and
that wasn’t working either. I tried dragging and installing the .py files separately and in a .zip. I tried
to look in the Blender Console to see if there was any information, and as far as I could tell it wasn’t
writing anything related to the addon. Hope this is enough information… But it seems to me like Blender
is not even recognizing it… help!! :stuck_out_tongue: ha

Hey guys, why no posts for a while? :confused:

I’ve just been really busy with holiday client deadlines. The latest version let me load a scene that was giving me troubles before, and I’m excited to make something from it, but time has been pretty short.

Hopefully I’ll get some good time over the holidays and be able to post.