Package de.griefed.serverpackcreator.api.modscanning
Works out which mods are client-only so they can be left out of the server pack.
Each modloader stores its mod-metadata differently, so there's one scanner per loader, all reachable through a single facade.
ModScanner— the one-stop entry point:scannerFor(modloader, minecraftVersion)answers the scanner that reads what that loader read at that point in its history, so callers pick the right one without knowing the details.ModJarScanner— the common interface every scanner implements.LoaderDescriptors— which descriptor file evidences a loader on a given Minecraft version, and the era boundaries behind it. The single home for that knowledge:scannerFordispatches through it, and it is what-clientside's pre-boot loader gate asks instead of keeping its own copy.FabricScanner— readsfabric.mod.json.QuiltScanner— readsquilt.mod.json.QuiltPackScannermerges the Fabric descriptor most Quilt mods also ship;FabricFamilyScanneris the shared base of the two.ForgeAnnotationScanner— readsMETA-INF/fml_cache_annotation.json(Forge before Minecraft 1.13).ForgeTomlScanner— readsMETA-INF/mods.toml(Forge from 1.13, and NeoForge before 1.20.5).NeoForgeTomlScanner— readsMETA-INF/neoforge.mods.toml(NeoForge from 1.20.5).JsonDescriptorScanner— shared helper code for the JSON-based scanners (Fabric/Quilt).ScannedMod— one scanned jar: its id, what it provides, its dependencies and its declared Minecraft range.MissingDescriptorException— thrown when a jar carries no descriptor to read.
See: Description
-
Class Summary Class Description FabricFamilyScanner Base for the two scanners reading a Fabric-format descriptor: Fabric's own fabric.mod.jsonand thequilt.mod.jsonQuilt derived from it.FabricScanner fabric.mod.json-based scanning of Fabric-Minecraft mods.ForgeAnnotationScanner fml-cache-annotation.json-based scanning of Forge-Minecraft mods of older versions.ForgeTomlScanner mods.toml-based scanning of Forge-Minecraft mods for Minecraft 1.16.5 and newer.JsonDescriptorScanner Base for scanners whose descriptor is JSON: adds Jackson reading to the per-jar failure handling of DescriptorScanner, so subclasses implement read for a single jar and may throw freely. MissingDescriptorException A jar does not contain the descriptor a scanner reads. DescriptorScanner Base for scanners that read one descriptor file out of each jar, owning the part every one of them shares: walk the jars, and turn any failure on a single jar into that jar's default ScannedMod instead of letting it abort the scan. ModScanner Brings the per-loader mod-scanners to one place, and owns the rule for choosing between them. NeoForgeTomlScanner META-INF/neoforge.mods.toml-based scanning of NeoForge mods for Minecraft 1.20.QuiltPackScanner The scanner for a Quilt pack, which is not one descriptor format but two: Quilt runs Fabric mods, so a jar in a Quilt pack may carry a quilt.mod.json, afabric.mod.json, or both.QuiltScanner quilt.mod.json-based scanning of Quilt-Minecraft mods.ScannedMod What one scanner made of one mod jar: which side it belongs on, and what it declared it needs. ModDependency A mod named as a dependency by another, and the side that dependency is needed on. -
Object Summary Object Description LoaderDescriptors Which descriptor file a modloader reads, at a given Minecraft version. -
Interface Summary Interface Description ModJarScanner Reads mod jars and reports what each one declared about the side it belongs on. -
Enum Summary Enum Description Sideness Which side of a Minecraft install a mod belongs on.