raw = $raw; } public function hasColour(): bool { return $this->raw !== null; } public function getRaw(): int { return $this->raw ?? 0; } public function getRed(): int { return ($this->getRaw() >> 16) & 0xFF; } public function getGreen(): int { return ($this->getRaw() >> 8) & 0xFF; } public function getBlue(): int { return $this->getRaw() & 0xFF; } public function getHex(): string { return str_pad(dechex($this->getRaw()), 6, '0'); } public function getCSS(): string { if(!$this->hasColour()) return 'inherit'; return '#' . $this->getHex(); } }