295 Commits

Author SHA1 Message Date
David Vierra
aadc0fcffe attempt to keep processing the NBT data if it's uncompressed 2010-10-28 01:13:57 -10:00
David Vierra
564d47753b skip files in chunk subdirs when we can't understand the filename
fixes the 'invalid literal for int() with base 36' error
2010-10-28 01:12:58 -10:00
David Vierra
a8681aaca0 don't append level.dat. this way, the damaged world recovery can kick in when level.dat is absent 2010-10-28 01:09:44 -10:00
David Vierra
efe5fbabf8 don't recompute the directory name table every time 2010-10-28 01:09:01 -10:00
David Vierra
61ec62f9d2 automatically recover from a damaged level.dat.
if level.dat is unreadable, try to read level.dat_old and save if successful.

plus stricter checks on the filename when it doesn't point to a world folder.
2010-10-28 00:03:01 -10:00
David Vierra
a80b2c867c check if file or world folder doesn't exist, and create the folder if asked 2010-10-27 23:56:53 -10:00
David Gilman
fd38a110ca If the chunk is already decompressed don't bother with function calls to take care of it. 2010-10-27 18:35:41 -10:00
David Vierra
e3e0fedd2a randomseed is a signed long 2010-10-26 15:39:29 -10:00
David Vierra
0e33c6b3f3 say why NBT load failed 2010-10-26 15:20:07 -10:00
David Vierra
b546b812d0 tweaked help for heightmap and quit 2010-10-26 15:19:34 -10:00
David Vierra
a70a989cc9 removeEntities without options now leaves paintings 2010-10-26 15:12:46 -10:00
David Vierra
ed281de530 Ocean level added to heightmap command 2010-10-26 15:10:07 -10:00
David Vierra
bf021e2ddc rename these temporary variables.
since world X goes north-south, it is matched to the vertical dimension of the image.
2010-10-25 02:37:58 -10:00
David Vierra
5d920401e4 this is a stupid mistake to make because i didn't test it 2010-10-25 02:28:37 -10:00
David Vierra
52102c01a1 suggest a spawn point at the midpoint of the imported area 2010-10-25 02:28:34 -10:00
David Vierra
abd6aaf51d this is spammy now that it's faster 2010-10-25 02:28:31 -10:00
David Vierra
9f4f3beae4 shortcut out of the expensive lighting 2010-10-25 02:28:28 -10:00
David Vierra
3e706917c1 mark the chunk for ore and tree generation 2010-10-25 02:28:26 -10:00
David Vierra
6d681888be fill the terrain with the usual block types 2010-10-25 02:28:23 -10:00
David Vierra
d25b9f307f add TerrainPopulated setting to InfdevChunk 2010-10-25 02:28:18 -10:00
David Vierra
e2c93f5c06 convert image to grayscale and scale it down. exploit numpy's slice assignment
todo: find out how to pass an array of slices to numpy so we can have it do the i and j loops for us.
2010-10-25 01:14:44 -10:00
David Vierra
45e2e97945 use the new Time property 2010-10-25 01:07:53 -10:00
David Vierra
f8ee8ac66b added randomseed command 2010-10-25 01:07:37 -10:00
David Vierra
de5854bd2a added assorted properties for SnowCovered, RandomSeed, Time, LastPlayed 2010-10-25 01:06:55 -10:00
David Vierra
bbcf1b01bd allow the syntax "mce.py myworld create" instead of saying "myworld not found" 2010-10-25 00:35:46 -10:00
David Vierra
e1b3c28145 document MCInfdevOldLevel.__init__ a bit better 2010-10-25 00:29:57 -10:00
David Vierra
266f725fc1 don't lie as much about the size of the world 2010-10-25 00:29:42 -10:00
David Vierra
c60a1babe6 new random seeds are now 64 bits long. 2010-10-25 00:29:27 -10:00
David Vierra
e4be31d8e8 use the new level.displayName to show the world's name 2010-10-25 00:28:18 -10:00
David Vierra
cc41dfaada added create command. creates a new level and loads it into the editor 2010-10-25 00:27:22 -10:00
David Vierra
914a3bda50 fixed untested bugs with MCInfdevOldLevel.create 2010-10-25 00:12:49 -10:00
David Vierra
1243d1a7a6 added displayName property 2010-10-25 00:12:29 -10:00
David Vierra
2b1ac7cb12 Added new commands to command overview 2010-10-24 23:47:17 -10:00
David Gilman
d9b859120b Removed the redundant lights update. Save can take care of it. 2010-10-24 17:28:59 -10:00
David Vierra
257d5e451d renamed the limit for chunks that are loaded and either compressed or uncompressed 2010-10-24 17:20:08 -10:00
David Vierra
effa0fabc6 removed unneeded try...except 2010-10-24 17:19:23 -10:00
David Vierra
775d720cfc silently ignore adding entities to nonpresent chunks 2010-10-24 17:18:03 -10:00
David Vierra
9330a9fa82 don't look at the full path when taking dimensions from the filename 2010-10-24 15:48:49 -10:00
David Vierra
0673d99dc7 Created a dequeset class to make "in" faster for the memory management queues. 2010-10-24 13:58:59 -10:00
David Vierra
54086af2e9 log errors and continue through all tests 2010-10-23 19:31:09 -10:00
David Vierra
3989ddbbb5 updated regression checksums after fixing the overwritten level.dat bug 2010-10-23 19:30:47 -10:00
David Vierra
a8d37bbfc6 added worldsize command 2010-10-23 17:27:27 -10:00
David Vierra
062f7eff46 catch all errors when trying to load a level 2010-10-23 17:27:04 -10:00
David Vierra
4f157e5b17 changed MCLevel.size into a property. 2010-10-23 17:26:26 -10:00
David Vierra
ead880dcc3 added a public isLevel method that can be called on a subclass of MCLevel that has one of the appropriate methods.
For example, MCInfdevOldLevel.isLevel("World4") will return True if World4 can be loaded using MCInfdevOldLevel("World4")
2010-10-23 17:25:38 -10:00
David Vierra
1869415a4e rearranged MCLevel.fromFile and changed the argument order for MCJavaLevel.__init__
now there are _isLevel, _isTagLevel and _isDataLevel methods on each class, called by fromFile to find out which level class can be used

the priority is hard-coded. data and root_tag are reused to prevent excessively reloading and unserializing data and tag structures.
2010-10-23 17:22:08 -10:00
David Vierra
d34b52b959 pulled create() out of MCInfdevOldLevel.__init__ 2010-10-23 17:19:24 -10:00
David Gilman
d4d9b35cd9 Added heightmap import command.
Heightmap opens a png and inserts it into the open map starting at chunk 0,0.  It requires PIL.
2010-10-23 17:13:17 -05:00
David Vierra
9dc288a638 display help message correctly in interactive mode 2010-10-22 18:07:34 -10:00
David Vierra
d834326942 attempted to document the new, more liberal box syntax 2010-10-21 20:58:12 -10:00