AccessRegistry

Runtime access-widening requests from TypeScript (ratph6.tessera.api.AccessWidener). Like Fabric's static access widener, but applied live by MixinTransformer when a class is (re)loaded — so scripts can open up private/final Minecraft members on demand.

Indexed by internal class name (net/minecraft/...) so the transformer can find what to widen. Entries carry their owning module so a /te reload or unload drops them.

Caveat (enforced by the JVM, not us): modifier changes are only legal while a class is being defined. A widening registered before its class loads takes effect; one registered after the class is already loaded cannot be retro-applied this session (see MixinManager).

Types

Link copied to clipboard
Link copied to clipboard
data class Widen(val targetBinary: String, val targetInternal: String, val kind: AccessRegistry.Kind, val member: String?, val descriptor: String?, val module: TesseraModule?)

Functions

Link copied to clipboard
fun add(targetBinary: String, kind: AccessRegistry.Kind, member: String?, descriptor: String?, module: TesseraModule?): AccessRegistry.Widen
Link copied to clipboard
fun clear(): Set<String>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun removeModule(moduleName: String): Set<String>