summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSho Sakuma <me@m1sk9.dev>2026-01-10 11:06:00 +0900
committerSho Sakuma <me@m1sk9.dev>2026-01-10 11:06:00 +0900
commit68cb31756e5a9a6031f3830bc5792cd43e366cf8 (patch)
tree4a03862b4176d0f444a355667834acec2421b946
parent4e13b2a51fa73e9c9d33081c608074baa2cf893c (diff)
downloadLunaticChat-68cb31756e5a9a6031f3830bc5792cd43e366cf8.tar.gz
LunaticChat-68cb31756e5a9a6031f3830bc5792cd43e366cf8.tar.bz2
LunaticChat-68cb31756e5a9a6031f3830bc5792cd43e366cf8.zip
chore: Change feature config
-rw-r--r--platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/config/ConfigManager.kt30
-rw-r--r--platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/config/key/FeaturesConfig.kt4
-rw-r--r--platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/config/key/JapaneseConversionFeatureConfig.kt10
-rw-r--r--platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/config/key/QuickRepliesFeatureConfig.kt5
-rw-r--r--platform-paper/src/main/resources/config.yml17
5 files changed, 58 insertions, 8 deletions
diff --git a/platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/config/ConfigManager.kt b/platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/config/ConfigManager.kt
index d10a4e6..d138914 100644
--- a/platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/config/ConfigManager.kt
+++ b/platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/config/ConfigManager.kt
@@ -1,7 +1,9 @@
package dev.m1sk9.lunaticChat.paper.config
import dev.m1sk9.lunaticChat.paper.config.key.FeaturesConfig
+import dev.m1sk9.lunaticChat.paper.config.key.JapaneseConversionFeatureConfig
import dev.m1sk9.lunaticChat.paper.config.key.MessageFormatConfig
+import dev.m1sk9.lunaticChat.paper.config.key.QuickRepliesFeatureConfig
import org.bukkit.configuration.file.FileConfiguration
object ConfigManager {
@@ -15,8 +17,32 @@ object ConfigManager {
LunaticChatConfiguration(
features =
FeaturesConfig(
- japaneseConversionEnabled = configFile.getBoolean("features.japaneseConversionEnabled", false),
- quickRepliesEnabled = configFile.getBoolean("features.quickRepliesEnabled", true),
+ quickRepliesEnabled =
+ QuickRepliesFeatureConfig(
+ enabled =
+ configFile.getBoolean("features.quickReplies.enabled", true),
+ ),
+ japaneseConversion =
+ JapaneseConversionFeatureConfig(
+ enabled = configFile.getBoolean("features.japaneseConversion.enabled", false),
+ cacheMaxEntries = configFile.getInt("features.japaneseConversion.cacheMaxEntries", 500),
+ cacheSaveIntervalSeconds =
+ configFile.getInt(
+ "features.japaneseConversion.cacheSaveIntervalSeconds",
+ 300,
+ ),
+ cacheFilePath =
+ configFile.getString(
+ "features.japaneseConversion.cacheFilePath",
+ "conversion_cache.json",
+ )!!,
+ apiTimeout =
+ configFile.getLong(
+ "features.japaneseConversion.apiTimeout",
+ 3000,
+ ),
+ apiRetryAttempts = configFile.getInt("features.japaneseConversion.apiRetryAttempts", 2),
+ ),
),
messageFormat =
MessageFormatConfig(
diff --git a/platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/config/key/FeaturesConfig.kt b/platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/config/key/FeaturesConfig.kt
index 56ee7ec..703ddcc 100644
--- a/platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/config/key/FeaturesConfig.kt
+++ b/platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/config/key/FeaturesConfig.kt
@@ -1,6 +1,6 @@
package dev.m1sk9.lunaticChat.paper.config.key
data class FeaturesConfig(
- val japaneseConversionEnabled: Boolean,
- val quickRepliesEnabled: Boolean,
+ val quickRepliesEnabled: QuickRepliesFeatureConfig,
+ val japaneseConversion: JapaneseConversionFeatureConfig,
)
diff --git a/platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/config/key/JapaneseConversionFeatureConfig.kt b/platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/config/key/JapaneseConversionFeatureConfig.kt
new file mode 100644
index 0000000..c329085
--- /dev/null
+++ b/platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/config/key/JapaneseConversionFeatureConfig.kt
@@ -0,0 +1,10 @@
+package dev.m1sk9.lunaticChat.paper.config.key
+
+data class JapaneseConversionFeatureConfig(
+ val enabled: Boolean,
+ val cacheMaxEntries: Int,
+ val cacheSaveIntervalSeconds: Int,
+ val cacheFilePath: String,
+ val apiTimeout: Long,
+ val apiRetryAttempts: Int,
+)
diff --git a/platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/config/key/QuickRepliesFeatureConfig.kt b/platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/config/key/QuickRepliesFeatureConfig.kt
new file mode 100644
index 0000000..cf0c00d
--- /dev/null
+++ b/platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/config/key/QuickRepliesFeatureConfig.kt
@@ -0,0 +1,5 @@
+package dev.m1sk9.lunaticChat.paper.config.key
+
+data class QuickRepliesFeatureConfig(
+ val enabled: Boolean,
+)
diff --git a/platform-paper/src/main/resources/config.yml b/platform-paper/src/main/resources/config.yml
index dd5db15..00478a1 100644
--- a/platform-paper/src/main/resources/config.yml
+++ b/platform-paper/src/main/resources/config.yml
@@ -20,10 +20,19 @@ debug: false
# ----------------------------------------------
features:
- # If enabled, enables the conversion function from Roman letters to hiragana.
- japaneseConversionEnabled: false
- # If enabled, the quick reply feature via the /reply command will be activated.
- quickRepliesEnabled: true
+ quickReplies:
+ # If enabled, the quick reply feature via the /reply command will be activated.
+ enabled: true
+ japaneseConversion:
+ # If enabled, enables the conversion function from Roman letters to hiragana.
+ enabled: false
+ cache:
+ maxEntries: 500
+ saveIntervalSeconds: 300
+ filePath: "conversion_cache.json"
+ api:
+ timeout: 3000
+ retryAttempts: 2
# ----------------------------------------------
# --------- Message Format Settings --------