If you were to save the inventory, I'd just do it on Inventory events, so it isn't running a player check every time any player moves. Since you haven't mentioned whether you found a solution or not: PlayerDeathEvent setKeepInventory function.
PHP: public function death(PlayerDeathEvent $e) { if($e->getPlayer()->getName() == "name") { $e->setKeepInventory(true); }}
You'll be better off doing as I suggested. WorldProtect with game-save-inv set to 'true' saves survival inventory data to player dat files.