File tree Expand file tree Collapse file tree 2 files changed +43
-0
lines changed
src/main/kotlin/com/mairwunnx/projectessentials/chat Expand file tree Collapse file tree 2 files changed +43
-0
lines changed Original file line number Diff line number Diff line change @@ -11,6 +11,7 @@ import net.minecraftforge.common.MinecraftForge
1111import net.minecraftforge.event.ServerChatEvent
1212import net.minecraftforge.eventbus.api.SubscribeEvent
1313import net.minecraftforge.fml.common.Mod
14+ import net.minecraftforge.fml.event.server.FMLServerStoppingEvent
1415import org.apache.logging.log4j.LogManager
1516
1617@Suppress(" unused" )
@@ -25,12 +26,20 @@ class EntryPoint : EssBase() {
2526 validateForgeVersion()
2627 logger.debug(" Register event bus for $modName mod ..." )
2728 MinecraftForge .EVENT_BUS .register(this )
29+ ChatModelBase .loadData()
2830 }
2931
3032 companion object {
3133 lateinit var modInstance: EntryPoint
3234 }
3335
36+ @Suppress(" UNUSED_PARAMETER" )
37+ @SubscribeEvent
38+ fun onServerStopping (it : FMLServerStoppingEvent ) {
39+ logger.info(" Shutting down $modName mod ..." )
40+ ChatModelBase .saveData()
41+ }
42+
3443 @SubscribeEvent
3544 fun onChatMessage (event : ServerChatEvent ) {
3645 if (! PermissionsAPI .hasPermission(event.username, " ess.chat" )) {
Original file line number Diff line number Diff line change @@ -22,4 +22,38 @@ object ChatModelBase {
2222 useArrayPolymorphism = false
2323 )
2424 )
25+
26+ fun loadData () {
27+ logger.info(" Loading chat configuration" )
28+ if (! File (warpsConfig).exists()) {
29+ logger.warn(" Chat configuration file not exist! creating it now!" )
30+ createConfigDirs(MOD_CONFIG_FOLDER )
31+ val defaultConfig = json.stringify(
32+ ChatModel .serializer(),
33+ chatModel
34+ )
35+ File (warpsConfig).writeText(defaultConfig)
36+ }
37+ val warpsConfigRaw = File (warpsConfig).readText()
38+ chatModel = Json .parse(ChatModel .serializer(), warpsConfigRaw)
39+ logger.info(" Chat configuration loading done" )
40+ }
41+
42+ fun saveData () {
43+ logger.info(" Saving chat configuration to file" )
44+ createConfigDirs(MOD_CONFIG_FOLDER )
45+ val spawnConfig = json.stringify(
46+ ChatModel .serializer(),
47+ chatModel
48+ )
49+ File (warpsConfig).writeText(spawnConfig)
50+ logger.info(" Saving chat configuration done" )
51+ }
52+
53+ @Suppress(" SameParameterValue" )
54+ private fun createConfigDirs (path : String ) {
55+ logger.info(" Creating config directory for chat configuration" )
56+ val configDirectory = File (path)
57+ if (! configDirectory.exists()) configDirectory.mkdirs()
58+ }
2559}
You can’t perform that action at this time.
0 commit comments