Skip to content

Commit 1718d70

Browse files
committed
[sync] Update embedded LibCommand from standalone
1 parent 2431a0c commit 1718d70

1 file changed

Lines changed: 19 additions & 5 deletions

File tree

src/imperazim/command/LibCommandInterceptor.php

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,16 @@ public function handle($packet, $session): bool {
6363
self::$processedPackets[$packetId] = true;
6464

6565
$server = Server::getInstance();
66-
$disassembled = AvailableCommandsPacketDisassembler::disassemble($packet);
66+
$logger = $server->getLogger();
67+
68+
try {
69+
$disassembled = AvailableCommandsPacketDisassembler::disassemble($packet);
70+
} catch (\Throwable $e) {
71+
$logger->warning("[LibCommand] Failed to disassemble packet: " . $e->getMessage());
72+
return true;
73+
}
6774
$commandDataList = $disassembled->commandData;
68-
75+
6976
foreach($commandDataList as $index => $commandData) {
7077
$cmd = $server->getCommandMap()->getCommand($commandData->getName());
7178
if (!($cmd instanceof Command)) {
@@ -81,13 +88,20 @@ public function handle($packet, $session): bool {
8188
}
8289

8390
// Rebuild command UI
84-
$commandData->overloads = $this->getOverloads($player, $cmd);
91+
$overloads = $this->getOverloads($player, $cmd);
92+
$logger->debug("[LibCommand] Command '{$commandData->getName()}' overloads: " . count($overloads) . ", args: " . count($cmd->getArguments()));
93+
$commandData->overloads = $overloads;
8594
}
8695

8796
// Send modified packet
88-
$modifiedPacket = AvailableCommandsPacketAssembler::assemble($commandDataList, [], CommandEnumManager::getEnums());
97+
try {
98+
$modifiedPacket = AvailableCommandsPacketAssembler::assemble(array_values($commandDataList), [], CommandEnumManager::getEnums());
99+
} catch (\Throwable $e) {
100+
$logger->warning("[LibCommand] Failed to assemble packet: " . $e->getMessage());
101+
return true;
102+
}
89103
self::$processedPackets[spl_object_id($modifiedPacket)] = true;
90-
104+
91105
$session->sendDataPacket($modifiedPacket);
92106

93107
// Clean up old packet ID from tracking

0 commit comments

Comments
 (0)