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

184
composer.lock generated
View File

@@ -4,21 +4,15 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "a570f76a4698742115ca4d1d4113a836",
"content-hash": "821a03243eb4b751e38ca3f8f063dd3e",
"packages": [
{
"name": "aternos/codex",
"version": "v4.1.0",
"name": "indifferentketchup/codex",
"version": "v0.2.0",
"source": {
"type": "git",
"url": "https://github.com/aternosorg/codex.git",
"reference": "2d0b1930464d9c5129e90c5e69314b1da22c7c4a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/aternosorg/codex/zipball/2d0b1930464d9c5129e90c5e69314b1da22c7c4a",
"reference": "2d0b1930464d9c5129e90c5e69314b1da22c7c4a",
"shasum": ""
"url": "https://git.indifferentketchup.com/indifferentketchup/ik-codex",
"reference": "2bd4fe6189c21be5b1fb03e8ac23b1a3c01d747c"
},
"require": {
"php": ">=8.4"
@@ -29,161 +23,31 @@
"type": "library",
"autoload": {
"psr-4": {
"Aternos\\Codex\\": "src/"
"IndifferentKetchup\\Codex\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Matthias Neid",
"email": "matthias@aternos.org"
}
],
"description": "PHP library to read, parse, print and analyse log files.",
"support": {
"issues": "https://github.com/aternosorg/codex/issues",
"source": "https://github.com/aternosorg/codex/tree/v4.1.0"
},
"time": "2026-01-21T14:12:19+00:00"
},
{
"name": "aternos/codex-hytale",
"version": "v2.0.0",
"source": {
"type": "git",
"url": "https://github.com/aternosorg/codex-hytale.git",
"reference": "9b48e2d0fa4b82a3f10c8833a766b7e76e233271"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/aternosorg/codex-hytale/zipball/9b48e2d0fa4b82a3f10c8833a766b7e76e233271",
"reference": "9b48e2d0fa4b82a3f10c8833a766b7e76e233271",
"shasum": ""
},
"require": {
"aternos/codex": "^v4.1.0",
"ext-json": "*",
"php": ">=8.4.0"
},
"require-dev": {
"phpunit/phpunit": "^12.4"
},
"type": "library",
"autoload": {
"autoload-dev": {
"psr-4": {
"Aternos\\Codex\\Hytale\\": "src/"
"IndifferentKetchup\\Codex\\Test\\Src\\": "test/src/",
"IndifferentKetchup\\Codex\\Test\\Tests\\": "test/tests/"
}
},
"notification-url": "https://packagist.org/downloads/",
"scripts": {
"test": [
"phpunit test/tests"
]
},
"license": [
"MIT"
],
"authors": [
{
"name": "Matthias",
"email": "matthias@aternos.org"
"name": "indifferentketchup",
"email": "samkintop@gmail.com"
}
],
"description": "PHP library to read, parse, print and analyse Hytale log files.",
"support": {
"issues": "https://github.com/aternosorg/codex-hytale/issues",
"source": "https://github.com/aternosorg/codex-hytale/tree/v2.0.0"
},
"time": "2026-01-23T12:25:09+00:00"
},
{
"name": "aternos/codex-minecraft",
"version": "v5.1.0",
"source": {
"type": "git",
"url": "https://github.com/aternosorg/codex-minecraft.git",
"reference": "f921d0277449af04a72c3dbb784e37b5fa4934b1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/aternosorg/codex-minecraft/zipball/f921d0277449af04a72c3dbb784e37b5fa4934b1",
"reference": "f921d0277449af04a72c3dbb784e37b5fa4934b1",
"shasum": ""
},
"require": {
"aternos/codex": "^v4.1.0",
"ext-json": "*",
"php": ">=8.4.0"
},
"require-dev": {
"phpunit/phpunit": "^12"
},
"type": "library",
"autoload": {
"psr-4": {
"Aternos\\Codex\\Minecraft\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Matthias",
"email": "matthias@aternos.org"
}
],
"description": "PHP library to read, parse, print and analyse Minecraft log files.",
"support": {
"issues": "https://github.com/aternosorg/codex-minecraft/issues",
"source": "https://github.com/aternosorg/codex-minecraft/tree/v5.1.0"
},
"time": "2026-03-30T18:21:47+00:00"
},
{
"name": "aternos/sherlock",
"version": "v1.1.3",
"source": {
"type": "git",
"url": "https://github.com/aternosorg/sherlock.git",
"reference": "2bfb6427790b24df860f20905b76f09978a7df3a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/aternosorg/sherlock/zipball/2bfb6427790b24df860f20905b76f09978a7df3a",
"reference": "2bfb6427790b24df860f20905b76f09978a7df3a",
"shasum": ""
},
"require": {
"ext-curl": "*",
"ext-simplexml": "*",
"ext-zlib": "*",
"php": ">=8.0"
},
"require-dev": {
"phpunit/phpunit": "^9.5"
},
"type": "library",
"autoload": {
"psr-4": {
"Aternos\\Sherlock\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Julian Vennen",
"email": "julian@aternos.org"
}
],
"description": "PHP library to apply minecraft mappings to log files",
"support": {
"issues": "https://github.com/aternosorg/sherlock/issues",
"source": "https://github.com/aternosorg/sherlock/tree/v1.1.3"
},
"time": "2026-02-09T10:37:21+00:00"
"description": "Generic PHP log parsing and analysis framework.",
"time": "2026-05-01T22:08:43+00:00"
},
{
"name": "mongodb/mongodb",
@@ -314,16 +178,16 @@
},
{
"name": "symfony/polyfill-php85",
"version": "v1.33.0",
"version": "v1.37.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php85.git",
"reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91"
"reference": "fcfa4973a9917cef23f2e38774da74a2b7d115ee"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php85/zipball/d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91",
"reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91",
"url": "https://api.github.com/repos/symfony/polyfill-php85/zipball/fcfa4973a9917cef23f2e38774da74a2b7d115ee",
"reference": "fcfa4973a9917cef23f2e38774da74a2b7d115ee",
"shasum": ""
},
"require": {
@@ -370,7 +234,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php85/tree/v1.33.0"
"source": "https://github.com/symfony/polyfill-php85/tree/v1.37.0"
},
"funding": [
{
@@ -390,7 +254,7 @@
"type": "tidelift"
}
],
"time": "2025-06-23T16:12:55+00:00"
"time": "2026-04-26T13:10:57+00:00"
}
],
"packages-dev": [],