perf: Use maps to set options

This commit is contained in:
oSumAtrIX
2023-10-04 04:08:07 +02:00
parent fbe5c39227
commit 13823b74db

View File

@@ -61,13 +61,15 @@ object Options {
filter { it.options.any() }.let { patches -> filter { it.options.any() }.let { patches ->
if (patches.isEmpty()) return if (patches.isEmpty()) return
val patchOptions = deserialize(json) val jsonPatches = deserialize(json).associate {
it.patchName to it.options.associate { option -> option.key to option.value }
}
patches.forEach patch@{ patch -> patches.forEach { patch ->
patchOptions.find { option -> option.patchName == patch.name!! }?.let { jsonPatches[patch.name]?.let { jsonPatchOptions ->
it.options.forEach { option -> jsonPatchOptions.forEach { (option, value) ->
try { try {
patch.options[option.key] = option.value patch.options[option] = value
} catch (e: PatchOptionException) { } catch (e: PatchOptionException) {
logger.severe(e.toString()) logger.severe(e.toString())
} }