Skip to content

Commit d070e26

Browse files
committed
Change data encapsulation
1 parent d32638e commit d070e26

File tree

2 files changed

+15
-14
lines changed

2 files changed

+15
-14
lines changed

src/MinecraftQueryResolver.php

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -51,20 +51,7 @@ public static function fromAddress(string $host, $timeout = 2, $resolveSRV = tru
5151
*/
5252
public function getResult(): MinecraftQueryResult
5353
{
54-
if ($this->rawData === null) {
55-
$this->retrieveData();
56-
}
57-
58-
return new MinecraftQueryResult(
59-
isset($this->rawData['version']['name']) ? $this->rawData['version']['name'] : 'Unknown version',
60-
isset($this->rawData['version']['protocol']) ? (int) $this->rawData['version']['protocol'] : 0,
61-
isset($this->rawData['players']['online']) ? (int) $this->rawData['players']['online'] : 0,
62-
isset($this->rawData['players']['max']) ? (int) $this->rawData['players']['max'] : 0,
63-
isset($this->rawData['players']['sample']) ? (array) $this->rawData['players']['sample'] : [],
64-
isset($this->rawData['description']['text']) ? (string) $this->rawData['description']['text'] : '',
65-
$this->rawData['latency'],
66-
isset($this->rawData['favicon']) ? (string) $this->rawData['favicon'] : null,
67-
);
54+
return MinecraftQueryResult::fromRawData($this->getRawData());
6855
}
6956

7057
/**

src/MinecraftQueryResult.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,4 +89,18 @@ public function getLatency(): int
8989
{
9090
return $this->latency;
9191
}
92+
93+
public static function fromRawData(array $rawData): self
94+
{
95+
return new MinecraftQueryResult(
96+
isset($rawData['version']['name']) ? $rawData['version']['name'] : 'Unknown version',
97+
isset($rawData['version']['protocol']) ? (int) $rawData['version']['protocol'] : 0,
98+
isset($rawData['players']['online']) ? (int) $rawData['players']['online'] : 0,
99+
isset($rawData['players']['max']) ? (int) $rawData['players']['max'] : 0,
100+
isset($rawData['players']['sample']) ? (array) $rawData['players']['sample'] : [],
101+
isset($rawData['description']['text']) ? (string) $rawData['description']['text'] : '',
102+
$rawData['latency'],
103+
isset($rawData['favicon']) ? (string) $rawData['favicon'] : null
104+
);
105+
}
92106
}

0 commit comments

Comments
 (0)