Skip to content

v26.1-Alpha.8 — Dynamic hook API

Pre-release
Pre-release

Choose a tag to compare

@StarsailsClover StarsailsClover released this 05 Sep 09:50
· 3 commits to v26.1 since this release
v26.1-Alpha.8
031923d

BCDebugJavaAgent v26.1-Alpha.8

Pre-Release — Alpha builds are functional but unstable. Do not run in production environments.

Highlights

Dynamic hook API — plant an observation point into a RUNNING game with
one request:

POST /hooks/add?class=aqu&method=a&desc=(Ljava/util/function/BooleanSupplier;)V&level=INFO
-> {"hook":"aqu#a(...)V","retransformed":1,"failed":0}
GET  /hooks/list  -> ["aqu#a(...)V", ...]
POST /hooks/clear -> {"removed":1}
  • Hooks authored directly in RUNTIME names (no mapping translation — the
    operator speaks the runtime's language, e.g. obfuscated names obtained via
    /classes); generic callback logs invocations with argument count at the
    requested level.
  • Registration retransform-classes the already-loaded target; the existing
    injection tracker guarantees no double injection.
  • Cleared hooks leave injected bytecode that safely no-ops (registry miss).
  • All three operations audited; available on both control-plane frontends.

Validation

Live on MC 1.21.1 dedicated server (obfuscated jar):

ADD-aqu: retransformed=1, failed=0
INFO RuntimeHook aqu#a args=1        ← firing at 20 TPS on the hot class
LIST / CLEAR: lifecycle complete

(An idle-method target — brigadier canRead on a Done-idle server —
correctly produced no fires; execution, not injection, was the limiter.)

56 unit tests green (runtime hook lifecycle + cleared-dispatch no-op).

Build Information

Item Value
Artifact bcdebug-javaagent-v26.1-Alpha.8.jar (bytecode 52 — JDK 8+)
Commit 031923d (SSH-signed, Verified)
Tag v26.1-Alpha.8 (SSH-signed, Verified)

安装说明(中文)

  1. 下载 bcdebug-javaagent-v26.1-Alpha.8.jar。
  2. 运行中植入观测点:POST /hooks/add?class=<运行时名>&method=<名>&desc=<描述符>&level=INFO。
  3. /hooks/list 查看;/hooks/clear 一键清除(旧调用点自动空转)。
  4. Alpha 版本不稳定,请勿用于生产环境。

MIT License — Copyright (c) 2026 BlockConnect