Alright, busyness was had and a little progress has been made. But first a little background. The way the world used to be loaded was first the schematic is parsed and put into a World object containing the byte arrays for block ids and data, that is passed to the actual loader.
That was working fine until I thought about how I'd do TileEntities and Entities, as I didn't want to make a ton of objects for all the different kinds and load them separately.. bah. So my plan now is to load in the schematic itself, rather than converting to an object. The reasoning is that I might be able to use (I really hope so) the NBT tags of every TileEntity, convert them to NBTTagCompound objects inside minecraft and use the games own loading methods to add them to the world. There's a function readily available for that.
Other than that, there was this odd bug that would sometimes scramble a loaded schematic. I hopped on the server today to clear my head, and I had a moment of clarity. See if you can spot the pattern:
After fixing it, I immediately went to see if the storage room would work. Go see for yourself:
http://i.imgur.com/kji3p0f.gif
EDIT: Just to clarify, it did this before as well, so hereby I've discovered a new bug. For tomorrow.
That was working fine until I thought about how I'd do TileEntities and Entities, as I didn't want to make a ton of objects for all the different kinds and load them separately.. bah. So my plan now is to load in the schematic itself, rather than converting to an object. The reasoning is that I might be able to use (I really hope so) the NBT tags of every TileEntity, convert them to NBTTagCompound objects inside minecraft and use the games own loading methods to add them to the world. There's a function readily available for that.
Other than that, there was this odd bug that would sometimes scramble a loaded schematic. I hopped on the server today to clear my head, and I had a moment of clarity. See if you can spot the pattern:
After fixing it, I immediately went to see if the storage room would work. Go see for yourself:
http://i.imgur.com/kji3p0f.gif
EDIT: Just to clarify, it did this before as well, so hereby I've discovered a new bug. For tomorrow.