Initial import from aternosorg/codex-minecraft
Some checks failed
Tests / Run tests on PHP v8.4 (push) Failing after 32s
Tests / Run tests on PHP v8.5 (push) Failing after 2s

This commit is contained in:
2026-04-30 09:56:57 -05:00
commit 7c7fe5ca80
94 changed files with 7003 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
<?php
namespace Aternos\Codex\Detective;
/**
* Class LinePatternDetector
*
* @package Aternos\Codex\Detective
*/
class LinePatternDetector extends PatternDetector
{
/**
* Detect if the log matches
*
* Counts the lines matching the pattern and returns the percentage from 0-1 for the detective
*
* Returns false when no match is found
*
* @return bool|float
*/
public function detect(): bool|float
{
$lines = $this->getLogContentAsArray();
$matchingCounter = 0;
foreach ($lines as $line) {
if (preg_match($this->pattern, $line) === 1) {
$matchingCounter++;
}
}
if ($matchingCounter === 0) {
return false;
}
return $matchingCounter / count($lines);
}
}