905 Commits

Author SHA1 Message Date
David Vierra
a94c032c94 added a 'create' option to copyBlocksFrom and getChunkSlices. 2011-09-13 16:03:58 -10:00
David Vierra
2e4b8e43ad add names for plant stems 2011-09-13 11:06:31 -10:00
David Vierra
65a70f3bd5 add an iterator version of fillBlocks 2011-09-13 11:04:46 -10:00
David Vierra
e04d9d3ee9 Something in the subprocess.Popen - CreateProcess - java.exe stack hates smileys 2011-09-13 11:04:19 -10:00
David Vierra
086bc994b5 use unicode strings to compute these standard directories 2011-09-13 11:03:37 -10:00
David Vierra
b584dcd92a only copy populated chunks while generating, to avoid cut-off trees 2011-09-12 14:44:42 -10:00
David Vierra
2604b41f80 chests allow light through in 1.8 2011-09-12 13:46:05 -10:00
David Vierra
ad1e2f90a0 pulled out appDataDir from folder-finding code, moved code to mclevelbase, used appDataDir in place of %APPDATA% because %APPDATA% may not always be defined (?) on win32 2011-09-12 13:45:48 -10:00
David Vierra
704cedcffd add GameType property 2011-09-12 13:29:58 -10:00
David Vierra
c1e7f7260d fix unicode error (string.format should probably promote the format string to unicode so I don't have to keep this in mind :( 2011-09-12 13:29:39 -10:00
David Vierra
c513b3bb11 changed getPlayersPath to use self.playersDir 2011-09-11 17:00:25 -10:00
David Vierra
e290a07215 removed debugging code 2011-09-10 11:50:57 -10:00
David Vierra
a54c92d7fb check the registry on win32 to find out where java.exe is kept 2011-09-10 11:36:59 -10:00
David Vierra
1ef73e7c16 added prerelease 1.8 materials, fixed stair opacity 2011-09-09 16:29:59 -10:00
David Vierra
5148e8732e pack the chunk data arrays before extracting a chunk - icky 2011-09-09 12:13:54 -10:00
David Vierra
52e199fe84 add explicit Materials for INVEditChest 2011-09-09 12:13:28 -10:00
David Vierra
b76e93addc instead of only copying the chunks expected to be created by this generation pass, instead scan the entire temp level and copy as many of the requested chunks as we can. the failure condition for the generator becomes when it doesn't create any new chunks and we still have chunks to copy 2011-09-08 11:02:09 -10:00
David Vierra
44933cc738 add an explicit getDefaultJarStorage() so that MCEdit can create the storage before creating any chunk generators 2011-09-07 13:00:01 -10:00
David Vierra
51b052813b add an exhaust function that returns the last item yielded by an iterator. used to implement the non-iterator versions of various functions 2011-09-06 00:05:11 -10:00
David Vierra
cde2e7c78f use hashlib instead of md5; md5 isn't bundled with the current release of mcedit :( 2011-09-05 10:25:33 -10:00
David Vierra
ea80eefc1b unused method 2011-08-31 11:19:50 -10:00
David Vierra
d7e1e88dc0 rename ServerJarCache to ServerJarStorage. clean up code, use readProperties and writeProperties to handle server.properties, allow generation in the Nether 2011-08-31 08:32:25 -10:00
David Vierra
05cd068104 rename ServerJarCache to ServerJarStorage, allow MCEdit to override the default ServerJarStorage.cacheDir location, check that items in the worldCacheDir are directories before using rmtree on them, set allow-nether to false in the server properties (nether support here is unfinished), MCServerChunkGenerator won't overwrite existing chunks 2011-08-25 10:30:08 -10:00
David Vierra
6f035c4aaa more work on server-based generation: use hashes instead of version numbers, clear the world cache via listdir, put readmes into the two folders, fix compatibility with older servers 2011-08-23 08:27:53 -10:00
David Vierra
675f814b78 logical error 2011-08-23 03:57:46 -10:00
David Vierra
42847692d3 luckily windows takes forward slashes xxxxx 2011-08-23 03:53:43 -10:00
David Vierra
469319feee added a daring terrain generator that calls on minecraft_server.jar, stores multiple versions of the server in an app support folder - each in a folder named with the version number (can be used to store modded servers too), and caches the results of a version/seed combo in the temp folder.
also provides a clearWorldCache method to delete the generation results and automatically moves unfoldered minecraft_server*.jar files found in the server versions folder into named folders by reading the version info from the server output
2011-08-23 03:27:22 -10:00
David Vierra
d015d30228 add a function to expand a box to chunk boundaries 2011-08-21 07:28:03 -10:00
David Vierra
d2f6092b47 finally rename materials to alphaMaterials 2011-08-21 07:27:03 -10:00
David Vierra
7c000cf3b7 more accurate progress bars for light calc 2011-08-21 07:26:40 -10:00
David Vierra
deb20c8f13 there's no real need to regen the heightmap and fill skylight here, since MCEdit doesn't use setBlockAt by itself. 2011-08-21 07:26:23 -10:00
David Vierra
da98275cf8 if extractSchematicFromIter doesn't yield anything, then i won't be set 2011-08-19 14:40:12 -10:00
David Vierra
cab1900f1b move adjustExtractionParameters to schematic.py, remove some dead code, rearrange and regroup some base code, add # --- Outline Annotations --- visible in eclipse and maybe other editors 2011-08-17 19:28:19 -10:00
David Vierra
f165035cfa FakeChunk now inherits from EntityLevel, so it has getEntitiesInBox and other methods 2011-08-17 17:02:06 -10:00
David Vierra
827ed93e24 move getChunks up to MCLevel to be with the fake chunk interface 2011-08-17 15:07:03 -10:00
David Vierra
8fc517e375 reduce the input volume of these unit tests so they run in a second or less 2011-08-17 00:42:34 -10:00
David Vierra
74ad6ffd76 add material type to Schematic.__str__ 2011-08-17 00:42:12 -10:00
David Vierra
1d8d0c1541 re-encode Indev TileEntity positions, assuming the game will discard the Alpha x,y,z positions 2011-08-17 00:41:31 -10:00
David Vierra
2e21636b39 clear _fakeEntities when entities/tileentities are changed. could be better, but this is only used to update entity markers when editing indev levels... 2011-08-17 00:40:10 -10:00
David Vierra
be61c5c768 call the right pos() for the entity type...this is stinky 2011-08-17 00:27:59 -10:00
David Vierra
5ddcd6bb40 copyEntitiesFromInfiniteIter now accepts the 'entities' argument, telling it when to copy both entities and tileentities.... xxx find a way to compose functions that operate on chunk-slices 2011-08-17 00:27:26 -10:00
David Vierra
3cc5f77874 move the code for replacing existing tile entities from MCInfdevOldLevel to EntityLevel 2011-08-17 00:24:41 -10:00
David Vierra
99f20ebfc5 remove the automatic recompress in getChunkSlices to avoid decompress thrashing; xxx get to work on a LRU cache or something! 2011-08-16 15:16:49 -10:00
David Vierra
e4f522e2a2 add method addEntities() 2011-08-16 15:16:01 -10:00
David Vierra
d1ad50724a remove the explicit compress() because getChunkSlices() will call it 2011-08-16 13:40:51 -10:00
David Vierra
cb2dd8e746 raise PlayerNotFound when trying to get "Player" from a multiplayer world 2011-08-16 13:40:08 -10:00
David Vierra
f7122848ae only sanitize blocks on the first compress; don't decompress only to resanitize, since we assume the blocks haven't been touched if we're still compressed 2011-08-16 13:39:17 -10:00
David Vierra
2a4e0435a0 refactor base entity code into an EntityLevel subclass and derive Indev/Infdev levels and MCSchematic from it. remove the hasEntities flag. 2011-08-16 13:38:30 -10:00
David Vierra
9127ee0ff5 remove the unused entitiesAt 2011-08-15 19:04:30 -10:00
David Vierra
ae18928064 print a more informative keyerror 2011-08-15 19:03:00 -10:00