NetherGamesMC / PocketMine-MP

A multi protocol server software for Minecraft: Bedrock Edition in PHP
https://pmmp.io
GNU Lesser General Public License v3.0
78 stars 97 forks source link

Crash caused by piggycrate #345

Closed scamaccas closed 1 year ago

scamaccas commented 1 year ago

THIS CRASH WAS CAUSED BY A PLUGIN BAD PLUGIN: PiggyCrates

Error: Declaration of DaPigGuy\PiggyCrates\tiles\CrateTile::addAdditionalSpawnData(pocketmine\nbt\tag\CompoundTag $nbt): void must be compatible with pocketmine\block\tile\EnderChest::addAdditionalSpawnData(pocketmine\nbt\tag\CompoundTag $nbt, pocketmine\network\mcpe\convert\TypeConverter $typeConverter): void
File: plugins/PiggyCrates_v3.0.2/src/DaPigGuy/PiggyCrates/tiles/CrateTile

Line: 155
Type: E_COMPILE_ERROR
Backtrace:

Code:
[146]     {
[147]         return $this->isOpen;
[148]     }
[149] 
[150]     public function getCurrentPlayer(): ?Player
[151]     {
[152]         return $this->currentPlayer;
[153]     }
[154] 
[155]     public function addAdditionalSpawnData(CompoundTag $nbt): void
[156]     {
[157]         parent::addAdditionalSpawnData($nbt);
[158]         $nbt->setString(self::TAG_ID, "Ender Chest");
[159]         $nbt->setString(self::TAG_CUSTOM_NAME, ($this->crateType === null ? "Unknown" : $this->crateType->getName()) . " Crate");
[160]     }
[161] 
[162]     public function onUpdate(): bool
[163]     {
[164]         if (!$this->closed && $this->crateType !== null && $this->crateType->getFloatingText() !== "") {
[165]             $world = $this->getPosition()->getWorld();

if i use pmmp it works fine, but when i use ngpm the plugin get crashed. pls help

Blackjack200 commented 1 year ago

You need to read the output carefully and change the method's signature to the correct one.

dries-c commented 1 year ago

You've to change the plugin in order for it to work