iTXTech / Genisys

Feature-rich server software for Minecraft: Pocket Edition & Windows 10 Edition Beta
https://itxtech.org/genisys/
GNU General Public License v3.0
431 stars 246 forks source link

MCAnvil Crash #582

Closed SuperAlecs closed 8 years ago

SuperAlecs commented 8 years ago

Issue description

i load my server with mca world but player come in ,the server crash

Steps to reproduce the issue

  1. ...
  2. ...

    OS and versions

Error: Argument 1 passed to pocketmine\item\Item::__construct() must be of the type integer, string given, called in /home/superpixels/pmserver/src/pocketmine/item/Item.php on line 1171 File: /src/pocketmine/item/Item Line: 1209 Type: notice

Code: [1200] } [1201] }else{ [1202] $item = self::get($b[0] & 0xFFFF, $meta); [1203] } [1204] [1205] return $item; [1206] } [1207] } [1208] [1209] public function __construct(int $id, $meta = 0, int $count = 1, string $name = "Unknown"){ [1210] $this->id = $id & 0xffff; [1211] $this->meta = $meta !== null ? $meta & 0xffff : null; [1212] $this->count = $count; [1213] $this->name = $name; [1214] if(!isset($this->block) and $this->id <= 0xff and isset(Block::$list[$this->id])){ [1215] $this->block = Block::get($this->id, $this->meta); [1216] $this->name = $this->block->getName(); [1217] } [1218] } [1219]

Backtrace:

0 /src/pocketmine/nbt/NBT(111): pocketmine\item\Item::get(string minecraft:sapling, integer 0, integer 1)

1 /src/pocketmine/entity/Item(77): pocketmine\nbt\NBT::getItemHelper(pocketmine\nbt\tag\CompoundTag pocketmine\nbt\tag\CompoundTag{.pocketmine\nbt\tag\StringTag:minecraft:sapling.pocketmine\nbt\tag\ByteTag:1.pocketmine\nbt\tag\ShortTag:0.})

2 /src/pocketmine/entity/Entity(283): pocketmine\entity\Item->initEntity(boolean)

3 /src/pocketmine/entity/Entity(445): pocketmine\entity\Entity->__construct(pocketmine\level\format\anvil\Chunk object, pocketmine\nbt\tag\CompoundTag pocketmine\nbt\tag\CompoundTag{.pocketmine\nbt\tag\EnumTag:pocketmine\nbt\tag\EnumTag{.pocketmine\nbt\tag\DoubleTag:-4.9406564584125E-324.pocketmine\nbt\tag\DoubleTag:-0.pocketmine\nbt\tag\DoubleTag:0.}.pocketmine\nbt\tag\LongTag:-6226086738619934629.pocketmine\nbt\tag\ShortTag:5.pocketmine\nbt\tag\ByteTag:0.pocketmine\nbt\tag\ShortTag:300.pocketmine\nbt\tag\ByteTag:1.pocketmine\nbt\tag\IntTag:0.pocketmine\nbt\tag\IntTag:0.pocketmine\nbt\tag\EnumTag:pocketmine\nbt\tag\EnumTag{.pocketmine\nbt\tag\FloatTag:8.7458982467651.pocketmine\nbt\tag\FloatTag:0.}.pocketmine\nbt\tag\FloatTag:0.pocketmine\nbt\tag\CompoundTag:pocketmine\nbt\tag\CompoundTag{.pocketmine\nbt\tag\StringTag:minecraft:sapling.pocketmine\nbt\tag\ByteTag:1.pocketmine\nbt\tag\ShortTag:0.}.pocketmine\nbt\tag\LongTag:6922996776599243565.pocketmine\nbt\tag\EnumTag:pocketmine\nbt\tag\EnumTag{.pocketmine\nbt\tag\DoubleTag:34.994792483331.pocketmine\nbt\tag\DoubleTag:68.pocketmine\nbt\tag\DoubleTag:16.875.}.pocketmine\nbt\tag\ShortTag:0.pocketmine\nbt\tag\ShortTag:65535.pocketmine\nbt\tag\StringTag:Item.pocketmine\nbt\tag\ShortTag:2579.})

4 /src/pocketmine/level/format/generic/BaseFullChunk(148): pocketmine\entity\Entity::createEntity(string Item, pocketmine\level\format\anvil\Chunk object, pocketmine\nbt\tag\CompoundTag pocketmine\nbt\tag\CompoundTag{.pocketmine\nbt\tag\EnumTag:pocketmine\nbt\tag\EnumTag{.pocketmine\nbt\tag\DoubleTag:-4.9406564584125E-324.pocketmine\nbt\tag\DoubleTag:-0.pocketmine\nbt\tag\DoubleTag:0.}.pocketmine\nbt\tag\LongTag:-6226086738619934629.pocketmine\nbt\tag\ShortTag:5.pocketmine\nbt\tag\ByteTag:0.pocketmine\nbt\tag\ShortTag:300.pocketmine\nbt\tag\ByteTag:1.pocketmine\nbt\tag\IntTag:0.pocketmine\nbt\tag\IntTag:0.pocketmine\nbt\tag\EnumTag:pocketmine\nbt\tag\EnumTag{.pocketmine\nbt\tag\FloatTag:8.7458982467651.pocketmine\nbt\tag\FloatTag:0.}.pocketmine\nbt\tag\FloatTag:0.pocketmine\nbt\tag\CompoundTag:pocketmine\nbt\tag\CompoundTag{.pocketmine\nbt\tag\StringTag:minecraft:sapling.pocketmine\nbt\tag\ByteTag:1.pocketmine\nbt\tag\ShortTag:0.}.pocketmine\nbt\tag\LongTag:6922996776599243565.pocketmine\nbt\tag\EnumTag:pocketmine\nbt\tag\EnumTag{.pocketmine\nbt\tag\DoubleTag:34.994792483331.pocketmine\nbt\tag\DoubleTag:68.pocketmine\nbt\tag\DoubleTag:16.875.}.pocketmine\nbt\tag\ShortTag:0.pocketmine\nbt\tag\ShortTag:65535.pocketmine\nbt\tag\StringTag:Item.pocketmine\nbt\tag\ShortTag:2579.})

5 /src/pocketmine/level/Level(2687): pocketmine\level\format\generic\BaseFullChunk->initChunk(boolean)

6 /src/pocketmine/level/Level(660): pocketmine\level\Level->loadChunk(integer 2, integer 1)

7 /src/pocketmine/Player(856): pocketmine\level\Level->registerChunkLoader(pocketmine\Player Player(653), integer 2, integer 1, boolean 1)

8 /src/pocketmine/Player(2078): pocketmine\Player->sendNextChunk(boolean)

9 /src/pocketmine/Server(2928): pocketmine\Player->checkNetwork(boolean)

10 /src/pocketmine/Server(2618): pocketmine\Server->tick(boolean)

11 /src/pocketmine/Server(2496): pocketmine\Server->tickProcessor(boolean)

12 /src/pocketmine/Server(2029): pocketmine\Server->start(boolean)

13 /src/pocketmine/PocketMine(465): pocketmine\Server->__construct(pocketmine\CompatibleClassLoader object, pocketmine\utils\MainLogger object, string

gaoyichuan commented 8 years ago

I think this is already fixed. Try the latest version on Jenkins

SuperAlecs commented 8 years ago

No, it doesn't

gaoyichuan commented 8 years ago

It should. Since pocketmine\item\Item::get() can accept string parameter now. @PeratX made that