mirror of
https://github.com/Auxilor/EcoSkills.git
synced 2026-01-03 06:12:21 +00:00
Second pass on MySQL
This commit is contained in:
@@ -53,9 +53,9 @@ public class EcoSkillsPlugin extends EcoPlugin {
|
||||
public EcoSkillsPlugin() {
|
||||
super(1351, 12205, "&#ff00ae");
|
||||
instance = this;
|
||||
effectsYml = new EffectsYml(this);
|
||||
dataHandler = this.getConfigYml().getBool("mysql.enabled") ?
|
||||
new MySQLDataHandler(this) : new YamlDataHandler(this);
|
||||
effectsYml = new EffectsYml(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -4,7 +4,7 @@ import com.willfp.ecoskills.EcoSkillsPlugin
|
||||
import com.willfp.ecoskills.effects.Effects
|
||||
import com.willfp.ecoskills.skills.Skills
|
||||
import com.willfp.ecoskills.stats.Stats
|
||||
import org.jetbrains.exposed.dao.id.UUIDTable
|
||||
import org.jetbrains.exposed.dao.id.IntIdTable
|
||||
import org.jetbrains.exposed.sql.*
|
||||
import org.jetbrains.exposed.sql.transactions.transaction
|
||||
import java.util.*
|
||||
@@ -19,7 +19,7 @@ class MySQLDataHandler(
|
||||
"${plugin.configYml.getString("mysql.host")}:" +
|
||||
"${plugin.configYml.getString("mysql.port")}/" +
|
||||
plugin.configYml.getString("mysql.database"),
|
||||
driver = "com.mysql.jdbc.Driver",
|
||||
driver = "com.mysql.cj.jdbc.Driver",
|
||||
user = plugin.configYml.getString("mysql.user"),
|
||||
password = plugin.configYml.getString("mysql.password")
|
||||
)
|
||||
@@ -48,7 +48,12 @@ class MySQLDataHandler(
|
||||
|
||||
override fun <T> write(uuid: UUID, key: String, value: T) {
|
||||
transaction {
|
||||
val player = Players.select { Players.id eq uuid }.firstOrNull() ?: return@transaction
|
||||
Players.select { Players.uuid eq uuid }.firstOrNull() ?: run {
|
||||
Players.insert {
|
||||
it[this.uuid] = uuid
|
||||
}
|
||||
}
|
||||
val player = Players.select { Players.uuid eq uuid }.first()
|
||||
player[Players.columns.stream().filter { it.name == key }.findFirst().get()] = value
|
||||
}
|
||||
}
|
||||
@@ -56,7 +61,7 @@ class MySQLDataHandler(
|
||||
override fun readInt(uuid: UUID, key: String): Int {
|
||||
var value = 0
|
||||
transaction {
|
||||
val player = Players.select { Players.id eq uuid }.firstOrNull() ?: return@transaction
|
||||
val player = Players.select { Players.uuid eq uuid }.firstOrNull() ?: return@transaction
|
||||
value = player[Players.columns.stream().filter { it.name == key }.findFirst().get()] as Int? ?: 0
|
||||
}
|
||||
return value
|
||||
@@ -65,7 +70,7 @@ class MySQLDataHandler(
|
||||
override fun readDouble(uuid: UUID, key: String): Double {
|
||||
var value = 0.0
|
||||
transaction {
|
||||
val player = Players.select { Players.id eq uuid }.firstOrNull() ?: return@transaction
|
||||
val player = Players.select { Players.uuid eq uuid }.firstOrNull() ?: return@transaction
|
||||
value = player[Players.columns.stream().filter { it.name == key }.findFirst().get()] as Double? ?: 0.0
|
||||
}
|
||||
return value
|
||||
@@ -74,15 +79,14 @@ class MySQLDataHandler(
|
||||
override fun readString(uuid: UUID, key: String, default: String): String {
|
||||
var value = ""
|
||||
transaction {
|
||||
val player = Players.select { Players.id eq uuid }.firstOrNull() ?: return@transaction
|
||||
val player = Players.select { Players.uuid eq uuid }.firstOrNull() ?: return@transaction
|
||||
value = player[Players.columns.stream().filter { it.name == key }.findFirst().get()] as String? ?: ""
|
||||
}
|
||||
return value
|
||||
}
|
||||
|
||||
object Players : UUIDTable("EcoSkills_Players") {
|
||||
override val id = uuid("id")
|
||||
.entityId()
|
||||
object Players : IntIdTable("EcoSkills_Players") {
|
||||
val uuid = uuid("uuid")
|
||||
val name = varchar("name", 50)
|
||||
.default("Unknown Player")
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ mysql:
|
||||
enabled: false # Set to false, data.yml will be used instead.
|
||||
host: localhost
|
||||
port: 3306
|
||||
database: db
|
||||
database: database
|
||||
user: username
|
||||
password: passy
|
||||
|
||||
|
||||
Reference in New Issue
Block a user