diff --git a/src/pocketmine/Player.php b/src/pocketmine/Player.php index c3fa1723f..268084c6d 100644 --- a/src/pocketmine/Player.php +++ b/src/pocketmine/Player.php @@ -2645,8 +2645,6 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{ break; } - $this->resetCraftingGridType(); - $this->server->getPluginManager()->callEvent($ev = new PlayerRespawnEvent($this, $this->getSpawn())); $realSpawn = Position::fromObject($ev->getRespawnPosition()->add(0.5, 0, 0.5), $ev->getRespawnPosition()->getLevel()); @@ -3552,6 +3550,10 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{ break; } + //Crafting grid must always be evacuated even if keep-inventory is true. This dumps the contents into the + //main inventory and drops the rest on the ground. + $this->resetCraftingGridType(); + $this->server->getPluginManager()->callEvent($ev = new PlayerDeathEvent($this, $this->getDrops(), new TranslationContainer($message, $params))); if(!$ev->getKeepInventory()){