Muirfield / pmimporter

PocketMine-MP map importer
27 stars 11 forks source link

Some Anvil and Chunk issues #3

Open ghost opened 9 years ago

ghost commented 9 years ago

well, i'm testing the new pmimporter features and got some issues...

first, Anvil format output are generating beautiful rainbow results based on level's light, some grass blocks turn black in some conversions, others not, (convertions of the exactly the same map, so this have own life), slabs and stairs are in wrong position, the console show errors and so on...

before: 1

after:

2

before: 3

after: 4

before: 5

after: 6

error: [Server thread/CRITICAL]: Could not tick level "out": Uninitialized string offset: 386 [Server thread/NOTICE]: StringOutOfBoundsException: "Uninitialized string offset: 386" (E_NOTICE) in "/src/pocketmine/level/format/anvil/ChunkSection" at line 140

[Server thread/DEBUG]: #0 /src/pocketmine/level/format/generic/BaseChunk(147): pocketmine\level\format\anvil\ChunkSection->getBlockLight(integer 4, integer 3, integer 0)
[Server thread/DEBUG]: #1 /src/pocketmine/level/Level(2087): pocketmine\level\format\generic\BaseChunk->getBlockLight(integer 4, integer 67, integer 0)
[Server thread/DEBUG]: #2 /src/pocketmine/level/Level(1308): pocketmine\level\Level->getBlockLightAt(integer -108, integer 67, integer 592)                                                                          
[Server thread/DEBUG]: #3 /src/pocketmine/level/Level(1295): pocketmine\level\Level->updateBlockLight(integer -108, integer 67, integer 592)
[Server thread/DEBUG]: #4 /src/pocketmine/level/Level(1438): pocketmine\level\Level->updateAllLight(pocketmine\block\Air Block[Air] (0:0)) 
[Server thread/DEBUG]: #5 /src/pocketmine/block/Block(582): pocketmine\level\Level->setBlock(pocketmine\block\Leaves Block[Jungle Leaves] (18:11), pocketmine\block\Air Block[Air] (0:0), boolean 1, boolean 1)
[Server thread/DEBUG]: #6 /src/pocketmine/level/Level(1597): pocketmine\block\Block->onBreak(pocketmine\item\ItemBlock Item Air (0:0)x0)
[Server thread/DEBUG]: #7 /src/pocketmine/block/Leaves(145): pocketmine\level\Level->useBreakOn(pocketmine\block\Leaves Block[Jungle Leaves] (18:3))                                                                
[Server thread/DEBUG]: #8 /src/pocketmine/level/Level(951): pocketmine\block\Leaves->onUpdate(integer 2)                                                                                           
[Server thread/DEBUG]: #9 /src/pocketmine/level/Level(719): pocketmine\level\Level->tickChunks(boolean)                 
[Server thread/DEBUG]: #10 /src/pocketmine/Server(2241): pocketmine\level\Level->doTick(integer 9682)
[Server thread/DEBUG]: #11 /src/pocketmine/Server(2399): pocketmine\Server->checkTickUpdates(integer 9682, double 1445623574.3679)
[Server thread/DEBUG]: #12 /src/pocketmine/Server(2139): pocketmine\Server->tick(boolean)
[Server thread/DEBUG]: #13 /src/pocketmine/Server(2017): pocketmine\Server->tickProcessor(boolean)
[Server thread/DEBUG]: #14 /src/pocketmine/Server(1618): pocketmine\Server->start(boolean)
[Server thread/DEBUG]: #15 /src/pocketmine/PocketMine(464): pocketmine\Server->__construct(pocketmine\CompatibleClassLoader object, pocketmine\utils\MainLogger object, string /mnt/local/bln/hub1/, string /mnt/local/bln/hub1/, string /mnt/local/bln/hub1/plugins/)       

second thing, seleting chunks to convert does not seem to work, using this:

./bin/php5/bin/php ./pmimporter.phar convert --rules="./rules.txt" --format="mcregion" --min-x="-242" --max-x="41" --min-z="341" --max-z="645" ./lobby/ ./exit/

output this:

No chunks selected to copy.

But that does not make sense, the coordinates are right, and without especifing max and min coordinates, the convertion happens without problems, maybe a issue with negative numbers? I haven't tested yet, or it's a sintax error in my command? (using quotes due to issues without then)

if i found more issues i will post here...

alejandroliu commented 9 years ago

Just to confirm. You are not using the --yoff option.

Also, the:

No chunks selected to copy.

What happens if you add the --clobber option?

ghost commented 9 years ago

Nop, i'm not using --yoff, and using I got this sometimes:

Fatal error: Call to a member function getValue() on double in phar:///pmimporter.phar/classlib/pmimporter/Shifter.php on line 77
16896 (-6,28) failed

And the world become unjoinable, freezing the mcpe client

Also, using --clobber the same mentioned above happens, "No chunks selected to copy" and with --no-clobber too, tested with another map, positive numbers, full path, no luck :/

alejandroliu commented 9 years ago

Are you using chunk numbers? i.e. x/16, z/16.

ghost commented 9 years ago

Just figured it out, I was using block, coordinates not chunk coordinates (x >> 4, z >> 4)... Now it worked :p

Really a error in my command...

So for now, Only the Anvil issue remains.