Example #1
0
    def testServerGen(self):
        gen = MCServerChunkGenerator()
        print("Version: ", gen.serverVersion)

        level = self.alphalevel.level

        gen.generateChunkInLevel(level, 50, 50)
        gen.generateChunksInLevel(level, [(120, 50), (121, 50), (122, 50), (123, 50), (244, 244), (244, 245), (244, 246)])
        c = level.getChunk(50, 50)
        assert c.Blocks.any()
Example #2
0
    def testServerGen(self):
        gen = MCServerChunkGenerator()
        print("Version: ", gen.serverVersion)

        level = self.alphalevel.level

        gen.generateChunkInLevel(level, 50, 50)
        gen.generateChunksInLevel(level, [(120, 50), (121, 50), (122, 50),
                                          (123, 50), (244, 244), (244, 245),
                                          (244, 246)])
        c = level.getChunk(50, 50)
        assert c.Blocks.any()
def perform(level, box, options):
	level17 = level
	
	log = getLogFile()
	
	log.write("Filter starting...\n")
	log.flush()
	
	seed = level.RandomSeed
	chunks = []
	workDir = options[workDirLabel]
	mkdir_p(workDir)
	level18 = MCInfdevOldLevel(workDir + "/" + str(seed), True, seed)
	
	log.write("Calculating chunk coordinates\n")
	log.flush()
	for cx in range(box.minx >> 4, (box.maxx >> 4) + 1):
	    for cz in range(box.minz >> 4, (box.maxz >> 4) + 1):
	    	if level.containsChunk(cx, cz):
	    		chunks.append((cx, cz))
	
	generator = MCServerChunkGenerator("Release 14w03b")
	log.write("Generating chunks\n")
	log.write(str(chunks) + "\n");
	log.flush()
	generator.generateChunksInLevel(level18, chunks)
	log.write("Done generating chunks\n")
	log.flush()
	
	stoneId = 1
	smoothStone = 0
	stoneVariants = [1, 3, 5]
	
	log.write("Checking each block\n")
	log.flush()
	for x in (box.minx, box.maxx):
	    for y in (box.miny, box.maxy):
	        for z in (box.minz, box.maxz):
	        	block18 = blockAt(level18, x, y, z)
	        	data18 = dataAt(level18, x, y, z)
	        	if (block18 == stoneId and data18 in stoneVariants):
	        		block17 = blockAt(level17, x, y, z)
	        		data17 = dataAt(level17, x, y, z)
	        		if (block17 == stoneId and data17 == smoothStone):
	        		    setDataAt(level17, x, y, z, data18)