Package-level declarations
Types
How every file this mod writes is published: built under a staging name, then renamed into place. Its readers decide by existence — a cache hit, a config file — so a path must never hold a half-written file; and the cache files stay OPEN for the process (the masking loader's urls, the symbol jars the compiler indexes), so a rewrite must not truncate what a reader still holds.
One MCP per game dir — the cross-process half of CommonClass's in-JVM claim. Two instances sharing a cache dir rewrite each other's jars while the other still holds them open, so the loser starts nothing.
Props' lowest-priority source: a JSON object whose keys ARE the -D property names, so the flag tables in the README are its whole schema and there is no second vocabulary to keep in step.
One setting, resolved across three sources and then parsed: -D beats the environment beats ConfigFile — explicit for this launch, then ambient, then persisted. At every source a value that trims to empty counts as unset and falls through, so a blank env var (what an unrendered compose template leaves behind) cannot shadow the file.