refactor: swap Aternos codex deps for IndifferentKetchup\Codex

Drops aternos/codex (and its codex-minecraft / codex-hytale satellites)
plus aternos/sherlock from composer.json. Adds indifferentketchup/codex
pinned to ^0.2.0, sourced via a Composer vcs repository pointing at the
Gitea-hosted ik-codex repo. composer.lock regenerated against the new
dep tree.

Re-points the seven Aternos\Codex\* import sites in src/ to their
IndifferentKetchup\Codex\* equivalents:
  - src/Log.php (5 imports)
  - src/Api/Response/CodexLogResponse.php (1 import)
  - src/Printer/Printer.php (5 imports)
  - src/Detective.php (rewritten — see below)

Stubs three sites that depend on Minecraft-specific code with no
analogue in IndifferentKetchup\Codex:

  - src/Detective.php no longer extends the Aternos Detective with
    Minecraft + Hytale satellites. Instead it extends our codex's
    Detective and registers ProjectZomboidDetective, which itself
    pre-registers all 11 PZ log subclasses.
  - src/Data/Deobfuscator.php is reduced to a no-op shell. mclogs used
    aternos/sherlock to fetch Mojang/Yarn obfuscation maps and
    deobfuscate Vanilla / Fabric stack traces. Project Zomboid uses no
    such mapping scheme; the deobfuscator returns null until iblogs
    supports Minecraft logs again. Class signature preserved so callers
    in src/Log.php and elsewhere don't break.
  - src/Printer/FormatModification.php no longer extends the Minecraft
    section-sign-code translator. It extends IndifferentKetchup\Codex's
    Modification base class with a pass-through modify() implementation.
    The format-* CSS color classes are retained for any future game's
    own format-code scheme to reuse.

Updates composer.json metadata: description rewritten to drop the
"Minecraft" framing, authors entry replaced with indifferentketchup /
samkintop@gmail.com.

Verification:
  composer update --ignore-platform-req=ext-frankenphp \
                  --ignore-platform-req=ext-mongodb
  -> resolves cleanly: 1 install (indifferentketchup/codex 0.2.0),
     4 removals (the aternos/* set).
  php -l on every touched file -> no syntax errors.
  Autoload smoke test -> Detective registers 11 PZ log classes;
     Printer instantiates; FormatModification stub returns input
     unchanged.
This commit is contained in:
2026-05-01 22:19:03 +00:00
parent 6724320c9a
commit 94326d5a19
8 changed files with 76 additions and 317 deletions

View File

@@ -1,10 +1,16 @@
{
"name": "indifferentketchup/iblogs",
"description": "Paste, share and analyse Minecraft logs",
"description": "Paste, share, and analyse game-server logs.",
"authors": [
{
"name": "Matthias Neid",
"email": "matthias@aternos.org"
"name": "indifferentketchup",
"email": "samkintop@gmail.com"
}
],
"repositories": [
{
"type": "vcs",
"url": "https://git.indifferentketchup.com/indifferentketchup/ik-codex"
}
],
"require": {
@@ -15,9 +21,7 @@
"ext-mongodb": "*",
"ext-uri": "*",
"ext-zlib": "*",
"aternos/codex-hytale": "^2.0",
"aternos/codex-minecraft": "^5.0.1",
"aternos/sherlock": "^1.0.2",
"indifferentketchup/codex": "^0.2.0",
"mongodb/mongodb": "2.1.2"
},
"autoload": {