Где тут ошибка mm?

public function onJoin(PlayerJoinEvent $event){
    $player = $event->getPlayer();
    $name = $player->getName();
    switch($player->getDeviceOs()){ 
        case 1: case 2: //Android, IOS
            $nametag = "[Mobile] {$name}";
        break;
        case 7: case 8: //Windows
            $nametag = "[PC] {$name}";
        break;
        default: $nametag = "[GP] {$name}";
    }
    $player->setNameTag($nametag);
}

public function onPacketReceive(DataPacketReceiveEvent $event){
    $packet = $event->getPacket();
    if($packet instanceof LoginPacket){
        $player = $event->getPlayer();
        $name = $player->getName();
        if($packet->clientData['InputMode'] == 3){
            $player->setNameTag("[GP] {$name}");
        }
    }
}

[10:30:27] [Airan/CRITICAL]: ParseError: “syntax error,
unexpected token “public”, expecting end of file” (EXCEP
TION) in “plugins/TAGS/src/TAGS/Main” at line 8
[10:30:27] [Airan/CRITICAL]: #0 pmsrc/src/spl/BaseClassL
oader(117): BaseClassLoader->loadClass(string[9] TAGS\Ma
in)
[10:30:27] [Airan/CRITICAL]: #1 (): BaseClassLoader->{cl
osure}(string[9] TAGS\Main)
[10:30:27] [Airan/CRITICAL]: #2 pmsrc/src/pocketmine/plu
gin/FolderPluginLoader(75): class_exists(string[9] TAGS
Main, boolean 1)
[10:30:27] [Airan/CRITICAL]: #3 pmsrc/src/pocketmine/plu
gin/PluginManager(158): pocketmine\plugin\FolderPluginLo
ader->loadPlugin(string[23] /root/serv/plugins/TAGS)
[10:30:27] [Airan/CRITICAL]: #4 pmsrc/src/pocketmine/plu
gin/PluginManager(346): pocketmine\plugin\PluginManager-

loadPlugin(string[23] /root/serv/plugins/TAGS, array[3]
)
[10:30:27] [Airan/CRITICAL]: #5 pmsrc/src/pocketmine/Ser
ver(1841): pocketmine\plugin\PluginManager->loadPlugins(
string[19] /root/serv/plugins/)
[10:30:27] [Airan/CRITICAL]: #6 pmsrc/src/pocketmine/Poc
ketMine(239): pocketmine\Server->__construct(object Base
ClassLoader, object pocketmine\utils\MainLogger, string[
11] /root/serv/, string[19] /root/serv/plugins/)
[10:30:27] [Airan/EMERGENCY]: Произошла фатальная ошибка
и сервер вышел из строя. Создание аварийного дампа
[10:30:27] [Airan/EMERGENCY]: Пожалуйста, загрузите файл
“/root/serv/crashdumps/CrashDump-Mon_Jan_16-10.30.27-MSK
_2023.log” в краш-архив и отправьте ссылку на страницу и
справления ошибок. Дайте как можно больше информации.

Восьмая линия это в коде первая.

public function onJoin(PlayerJoinEvent $event)

Ты склеил код из того что тебе дали и думаешь что оно заработает?

Просто найми нормального кодера который сделает тебе плагин и не еби никому мозг.

А кинуть код целиком нельзя?

Боже, чел на… Не еби себе мозги
Tags.zip (1,2 КБ)

(Жду решение)

Он в школе

default: $nametag = “[GP] {$name}”;

даун?

В отличие о тебя нет, я его оставил просто так чтобы он сам разобрался

тогда значит что ты не решил его задачу?

90 на 10