Assuming your server saves player data, I suggest checking Player->hasPlayedBefore() in an event listener of PlayerJoinEvent: Example: PHP: function onPlayerJoin(\pocketmine\event\player\PlayerJoinEvent $event): void{ if(!$event->getPlayer()->hasPlayedBefore()){ $item = \pocketmine\item\ItemFactory::get(\pocketmine\item\Item::STONE); $event->getPlayer()->getInventory()->addItem($item); }}