AI Slop Code RIsk Monitor

HMCL-dev/HMCL

A Minecraft Launcher which is multi-functional, cross-platform and popular

68.9 High pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for HMCL-dev/HMCL, a Java project with 10,215 GitHub stars. SynthScan examined 220,799 lines of code across 1131 source files, recording 1423 pattern matches distributed across 2 syntactic categories. The legacy adjusted pattern signal is 68.9 (High pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

68.9
Adjusted Signal
68.9
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
10.2K
Stars
Java
Language
220.8K
Lines of Code
1.1K
Files
1.4K
Pattern Hits
2026-10-12
Scan Date
1.12
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 3.5/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 160 finding(s).

Hallucinated Dependency & Supply Chain Risk 96.7/100 · CRITICAL

Are imports declared and package/API names verified? 1263 finding(s).

Agent Over-Engineering Ratio 0.0/100 · LOW

Are wrappers, guards, and repeated structures necessary? 0 finding(s).

PR Review Velocity Impact 94.5/100 · CRITICAL

Which changes need focused human review? 1423 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 1263HIGH 0MEDIUM 0LOW 160

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 1423 distinct pattern matches across 2 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hallucination Indicators1263 hits · 15048 pts
SeverityFileLineSnippetContext
CRITICAL…re/src/test/resources/crash-report/graphics_driver.txt17 at net.minecraft.client.main.Main.main(SourceFile:148)CODE
CRITICAL…re/src/test/resources/crash-report/graphics_driver.txt44 at net.minecraft.client.main.Main.main(SourceFile:148)CODE
CRITICAL⚡…c/test/resources/crash-report/loading_error_fabric.txt8 at net.fabricmc.loader.entrypoint.minecraft.hooks.EntrypointUtils.invoke0(EntrypointUtils.java:50)CODE
CRITICAL⚡…c/test/resources/crash-report/loading_error_fabric.txt9 at net.fabricmc.loader.entrypoint.minecraft.hooks.EntrypointUtils.invoke(EntrypointUtils.java:33)CODE
CRITICAL⚡…c/test/resources/crash-report/loading_error_fabric.txt10 at net.fabricmc.loader.entrypoint.minecraft.hooks.EntrypointClient.start(EntrypointClient.java:33)CODE
CRITICAL⚡…c/test/resources/crash-report/loading_error_fabric.txt12 at net.minecraft.client.main.Main.main(Main.java:179)CODE
CRITICAL⚡…c/test/resources/crash-report/loading_error_fabric.txt17 at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:234)CODE
CRITICAL⚡…c/test/resources/crash-report/loading_error_fabric.txt18 at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:153)CODE
CRITICAL⚡…c/test/resources/crash-report/loading_error_fabric.txt19 at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28)CODE
CRITICAL⚡…c/test/resources/crash-report/loading_error_fabric.txt22 at net.fabricmc.loader.entrypoint.minecraft.hooks.EntrypointUtils.invoke0(EntrypointUtils.java:47)CODE
CRITICAL⚡…c/test/resources/crash-report/loading_error_fabric.txt32 at net.fabricmc.loader.entrypoint.minecraft.hooks.EntrypointUtils.invoke0(EntrypointUtils.java:50)CODE
CRITICAL⚡…c/test/resources/crash-report/loading_error_fabric.txt33 at net.fabricmc.loader.entrypoint.minecraft.hooks.EntrypointUtils.invoke(EntrypointUtils.java:33)CODE
CRITICAL⚡…c/test/resources/crash-report/loading_error_fabric.txt34 at net.fabricmc.loader.entrypoint.minecraft.hooks.EntrypointClient.start(EntrypointClient.java:33)CODE
CRITICAL⚡…c/test/resources/crash-report/loading_error_fabric.txt40 at net.minecraft.client.main.Main.main(Main.java:179)CODE
CRITICAL⚡…c/test/resources/crash-report/loading_error_fabric.txt45 at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:234)CODE
CRITICAL⚡…c/test/resources/crash-report/loading_error_fabric.txt46 at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:153)CODE
CRITICAL⚡…c/test/resources/crash-report/loading_error_fabric.txt47 at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28)CODE
CRITICAL⚡HMCLCore/src/test/resources/crash-report/config.txt10 at net.minecraftforge.fml.config.ConfigTracker.openConfig(ConfigTracker.java:104) ~[?:?] {re:classloading}CODE
CRITICAL⚡HMCLCore/src/test/resources/crash-report/config.txt15 at net.minecraftforge.fml.config.ConfigTracker.loadConfigs(ConfigTracker.java:83) ~[?:?] {re:classloading}CODE
CRITICAL⚡HMCLCore/src/test/resources/crash-report/config.txt16 at net.minecraftforge.fml.server.ServerLifecycleHooks.handleServerAboutToStart(ServerLifecycleHooks.java:95) ~[?:?] {reCODE
CRITICAL⚡HMCLCore/src/test/resources/crash-report/config.txt17 at net.minecraft.server.integrated.IntegratedServer.func_71197_b(IntegratedServer.java:59) ~[?:?] {re:classloading,xf:OCODE
CRITICAL⚡HMCLCore/src/test/resources/crash-report/config.txt23 at com.electronwill.nightconfig.core.io.ParsingException.notEnoughData(ParsingException.java:22) ~[core-3.6.2.jar:?] {}CODE
CRITICAL⚡HMCLCore/src/test/resources/crash-report/config.txt24 at com.electronwill.nightconfig.core.io.ReaderInput.directReadChar(ReaderInput.java:36) ~[core-3.6.2.jar:?] {}CODE
CRITICAL⚡HMCLCore/src/test/resources/crash-report/config.txt25 at com.electronwill.nightconfig.core.io.AbstractInput.readChar(AbstractInput.java:49) ~[core-3.6.2.jar:?] {}CODE
CRITICAL⚡HMCLCore/src/test/resources/crash-report/config.txt26 at com.electronwill.nightconfig.core.io.AbstractInput.readCharsUntil(AbstractInput.java:123) ~[core-3.6.2.jar:?] {}CODE
CRITICAL⚡HMCLCore/src/test/resources/crash-report/config.txt27 at com.electronwill.nightconfig.toml.TableParser.parseKey(TableParser.java:166) ~[toml-3.6.2.jar:?] {}CODE
CRITICAL⚡HMCLCore/src/test/resources/crash-report/config.txt28 at com.electronwill.nightconfig.toml.TableParser.parseDottedKey(TableParser.java:145) ~[toml-3.6.2.jar:?] {}CODE
CRITICAL⚡HMCLCore/src/test/resources/crash-report/config.txt29 at com.electronwill.nightconfig.toml.TableParser.parseNormal(TableParser.java:55) ~[toml-3.6.2.jar:?] {}CODE
CRITICAL⚡HMCLCore/src/test/resources/crash-report/config.txt30 at com.electronwill.nightconfig.toml.TomlParser.parse(TomlParser.java:44) ~[toml-3.6.2.jar:?] {}CODE
CRITICAL⚡HMCLCore/src/test/resources/crash-report/config.txt31 at com.electronwill.nightconfig.toml.TomlParser.parse(TomlParser.java:37) ~[toml-3.6.2.jar:?] {}CODE
CRITICAL⚡HMCLCore/src/test/resources/crash-report/config.txt32 at com.electronwill.nightconfig.core.io.ConfigParser.parse(ConfigParser.java:113) ~[core-3.6.2.jar:?] {}CODE
CRITICAL⚡HMCLCore/src/test/resources/crash-report/config.txt33 at com.electronwill.nightconfig.core.io.ConfigParser.parse(ConfigParser.java:219) ~[core-3.6.2.jar:?] {}CODE
CRITICAL⚡HMCLCore/src/test/resources/crash-report/config.txt34 at com.electronwill.nightconfig.core.io.ConfigParser.parse(ConfigParser.java:202) ~[core-3.6.2.jar:?] {}CODE
CRITICAL⚡HMCLCore/src/test/resources/crash-report/config.txt35 at com.electronwill.nightconfig.core.file.WriteSyncFileConfig.load(WriteSyncFileConfig.java:73) ~[core-3.6.2.jar:?] {}CODE
CRITICAL⚡HMCLCore/src/test/resources/crash-report/config.txt36 at com.electronwill.nightconfig.core.file.AutosaveCommentedFileConfig.load(AutosaveCommentedFileConfig.java:85) ~[core-CODE
CRITICAL…est/resources/crash-report/resourcepack_resolution.txt24 at net.minecraft.client.main.Main.main(SourceFile:103)CODE
CRITICAL…est/resources/crash-report/resourcepack_resolution.txt59 at net.minecraft.client.main.Main.main(SourceFile:103)CODE
CRITICAL⚡…st/resources/crash-report/no_class_def_found_error.txt17 at net.minecraftforge.fml.common.Loader.sortModList(Loader.java:264)CODE
CRITICAL⚡…st/resources/crash-report/no_class_def_found_error.txt18 at net.minecraftforge.fml.common.Loader.loadMods(Loader.java:570)CODE
CRITICAL⚡…st/resources/crash-report/no_class_def_found_error.txt19 at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:225)CODE
CRITICAL⚡…st/resources/crash-report/no_class_def_found_error.txt22 at net.minecraft.client.main.Main.main(SourceFile:123)CODE
CRITICAL⚡…st/resources/crash-report/no_class_def_found_error.txt37 at net.minecraftforge.fml.common.Loader.sortModList(Loader.java:264)CODE
CRITICAL⚡…st/resources/crash-report/no_class_def_found_error.txt38 at net.minecraftforge.fml.common.Loader.loadMods(Loader.java:570)CODE
CRITICAL⚡…st/resources/crash-report/no_class_def_found_error.txt39 at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:225)CODE
CRITICAL⚡…st/resources/crash-report/no_class_def_found_error.txt46 at net.minecraft.client.main.Main.main(SourceFile:123)CODE
CRITICAL⚡HMCLCore/src/test/resources/crash-report/need_jdk11.txt9[15:54:18] [main/INFO]: [java.lang.ThreadGroup:uncaughtException:1077]: at org.openjdk.nashorn.internal.runtime.ContextCODE
CRITICAL⚡HMCLCore/src/test/resources/crash-report/need_jdk11.txt10[15:54:18] [main/INFO]: [java.lang.ThreadGroup:uncaughtException:1077]: at org.openjdk.nashorn.internal.runtime.ContextCODE
CRITICAL⚡HMCLCore/src/test/resources/crash-report/need_jdk11.txt11[15:54:18] [main/INFO]: [java.lang.ThreadGroup:uncaughtException:1077]: at org.openjdk.nashorn.internal.runtime.ContextCODE
CRITICAL⚡HMCLCore/src/test/resources/crash-report/need_jdk11.txt12[15:54:18] [main/INFO]: [java.lang.ThreadGroup:uncaughtException:1077]: at org.openjdk.nashorn.api.scripting.NashornScrCODE
CRITICAL⚡HMCLCore/src/test/resources/crash-report/need_jdk11.txt13[15:54:18] [main/INFO]: [java.lang.ThreadGroup:uncaughtException:1077]: at org.openjdk.nashorn.api.scripting.NashornScrCODE
CRITICAL⚡HMCLCore/src/test/resources/crash-report/need_jdk11.txt14[15:54:18] [main/INFO]: [java.lang.ThreadGroup:uncaughtException:1077]: at org.openjdk.nashorn.api.scripting.NashornScrCODE
CRITICAL⚡HMCLCore/src/test/resources/crash-report/need_jdk11.txt15[15:54:18] [main/INFO]: [java.lang.ThreadGroup:uncaughtException:1077]: at org.openjdk.nashorn.api.scripting.NashornScrCODE
CRITICAL⚡HMCLCore/src/test/resources/crash-report/need_jdk11.txt22[15:54:18] [main/INFO]: [java.lang.ThreadGroup:uncaughtException:1077]: at net.minecraftforge.fml.loading.FMLServiceProCODE
CRITICAL⚡…resources/crash-report/loader_exception_mod_crash4.txt16 at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:637)CODE
CRITICAL⚡…resources/crash-report/loader_exception_mod_crash4.txt20 at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91)CODE
CRITICAL⚡…resources/crash-report/loader_exception_mod_crash4.txt24 at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71)CODE
CRITICAL⚡…resources/crash-report/loader_exception_mod_crash4.txt26 at com.google.common.eventbus.EventBus.post(EventBus.java:217)CODE
CRITICAL⚡…resources/crash-report/loader_exception_mod_crash4.txt27 at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:219)CODE
CRITICAL⚡…resources/crash-report/loader_exception_mod_crash4.txt28 at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:197)CODE
CRITICAL⚡…resources/crash-report/loader_exception_mod_crash4.txt33 at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91)CODE
1203 more matches not shown…
Over-Commented Block160 hits · 157 pts
SeverityFileLineSnippetContext
LOW…ources/logs/optifine_is_not_compatible_with_forge4.txt1781#@!@# Game crashed! Crash report saved to: #@!@# E:\.minecraft\versions\1.19.3\crash-reports\crash-2023-04-10_16.36.01-cCOMMENT
LOWHMCLCore/src/test/resources/logs/graphics_driver.txt21#COMMENT
LOWHMCLCore/src/test/resources/logs/memory_exceeded.txt21# Native memory allocation (mmap) failed to map 50331648 bytes for Failed to commit area from 0x00000007b4000000 to 0x00COMMENT
LOWHMCLCore/src/test/resources/logs/out_of_memory.txt1#COMMENT
LOW…a/org/jackhuang/hmcl/game/DefaultGameInstanceTest.java801 /// Component version passed to the captured repair request.COMMENT
LOW…a/org/jackhuang/hmcl/game/DefaultGameInstanceTest.java841 ///COMMENT
LOW…ore/src/main/java/org/jackhuang/hmcl/util/TypedID.java41COMMENT
LOW…ava/org/jackhuang/hmcl/util/ImmutableSequencedMap.java21import org.jetbrains.annotations.Nullable;COMMENT
LOW…ava/org/jackhuang/hmcl/util/ImmutableSequencedMap.java81 /// Wraps the given [LinkedHashMap] directly without copying.COMMENT
LOW…e/src/main/java/org/jackhuang/hmcl/util/ZlibUtils.java21COMMENT
LOW…jackhuang/hmcl/util/gson/LowerCaseEnumTypeAdapter.java61 /// Creates an adapter for the supplied enum class.COMMENT
LOW…jackhuang/hmcl/util/gson/LowerCaseEnumTypeAdapter.java101 }COMMENT
LOW…va/org/jackhuang/hmcl/util/gson/ObservableSetting.java41import java.lang.reflect.Modifier;COMMENT
LOW…main/java/org/jackhuang/hmcl/util/gson/JsonSchema.java41///COMMENT
LOW…main/java/org/jackhuang/hmcl/util/gson/JsonSchema.java401 /// Returns whether saving should preserve the original schema string.COMMENT
LOW…/main/java/org/jackhuang/hmcl/util/gson/JsonUtils.java41///COMMENT
LOW…/main/java/org/jackhuang/hmcl/util/gson/JsonUtils.java61 /// Configured with:COMMENT
LOW…/main/java/org/jackhuang/hmcl/util/gson/JsonUtils.java81COMMENT
LOW…/main/java/org/jackhuang/hmcl/util/gson/JsonUtils.java101 return (TypeToken<List<T>>) TypeToken.getParameterized(List.class, elementType.getType());COMMENT
LOW…/main/java/org/jackhuang/hmcl/util/gson/JsonUtils.java241 /// @param <T> the target typeCOMMENT
LOW…/main/java/org/jackhuang/hmcl/util/gson/JsonUtils.java261COMMENT
LOW…/main/java/org/jackhuang/hmcl/util/gson/JsonUtils.java281 /// @return the deserialized object, or `null` if the JSON is `null`COMMENT
LOW…/main/java/org/jackhuang/hmcl/util/gson/JsonUtils.java301 /// Deserializes JSON from a [Reader] into an object of the given class using [GSON].COMMENT
LOW…/main/java/org/jackhuang/hmcl/util/gson/JsonUtils.java321 /// @throws com.google.gson.JsonIOException if there is a problem reading from `reader`COMMENT
LOW…/main/java/org/jackhuang/hmcl/util/gson/JsonUtils.java341 /// using the provided [Gson] instance.COMMENT
LOW…/main/java/org/jackhuang/hmcl/util/gson/JsonUtils.java361 /// @throws IOException if an I/O error occurs reading the fileCOMMENT
LOW…/main/java/org/jackhuang/hmcl/util/gson/JsonUtils.java381 }COMMENT
LOW…/main/java/org/jackhuang/hmcl/util/gson/JsonUtils.java401 /// @param classOfT the target classCOMMENT
LOW…/main/java/org/jackhuang/hmcl/util/gson/JsonUtils.java421 try (InputStreamReader reader = new InputStreamReader(json, StandardCharsets.UTF_8)) {COMMENT
LOW…/main/java/org/jackhuang/hmcl/util/gson/JsonUtils.java441 ///COMMENT
LOW…/main/java/org/jackhuang/hmcl/util/gson/JsonUtils.java481 /// given class using the provided [Gson] instance. The stream is closed after reading.COMMENT
LOW…/main/java/org/jackhuang/hmcl/util/gson/JsonUtils.java501 /// @param classOfT the target classCOMMENT
LOW…/main/java/org/jackhuang/hmcl/util/gson/JsonUtils.java541 }COMMENT
LOW…/main/java/org/jackhuang/hmcl/util/gson/JsonUtils.java561 /// @param <T> the target typeCOMMENT
LOW…/main/java/org/jackhuang/hmcl/util/gson/JsonUtils.java601 /// Serializes `value` to JSON and writes it to the file at the given [Path] using [GSON].COMMENT
LOW…/main/java/org/jackhuang/hmcl/util/gson/JsonUtils.java621 /// @param <T> the type of the value to clone; may be `null` (see return)COMMENT
LOW…/main/java/org/jackhuang/hmcl/util/gson/JsonUtils.java641 /// @return a deep clone of `value`, or `null` if `value` is `null`COMMENT
LOW…a/org/jackhuang/hmcl/util/platform/windows/User32.java41 /// @see <a href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-getdc">GetDC function</a>COMMENT
LOW…va/org/jackhuang/hmcl/util/platform/windows/Gdi32.java41 /// Retrieves device-specific information for the supplied device context.COMMENT
LOW…ckhuang/hmcl/util/platform/windows/IPropertyStore.java21import com.sun.jna.Native;COMMENT
LOW…ckhuang/hmcl/util/platform/windows/IPropertyStore.java61 /// Creates an `IPropertyStore` for the given window throughCOMMENT
LOW…ckhuang/hmcl/util/platform/windows/IPropertyStore.java81 public static @Nullable IPropertyStore forWindow(Shell32 shell32, long hwnd) {COMMENT
LOW…/org/jackhuang/hmcl/util/platform/windows/Shell32.java41 /// @return `S_OK` if the operation succeeds; otherwise a failure `HRESULT`COMMENT
LOW…org/jackhuang/hmcl/util/platform/windows/WinTypes.java61 /// Creates an empty GUID structure.COMMENT
LOW…org/jackhuang/hmcl/util/platform/windows/WinTypes.java121 ///COMMENT
LOW…org/jackhuang/hmcl/util/platform/windows/WinTypes.java181 /// Only `VT_EMPTY` and `VT_LPWSTR` construction is supported. The native layout is preserved:COMMENT
LOW…org/jackhuang/hmcl/util/platform/windows/WinTypes.java221 /// Creates a property variant over an existing native memory region.COMMENT
LOW…huang/hmcl/util/i18n/DefaultResourceBundleControl.java21import java.util.Locale;COMMENT
LOW…ore/src/main/java/org/jackhuang/hmcl/auth/Account.java101 ///COMMENT
LOW…g/jackhuang/hmcl/auth/yggdrasil/YggdrasilProvider.java41COMMENT
LOW…in/java/org/jackhuang/hmcl/launch/DefaultLauncher.java541 /// every classpath component. A game directory such as `/Users/asm` therefore causes everyCOMMENT
LOW…/src/main/java/org/jackhuang/hmcl/launch/Launcher.java81 /// @param file the script pathCOMMENT
LOW…/main/java/org/jackhuang/hmcl/game/GameRepository.java21import org.jetbrains.annotations.NotNullByDefault;COMMENT
LOW…/main/java/org/jackhuang/hmcl/game/GameRepository.java41 /// @return the repository layoutCOMMENT
LOW…/main/java/org/jackhuang/hmcl/game/GameRepository.java61 /// A repository permits at most one open draft. Repository refreshes, layout changes, and otherCOMMENT
LOW…rc/main/java/org/jackhuang/hmcl/game/GameInstance.java101 /// @return the modpack configuration path in the instance rootCOMMENT
LOW…rc/main/java/org/jackhuang/hmcl/game/GameInstance.java121 /// Returns the asset directory that should be supplied when launching this instance.COMMENT
LOW…va/org/jackhuang/hmcl/game/GameRepositorySnapshot.java21import org.jetbrains.annotations.Nullable;COMMENT
LOW…va/org/jackhuang/hmcl/game/GameRepositorySnapshot.java41 /// @return the owning repositoryCOMMENT
LOW…va/org/jackhuang/hmcl/game/GameRepositorySnapshot.java61COMMENT
100 more matches not shown…