Skip to content

Commit 669f6b3

Browse files
committed
lang -> language
1 parent f46061f commit 669f6b3

8 files changed

Lines changed: 80 additions & 32 deletions

File tree

Core/src/main/kotlin/io/github/grassproject/framework/config/Config.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ fun GPPlugin.saveResource(resource: String, file: File) {
2525
}
2626
}
2727

28-
fun GPPlugin.init(vararg configs: GPConfig) {
28+
fun GPPlugin.init(vararg configs: GPFile) {
2929
configs.forEach { yaml ->
3030
val file = File(dataFolder, yaml.name)
3131
if (!file.exists()) saveResource(yaml.name, file)
@@ -98,7 +98,7 @@ open class ConfigFile(open val file: File) : Config() {
9898
}
9999
}
100100

101-
open class GPConfig(pluginFolder: File, open var name: String) :
101+
open class GPFile(pluginFolder: File, open var name: String) :
102102
ConfigFile(File(pluginFolder, name)) {
103103

104104
constructor(pluginFolder: File, name: String, autoCreate: Boolean = false) : this(pluginFolder, name) {

Core/src/main/kotlin/io/github/grassproject/framework/config/GPConfigs.kt

Lines changed: 0 additions & 22 deletions
This file was deleted.
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package io.github.grassproject.framework.core.config
2+
3+
import io.github.grassproject.framework.config.GPFile
4+
import io.github.grassproject.framework.core.GPPlugin
5+
6+
abstract class GPConfig<T : GPPlugin>(val plugin: T) {
7+
private val configs = mutableMapOf<String, GPFile>()
8+
9+
protected abstract fun register()
10+
11+
protected fun config(name: String, autoCreate: Boolean = false) =
12+
GPFile(plugin.dataFolder, name, autoCreate).also { configs[name] = it }
13+
14+
operator fun get(name: String) = configs[name]
15+
16+
fun saveAll() = configs.values.forEach(GPFile::save)
17+
fun reloadAll() = configs.values.forEach(GPFile::reload)
18+
19+
fun registerAll() {
20+
register()
21+
reloadAll()
22+
}
23+
}
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
package io.github.grassproject.framework.core.message
2+
3+
import com.google.gson.Gson
4+
import com.google.gson.JsonObject
5+
import io.github.grassproject.framework.core.GPPlugin
6+
import java.io.File
7+
8+
// GPF util에서 가져온것
9+
abstract class GPMessage<T : GPPlugin>(val plugin: T) {
10+
11+
private fun jsonGenerator(): File {
12+
plugin.reloadConfig()
13+
val lang = plugin.config.getString("language") ?: "ko"
14+
val json = File("${plugin.dataFolder}/language", "${lang}.json")
15+
return json
16+
}
17+
18+
fun literate(key: String, placeholders: Map<String, String>): String {
19+
var message = literate(key)
20+
placeholders.forEach { (placeholder, value) ->
21+
message = message.replace("{$placeholder}", value)
22+
}
23+
return message
24+
}
25+
26+
fun fromList(key: String, placeholders: Map<String, String>): MutableList<String> {
27+
val messages = fromList(key)
28+
return messages.map { message ->
29+
var result = message
30+
placeholders.forEach { (placeholder, value) ->
31+
result = result.replace("{$placeholder}", value)
32+
}
33+
result
34+
}.toMutableList()
35+
}
36+
37+
fun literate(string: String): String {
38+
val json = jsonGenerator()
39+
return Gson().fromJson(json.readText(), JsonObject::class.java)[string]?.asString ?: string
40+
}
41+
42+
fun fromList(string: String): MutableList<String> {
43+
val json = jsonGenerator()
44+
val array = Gson().fromJson(json.readText(), JsonObject::class.java)[string]
45+
.asJsonArray.mapNotNull { it.asString }.toMutableList()
46+
return array
47+
}
48+
}

Core/src/main/kotlin/io/github/grassproject/framework/database/DatabaseManager.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package io.github.grassproject.framework.database
22

33
import com.zaxxer.hikari.HikariConfig
44
import com.zaxxer.hikari.HikariDataSource
5-
import io.github.grassproject.framework.config.GPConfig
5+
import io.github.grassproject.framework.config.GPFile
66
import org.jetbrains.exposed.v1.core.Table
77
import org.jetbrains.exposed.v1.jdbc.Database
88
import org.jetbrains.exposed.v1.jdbc.SchemaUtils
@@ -19,7 +19,7 @@ object DatabaseManager {
1919
}
2020

2121
@JvmStatic
22-
fun initConfig(config: GPConfig) {
22+
fun initConfig(config: GPFile) {
2323
val type = config.enum("database.type", DataType.SQLITE)
2424

2525
val host = config.string("database.credentials.host", "localhost")

src/main/kotlin/io/github/grassproject/framework/GPFrameworkPlugin.kt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
package io.github.grassproject.framework
22

33
import io.github.grassproject.framework.commands.GPFCommand
4-
import io.github.grassproject.framework.config.GPConfig
4+
import io.github.grassproject.framework.config.GPFile
55
import io.github.grassproject.framework.config.init
66
import io.github.grassproject.framework.core.GPPlugin
77
import io.github.grassproject.framework.database.DatabaseManager
8-
import io.github.grassproject.framework.util.GPLogger
98

109
class GPFrameworkPlugin : GPPlugin() {
1110
companion object {
@@ -15,12 +14,12 @@ class GPFrameworkPlugin : GPPlugin() {
1514

1615
override fun load() {
1716
instance = this
18-
saveResource("lang/ko.json", true)
17+
saveResource("language/ko.json", true)
1918
logger.info("Loading Framework...")
2019
}
2120

2221
override fun enable() {
23-
val config = GPConfig(dataFolder, "config.yml")
22+
val config = GPFile(dataFolder, "config.yml")
2423
init(config)
2524
DatabaseManager.initConfig(config)
2625
DatabaseManager.connect()

src/main/kotlin/io/github/grassproject/framework/utils/translate.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ import io.github.grassproject.framework.GPFrameworkPlugin
66
import java.io.File
77

88
object translate {
9-
private val plugin= GPFrameworkPlugin.instance
9+
private val plugin = GPFrameworkPlugin.instance
1010

1111
private fun jsonGenerator(): File {
1212
plugin.reloadConfig()
1313
val lang = plugin.config.getString("language") ?: "ko"
14-
val json = File("${plugin.dataFolder}/lang", "${lang}.json")
14+
val json = File("${plugin.dataFolder}/language", "${lang}.json")
1515
return json
1616
}
1717

0 commit comments

Comments
 (0)