BlueFoundation-Common is the platform-agnostic core every other module depends on. You don't usually declare it directly - Gradle/Maven pull it in transitively when you depend on BlueFoundation, BlueFoundation-Velocity, BlueFoundation-BungeeCord or BlueFoundation-Hytale.
It holds the pieces that have nothing to do with any specific server/proxy API:
- Dependencies core - the Maven artifact downloader and classloader injector behind
BlueFoundation.Dependencieson every platform. See Runtime dependencies. - Config engine - the YAML/TOML/JSON parsing, diffing and update-policy logic behind
BlueFoundation.Configs. See Configs. - Text engine - BlueFoundation's own component tree (
BfComponent/BfStyle/BfColor), a hand-rolled MiniMessage parser, and legacy/plain serializers. This is whatBlueFoundation.Textparses through on every platform, and what each platform'sMessages/Items/rendering code converts into that platform's own text type (AdventureComponent, BungeeCordBaseComponent[], HytaleMessage). Legacy&/§input and MiniMessage tags both resolve to the same styling here, so there's no separate "legacy mode" to think about.
Generic reflection helpers (classExists/findClass/method/field) are duplicated per platform module rather than shared, since each platform's Reflection.craftBukkitClass-style extras (where they exist) are platform-specific anyway.