574 Commits

Author SHA1 Message Date
David Vierra
1517d39f86 fix containsChunk for region-style levels ( thought this was already fixed... ) 2011-03-11 20:36:41 -10:00
David Vierra
81da724f4f need to call __del__ on superclass 2011-03-11 05:13:12 -10:00
David Vierra
11695c48fd these strings need to be unicode because displayName is a filename 2011-03-11 05:12:55 -10:00
David Vierra
1fca059151 added AKAs for netherrack and soulsand 2011-03-11 01:45:03 -10:00
David Vierra
51fb5c635c blockWithID will synthesize a Block without "registering" it with the MCMaterials object.
i'm starting to think the Block object is becoming very silly.
2011-03-11 00:19:21 -10:00
David Vierra
aa8057072e added aliases for several blocks 2011-03-11 00:17:16 -10:00
David Vierra
2c36cf811e blocksMatching now searches the blocks' aliases too 2011-03-11 00:17:03 -10:00
David Vierra
04507f599d the blocksToReplace parameter to fillBlocks defaults to an empty list now 2011-03-09 21:04:43 -10:00
David Vierra
c653af80fd this method of unpacking data is slightly faster 2011-03-09 20:55:49 -10:00
David Vierra
18896f267f turns out this code was only used by MCSchematic, so put it here... 2011-03-09 17:27:23 -10:00
David Vierra
cb4fa95b24 added 'repair' command that scans region files for inconsistent chunk storage 2011-03-09 16:21:55 -10:00
David Vierra
8268d4b0da added redstone repeater blocks and rotation tables 2011-03-09 16:08:36 -10:00
David Vierra
841994be9b added different slab types 2011-03-09 15:34:14 -10:00
David Vierra
938a7ee21b zipfile.read returns the compressed data, so have ZipSchematic._loadChunk decompress it 2011-03-09 13:52:14 -10:00
David Vierra
1bf1cfa8b6 expanded block definitions to support blockData for colored wool and varied trees
textures are given as a pair of 0-255 pixel coordinates instead of combining them into one byte. the first coordinate of the pair is left-to-right on the terrain.png

added flat color definitions for low-detail rendering. color codes borrowed from c10t

block defs are now attrs of the MCMaterials objects.

fillBlocks now takes Block objects instead of block ID numbers
2011-03-09 13:05:23 -10:00
David Vierra
00c3514e36 replace materialNamed calls with refs to the Block object's ID 2011-03-08 21:03:57 -10:00
David Vierra
a12dfdf29a print the name of the regression before starting 2011-03-07 22:34:01 -10:00
David Vierra
3320be689f set hasEntities for more level types. suspect this was why zipschematics were getting exported without entities. 2011-03-07 19:37:32 -10:00
David Vierra
2c0257e6a4 removed cruft 2011-03-07 18:59:41 -10:00
David Vierra
396925bc1e restored support for the older chunked format, including zipped schematics exported from older MCEdits
changed world._loadChunk to set chunk.root_tag and chunk.compressedTag instead of just returning the uncompressed, flat NBT data. RegionFile.loadChunk also changed to set chunk.root_tag and chunk.compressedTag instead of returning data. These methods now take a chunk object as input instead of coordinates and data
2011-03-07 18:24:40 -10:00
David Vierra
7170e003d7 compressedSize is only used by chunks 2011-03-06 16:29:14 -10:00
David Vierra
a10ef86ae9 this code was completely unused! 2011-03-06 15:30:12 -10:00
David Vierra
b887a2c6be added flat color values for low detail rendering. values borrowed from c10t. 2011-03-06 14:58:03 -10:00
David Vierra
3e8852a97c these were incorrect; schematic.Data is unpacked 2011-03-05 15:14:51 -10:00
David Vierra
12f1282103 accept -h and --help 2011-03-04 12:10:55 -10:00
David Vierra
834f5f0b9f mce accepts world names instead of world numbers, xxx scan through the saves folder for LevelName tags? 2011-03-04 12:05:32 -10:00
David Vierra
1112b8b6fa go back to not holding files open to avoid having too many files open...? 2011-02-27 10:01:29 -10:00
David Vierra
2a7ae26db3 don't try to pass None into decompressSectors 2011-02-27 01:10:44 -10:00
David Vierra
ede1a2ba4b added an automatic repair routine that detects misplaced and overlapping chunks 2011-02-27 01:03:47 -10:00
David Vierra
5ad16c7a87 on chunk load, alert the world that the chunk is also decompressed xxx this is very sloppy 2011-02-27 00:16:29 -10:00
David Vierra
9c0edc6e85 once again, region filenames have no base36 involved 2011-02-26 21:37:33 -10:00
David Vierra
643d9cfc39 delete empty region files on load 2011-02-26 20:21:24 -10:00
David Vierra
1bb6b6d7cf switch to holding region files open 2011-02-26 20:20:34 -10:00
David Vierra
e0ef5fbb75 this error message now offers a possible fix 2011-02-26 19:10:13 -10:00
David Vierra
0025c6b3df recompress chunks during getChunkSlices 2011-02-26 19:09:52 -10:00
David Vierra
9bdc185127 fix bad reference to self.file in setOffset, this contextmanager stuff may be a bad idea... 2011-02-26 19:09:18 -10:00
David Vierra
ae77c58187 delete empty region files after deleting chunks 2011-02-26 17:13:27 -10:00
David Vierra
d94ec4b3ba don't need to use decbase36 for region filenames 2011-02-26 17:12:47 -10:00
David Vierra
8b5ebab219 reset regionFiles to an empty dict instead of None, which is incorrect 2011-02-26 17:11:16 -10:00
David Vierra
f0c3e4affc correctly use context managers to close the file only when the RegionFile class is configured to open files on demand.
as it turns out, experimenting with this option vs earlier code showed no change in the number of open filehandles. python will close the file when it garbage-collects the file object so we don't ever have to close the file.  on windows, opening the file for writing doesn't give an exclusive lock so we don't determine if minecraft is holding onto the file
2011-02-26 17:06:17 -10:00
David Vierra
ff912c2235 compressedTag can be none - this means we are unloaded. 2011-02-26 16:55:04 -10:00
David Vierra
27ef9011a2 detect region files with overlapping chunks 2011-02-26 15:22:58 -10:00
David Vierra
f1aeedd64a synthesize a descriptive filename to read out of chunk files xxx rename property? 2011-02-26 15:21:44 -10:00
David Vierra
b323f6cc6e describe this ChunkMalformed error with more detail 2011-02-26 15:21:16 -10:00
David Vierra
b3ccdd5956 start using psyco where available 2011-02-23 09:39:08 -10:00
David Vierra
d961d96c79 add methods to close a file, now that the region files may be held open. they are not held open by default. 2011-02-23 09:38:40 -10:00
David Vierra
689bf41e1d close the GzipFile after reading from it 2011-02-23 09:37:45 -10:00
David Vierra
fd7388fcd0 fill out the new version and LevelName fields on creation 2011-02-23 09:35:53 -10:00
David Vierra
5ed31290c4 create regionDir when creating a level 2011-02-23 09:35:38 -10:00
David Vierra
c1c92d889b immediately preload regions on load 2011-02-23 09:35:28 -10:00