package dev.marrow.zsign.config import dev.marrow.zsign.Core import dev.marrow.zsign.utils.CommonUtils.gson import java.io.BufferedReader import java.io.File import java.io.FileReader import java.io.FileWriter @Suppress("unused") object ConfigIO { lateinit var instance: ConfigurationModel data class ConfigurationModel( val filters: Filters = Filters(), ) { data class Filters( val banSymbols: List = listOf("卐", "卍", "☭", "ᛋ"), val streamerWords: List = listOf( "пидор", "чурк", "чурок", "пидо р", "п идор", "пид ор", "хутору", "хутор", "слава украiнe", "слава украинe", "слава россии", "слава украiне", "слава украине", "гoйдy", "гoйdу", "гойdу", "гoйду", "гойду", "гoйdа", "гойda", "гoйda", "гoйда", "гойдa", "гoйдa", "ZOV", "zov", "н3гр", "ПИДR", "бахмут", "куколды", "куколд", "nigr", "PartyKirby", "n3gr", "пи дор", "черножопый", "нигры", "nigа", "РУСНЯ", "чурки", "хохлом", "kiggers", "глиномес", "нигр", "негер", "ЗИГ ХАЙЛЬ", "ХАЧА", "N1GG*", "даун", "дaун", "даyн", "dayн", "dаун", "дayн", "daун", "dаyн", "pиdor", "неggr", "додик", "P.!.D/0.R.bl", "NELPы", "HЕLРы", "HELРы", "HELPы", "D101R1А1", "И1Г1Е1Р", "!GGЕ", "D0RАС", "Pl!!D0RАСЫ", "NИ!!!GGЕRbl", "!ГEPb", "!ГЕРb", "!GЕРb", "H!!!GЕРbl", "П!!!ДОRАСЫ", "ДОRАС", "П!!ДОРАСЫ", "H!!ГЕРbl", "дорас", "Н!!Г", "H!!Г", "П!!Д", "ДAУH", "ДАУH", "П!ДOР", "H!ГЕР", "H!ГЕPЫ", "H!ГEРЫ", "H!ГЕРЫ", "П!ДОР", "П!ДОРАSЫ", "П!ДОРАСЫ", "Н!ГЕРЫ", "додiк", "додан", "додик", "хохлина", "хохлов", "хохла", "хохлы", "N1GERS", "FA1OTS", "хохол", "incel", "инцел", "шлюха", "p..i..d..o..r..a..s", "ПЕДРИЛА", "хуесос", "П,И,Д,О,Р", "н.е.г.р.и", "негрыпидорас", "негр", "P.1.D.OO.RA.S", "N.E.G.R1", "N.E.G.R1 P.1.D.OO.RA.S", "пiдdop", "пiiдdopp", "даyn", "чypка", "4урка", "чурке", "чурка", "YappiDoor", "книгр", "дауны", "П.И.Д.О.R.A.S", "П3.14DOOR", "П.И.Д.О.Р.А.С.И.Н.А.А,А.А.А", "Н3гры", "падарас", "каклошвайн", "хохiл", "хохіл", "пидр", "пидарасик", "пидорасик", "педерасик", "педрильник", "педрик", "педр", "педеряга", "полупокер", "гомик", "гомосек", "пидераст", "педераст", "f@gg0t", "f@ggot", "daun", "д@ун", "даун", "pedovka", "х@4", ") (@4", ")(ач", ")(о)(ол", "pidarac", "pidorok", "pidarok", "п1д@рок", "п1дарок", "пидорок", "пидарок", "хохлам", "хохолка", "хохлушка", "хахлушка", "хахлина", "пидриловна", "пидорёха", "пидарёха", "пидрилка", "пидарасина", "пидарас", "пидораска", "пидорасина", "хахолка", "xoxoл", "xoxol", "х@хол", "х@х0л", "хахол", "niгга", "ниgga", "нegr", "nегр", "пидop", "пидoр", "хoхoл", "х0х0л", "pedickson", "p1d4r8s8", "p3dik", "p3d1k", "pedick", "pedik", "жид9ра", "ж1д9ра", "ж1д", "н1г@", "н1чер", "н1гер", "н1га", "ниг@", "пид@р@с", "н?е?г?р", "н!е!г!р", "п!и!д!о!р!а!с", "п?и?д?о?р?а?с", "ж(и(д", "ж)и)д", "н(и(г(а", "н)и)г)а", "н(е(г(р", "н)е)г)р", "п)и)д)р)а)с", "п(и(д(а(р(а(с", "ж/и/д", "ж\\и\\д", "н/и/г/а", "н/е/г/р", "н\\и\\г\\г\\а", "н\\е\\г\\р", "п\\и\\д\\о\\р\\а\\с", "p/i/d/a/r/a/s", "n/i/g/g/a", "нигерас", "п.и.д.а.р.а.с", "н.и.г.е.р", "n.i.b.b.e.r", "n.1.g.e.r", "n.i.g.e.r", "n.i.g.a", "p.i.d.0r", "p.i.d.o.r", "p.i.d.a.r.a.s", "П. ИД.О.Р", "д4унbl", "п.и.д.о.р.", "ж.и.д", "н.е.г.р", "п.и.д.о.р.ы.", "жидомасон", "жиды", "линчевать", "жидовка", "жидовик", "еблан черножопый", "FUCK ŊIGGERS", "пiдор", "пидер", "пидур", "негроид", "нtгр", "негыр", "негор", "нeгр", "негритян", "пидараска", "пидогр", "нигорас", "пидрила", "п1др1ла", "п3др1ла", "п3д1к", "пед1к", "п3дик", "п1д4рас", "п1дор", "pid0r", "pid3r", "p1d3r", "p1d0r", "p1dor", "n1g3r", "n1g4", "n1ga", "nig4", "н...е...г...р", "симп", "πдорасы", "НЕLРЫ", "πдорасы", "жидина", "H3гp", "peedooor", "нэгры", "нэгр", "трап", "жидяра", "ПИДДОРЫ", "НЕГГРЫ", "пидар", "нидор*", "пегр*", "педар*", "pedor", "pee d", "Heг", "педор", "Hег", "Hеr", "nиd", "нir", "пid", "HNГ", "ни га", "p1d", "Niг", "п1g", "nuг", "nиг", "nur", "nиr", "пеg", "neg", "пeg", "ттug", "ттиg", "ттuд", "нигe", "пидe", "n1д", "н1г", "п1d", "пидa", "пида", "piд", "ни ге", "ни гг", "TTug", "TTuд", "TTиg", "TTид", "Hiг", "Hиg", "нигa", "niq", "пидp", "гамосек", "пиде", "П|/|Д", "ПI/IД", "Пl/lД", "Н|/|Г", "Нl/lГ", "нug", "нiг", "пig", "niд", "fag", "Heg", "Hig", "Hl/lГ", "пмдор", "пмдар", "пирадас", "Herp", "Herр", "Huг", "нeг", "негp", "ниg", "нuг", "НI/IГ", "Hиг", "питор", "питар", "ниr", "ниччер", "ничер", "ніг", "нig", "н и г", "Hиr", "нur", "nіg", "n i g", "NlG", "paydo", "негр", "ниге", "nige", "niga", "nigg", "нигг", "пи д", "пигор", "рid", "ттид", "p i d", "п и д", "фаг", "пиg", "пud", "пиd", "хачи", "під", "пuд", "п1д", "пeд", "пиндос", "пендос", "пug", "педи", "дaун", "p`id", "πuд", "πиg", "πug", "πид", "ПNД", "PlD", "nиg", "nид", "пидo", "пид0", "пидо", "pid", "пiд", "nud", "nuд", "nug", "пидор", "нerp", "н е г р" ), ) } private val file = File("${System.getProperty("user.dir")}/plugins/${Core.instance.name}/config.json") fun readConfig() { if (!file.exists()) { Core.console.warning("Configuration file is missing, generating default one.") FileWriter(file).use { gson.toJson(ConfigurationModel(), it) } } val reader = BufferedReader(FileReader(file)) val gsonReader = gson.newJsonReader(reader) val config: ConfigurationModel = gson.fromJson(gsonReader, ConfigurationModel::class.java) instance = config } fun writeConfig() { FileWriter(file).use { gson.toJson(instance, it) } } }