Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class LangManager{
- companion object {
- var langs=HashMap<String,HashMap<String,String>>()
- var players=HashMap<UUID,String>()
- private var HOST = ""
- private var DATABASE = ""
- private var USER = ""
- private var PASSWORD = ""
- private var con: Connection? = null
- private val prefix=main.prefix
- private fun connect() {
- try {
- con = DriverManager.getConnection("jdbc:mysql://" + HOST + ":3306/" + DATABASE + "?autoReconnect=true",
- USER, PASSWORD)
- println("[MySQL] Die Verbindung zur MySQL wurde hergestellt!")
- } catch (e: SQLException) {
- println("[MySQL] Die Verbindung zur MySQL ist fehlgeschlagen! Fehler: " + e.message)
- }
- }
- private fun update(qry: String) {
- try {
- val st = con!!.createStatement()
- st.executeUpdate(qry)
- st.close()
- } catch (e: SQLException) {
- connect()
- System.err.println(e)
- }
- }
- private fun query(qry: String): ResultSet? {
- var rs: ResultSet? = null
- try {
- val st = con!!.createStatement()
- rs = st.executeQuery(qry)
- } catch (e: SQLException) {
- connect()
- return query(qry)
- }
- return rs
- }
- fun addPlayer(p: Player){
- val rs = query("SELECT * FROM USER WHERE UUID= '${p.uniqueId}'")
- var lang="de"
- if (rs==null) {
- } else {
- if(rs.next()){
- lang=rs.getString("LANG")
- }else{
- }
- }
- println(lang)
- players.put(p.uniqueId,lang)
- }
- fun init(folder: File) {
- HOST ="localhost"
- DATABASE ="LANG"
- USER ="LANG"
- PASSWORD ="iyAwidEyLtoxDPEl"
- connect()
- update("CREATE TABLE IF NOT EXISTS USER (UUID VARCHAR(100), LANG VARCHAR(100))")
- File(File(folder.parent).absolutePath+"/languages").mkdir()
- println("---")
- for (file in File(File(folder.parent).absolutePath+"/languages").listFiles()){
- println()
- val ll=file.absolutePath.split("/").last().replace(".yml","")
- langs[ll] = HashMap()
- var hmap= langs.get(ll)!!
- for (line in file.readLines()){
- println(line)
- println("???")
- println("$$$"+line.split(":").get(0).trim()+"$$$")
- println("$$$"+line.substring(line.split(":").get(0).length).trim()+"$$$")
- hmap.put(line.split(":").get(0).trim(),line.substring(line.split(":").get(0).length+1).trim())
- }
- langs.put(ll, hmap)
- }
- println("---")
- File(File(folder.parent).absolutePath+"/languages/de.yml").createNewFile()
- /*
- File(File(folder.parent).absolutePath+"/languages/en.yml").createNewFile()
- */
- /*.createNewFile()*/
- }
- fun get(key:String,language:String):String{
- return langs.get(language)!!.get(key)!!
- }
- fun get(key:String,p:Player):String{
- return langs.get(players.get(p.uniqueId))!!.get(key)!!
- }
- fun sendMessage(key:String,ls:List<String>){
- for(p in Bukkit.getOnlinePlayers()){
- var l= langs.get(players.get(p.uniqueId))!!.get(key)!!
- var i=0
- for(rp in ls){
- l=l.replace("%$i",rp)
- i++
- }
- p.sendMessage(main.prefix+l)
- }
- /* return langs.get(lang)!!.get(key)!!*/
- }
- fun pSendMessage(p:Player,key:String,ls:List<String>){
- var l= langs.get(players.get(p.uniqueId))!!.get(key)!!
- var i=0
- for(rp in ls){
- println(rp)
- l=l.replace("%$i",rp)
- i++
- }
- p.sendMessage(main.prefix+l)
- /* return langs.get(lang)!!.get(key)!!*/
- }
- fun pSendMessage(p:Player,key:String){
- println(players.get(p.uniqueId))
- println(key)
- var l= langs.get(players.get(p.uniqueId))!!.get(key)!!
- println(l)
- /*var i=0
- for(rp in ls){
- l=l.replace("%$i",rp)
- i++
- }*/
- p.sendMessage(main.prefix+l)
- /* return langs.get(lang)!!.get(key)!!*/
- }
- fun sendFMessage(key:String,ls:List<String>){
- for(p in Bukkit.getOnlinePlayers()){
- var l= langs.get(players.get(p.uniqueId))!!.get(key)!!
- println(l)
- var i=0
- for(rp in ls){
- println("%$i")
- l=l.replace("%$i",rp)
- i++
- }
- p.sendMessage(l)
- }
- /* return langs.get(lang)!!.get(key)!!*/
- }
- fun setLang(player: Player, get: String) {
- try {
- val rs = query("SELECT * FROM USER WHERE UUID= '${player.uniqueId}'")
- if (rs==null) {
- update("INSERT INTO USER(UUID, LANG ) VALUES ('${player.uniqueId}','${get}');")
- } else {
- if(rs.next()){
- /*
- update("INSERT INTO USER(UUID, LANG ) VALUES ('${player.uniqueId}','${get}');")
- */
- update("UPDATE USER SET LANG= '$get' WHERE UUID= '${player.uniqueId}';")
- }else{
- update("INSERT INTO USER(UUID, LANG ) VALUES ('${player.uniqueId}','${get}');")
- }
- }
- } catch (e: SQLException) {
- e.printStackTrace()
- }
- }
- fun pSendFMessage(p: Player, s: String) {
- var l= langs.get(players.get(p.uniqueId))!!.get(s)!!
- /*var i=0
- for(rp in ls){
- l=l.replace("%$i",rp)
- i++
- }*/
- p.sendMessage(l)
- }
- fun sendKeyMessage(message: String, keys: List<KeyString>) {
- for (p in Bukkit.getOnlinePlayers()){
- var mg=message
- for((i, rp) in keys.withIndex()){
- mg=mg.replace("%$i",rp.get(p))
- }
- p.sendMessage(main.prefix+mg)
- }
- }
- fun sendKKeyMessage(key: String, keys: List<KeyString>) {
- for (p in Bukkit.getOnlinePlayers()){
- var mg= get(key, p)
- for((i, rp) in keys.withIndex()){
- mg=mg.replace("%$i",rp.get(p))
- }
- p.sendMessage(main.prefix+mg)
- }
- }
- fun pSendKeyMessage(p: Player, s: String,keys: List<KeyString>) {
- var mg= langs.get(players.get(p.uniqueId))!!.get(s)!!
- for((i, rp) in keys.withIndex()){
- mg=mg.replace("%$i",rp.get(p))
- }
- p.sendMessage(main.prefix+mg)
- }
- fun getWithR(key:String,p:Player,arg:String):String{
- return langs.get(players.get(p.uniqueId))!!.get(key)!!.replace("%0",arg)
- }
- fun sendRawMessage(key:String,ls:List<String>){
- for(p in Bukkit.getOnlinePlayers()){
- var l= langs.get(players.get(p.uniqueId))!!.get(key)!!
- var i=0
- for(rp in ls){
- l=l.replace("%$i",rp)
- i++
- }
- p.sendMessage(l)
- }
- /* return langs.get(lang)!!.get(key)!!*/
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement