Skip to content

Commit 819b5ad

Browse files
committed
Configuration initialize checking added.
Signed-off-by: Pavel Erokhin (MairwunNx) <MairwunNx@gmail.com>
1 parent 42a2edd commit 819b5ad

1 file changed

Lines changed: 17 additions & 9 deletions

File tree

src/main/kotlin/com/mairwunnx/projectessentials/core/configuration/localization/LocalizationConfigurationUtils.kt

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,24 @@ import java.io.File
77
import java.io.FileNotFoundException
88

99
object LocalizationConfigurationUtils {
10+
private var initialized = false
1011
private val logger = LogManager.getLogger()
1112
private var configuration = LocalizationConfiguration()
1213
private val LOCALIZATION_CONFIG = MOD_CONFIG_FOLDER + File.separator + "localization.json"
1314

1415
internal fun loadConfig() {
15-
logger.info("Loading localization configuration")
16-
17-
try {
18-
val configRaw = File(LOCALIZATION_CONFIG).readText()
19-
configuration = jsonInstance.parse(LocalizationConfiguration.serializer(), configRaw)
20-
} catch (ex: FileNotFoundException) {
21-
logger.error("Configuration file ($LOCALIZATION_CONFIG) not found!")
22-
logger.warn("The default configuration will be used")
16+
if (!initialized) {
17+
logger.info("Loading localization configuration")
18+
19+
try {
20+
val configRaw = File(LOCALIZATION_CONFIG).readText()
21+
configuration =
22+
jsonInstance.parse(LocalizationConfiguration.serializer(), configRaw)
23+
} catch (ex: FileNotFoundException) {
24+
logger.error("Configuration file ($LOCALIZATION_CONFIG) not found!")
25+
logger.warn("The default configuration will be used")
26+
}
27+
initialized = true
2328
}
2429
}
2530

@@ -42,5 +47,8 @@ object LocalizationConfigurationUtils {
4247
/**
4348
* @return localization configuration instance.
4449
*/
45-
fun getConfig() = configuration
50+
fun getConfig(): LocalizationConfiguration {
51+
if (!initialized) loadConfig()
52+
return configuration
53+
}
4654
}

0 commit comments

Comments
 (0)