Изменения:
- Переход к JSON-конфигу
- Теперь при ламинировании карты отображается, кто её заламинировал и его uuid
- Теперь у переименованных предметов нет курсивного шрифта
This commit is contained in:
lonewo 2025-10-22 12:35:41 +05:00
parent a26006c548
commit f5c466cf70
6 changed files with 59 additions and 494 deletions

View file

@ -14,7 +14,7 @@ plugins {
val javaVersion = 24
group = "dev.marrow"
version = "1.2.0"
version = "1.3.0"
description = "listener of labels and maps"
// paper-plugin.yml

View file

@ -1,6 +1,7 @@
package dev.marrow.zsign
import com.github.shynixn.mccoroutine.bukkit.SuspendingJavaPlugin
import dev.marrow.zsign.config.ConfigIO
import dev.marrow.zsign.listeners.AnvilUseListener
import dev.marrow.zsign.listeners.MapLaminationListener
import dev.marrow.zsign.utils.CommonUtils.gson
@ -23,6 +24,8 @@ class Core : SuspendingJavaPlugin() {
instance = this
console = logger
ConfigIO.readConfig()
// Только наш cartography-слушатель
server.pluginManager.registerEvents(MapLaminationListener(this), this)
server.pluginManager.registerEvents(AnvilUseListener(this), this)

File diff suppressed because one or more lines are too long

View file

@ -1,6 +1,7 @@
package dev.marrow.zsign.listeners
import dev.marrow.zsign.Core
import dev.marrow.zsign.config.ConfigIO
import net.kyori.adventure.text.Component
import net.kyori.adventure.text.format.NamedTextColor
import net.kyori.adventure.text.format.TextColor
@ -42,9 +43,8 @@ class AnvilUseListener(private val plugin: Core) : Listener {
private val plain = PlainTextComponentSerializer.plainText()
private fun ItemStack?.isAir(): Boolean = this == null || type == Material.AIR
}
private val config get() = plugin.config
private val banSymbols get() = config.getStringList("ban-symbols")
private val streamerWords get() = config.getStringList("streamer-words")
val banSymbols = ConfigIO.instance.filters.banSymbols
val streamerWords = ConfigIO.instance.filters.streamerWords
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
fun onPrepareAnvil(e: PrepareAnvilEvent) {
@ -84,7 +84,7 @@ class AnvilUseListener(private val plugin: Core) : Listener {
}
if (newName != null) {
meta.displayName(Component.text(newName))
meta.displayName(Component.text(newName).decoration(TextDecoration.ITALIC, false))
}
if (secondItem != null) {

View file

@ -5,6 +5,8 @@ import dev.marrow.zsign.Core
import io.papermc.paper.event.player.CartographyItemEvent
import io.papermc.paper.threadedregions.scheduler.ScheduledTask
import net.kyori.adventure.text.Component
import net.kyori.adventure.text.format.NamedTextColor
import net.kyori.adventure.text.format.TextDecoration
import org.bukkit.Material
import org.bukkit.NamespacedKey
import org.bukkit.entity.Player
@ -36,10 +38,13 @@ class MapLaminationListener(private val plugin: Core) : Listener {
return mm.persistentDataContainer.has(laminatedKey, PersistentDataType.BYTE)
}
private fun markLaminated(copy: ItemStack): ItemStack = copy.apply {
private fun markLaminated(copy: ItemStack, player: Player): ItemStack = copy.apply {
val mm = itemMeta as MapMeta
mm.persistentDataContainer.set(laminatedKey, PersistentDataType.BYTE, 1.toByte())
mm.lore(listOf(Component.text("Заламинирована")))
mm.lore(listOf(
Component.text("Заламинировано игроком ${player.name}").color(NamedTextColor.YELLOW).decoration(TextDecoration.ITALIC, false),
Component.text("(${player.uniqueId})").color(NamedTextColor.GRAY).decoration(TextDecoration.ITALIC, false),
))
itemMeta = mm
}
@ -100,7 +105,8 @@ class MapLaminationListener(private val plugin: Core) : Listener {
val top = inv.getItem(TOP_SLOT)
val cursor = inv.viewers.firstOrNull()?.itemOnCursor
if (top.isRedPane() || (top.isAir() && cursor.isRedPane())) {
val out = markLaminated(base.clone())
val player = inv.viewers.firstOrNull() as? Player ?: return
val out = markLaminated(base.clone(), player)
out.amount = 1
e.result = out
}

View file

@ -1,486 +1 @@
enabled-message: "ZSign enabled!"
ban-symbols:
- "卐"
- "卍"
- "☭"
- "ᛋ"
streamer-words:
- "пидор"
- "чурк"
- "чурок"
- "🅿️🆔🅾️®️"
- "пидо р"
- "п идор"
- "пид ор"
- "хутору"
- "хутор"
- "слава украiнe"
- "слава украинe"
- "слава россии"
- "слава украе"
- "слава украине"
- "гoйдy"
- "гoйdу"
- "гойdу"
- "гoйду"
- "гойду"
- "гoйdа"
- "гойda"
- "гoйda"
- "гoйда"
- "гойдa"
- "гoйдa"
- "ZOV"
- "zov"
- "н3гр"
- "ПИДR"
- "бахмут"
- "ytuhs"
- "куколды"
- "куколд"
- "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"
- "ПЕДРИЛА"
- "nig"
- "хуесос"
- "П,И,Д,О,Р"
- "н.е.г.р.и"
- "негрыпидорас"
- "негр"
- "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гры"
- "падарас"
- "П.u.д.о.р.а.c."
- "П.u.д.о.р.а.c"
- "П.u.д.о.p.a"
- "П.u.д.o.р."
- "П.u.д.o.р"
- "П.u.д.o.p."
- "П.u.д.o.p"
- "П.u.д.о.p."
- "П.u.д.о.p"
- "П.u.д.о.р.а.s."
- "П.u.д.о.р.а.s"
- "П.u.д.о.р.a"
- "П.u.д.о.р.a."
- "П.u.д.о.р.а.с."
- "П.u.д.о.р.а"
- "П.u.д.о.р"
- "П.u.д.о.р.а.с"
- "каклошвайн"
- "хох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"
- "п.и.д.о.р."
- "ж.и.д"
- "н.е.г.р"
- "п.и.д.о.р.ы."
- "P🆔🅾R"
- "П🆔🅾️Р"
- "Р🆔🅾️Р"
- "🅿️🆔🅾️Р"
- "🅿️🆔о🅿️"
- "🅿🆔0🅿"
- "П🆔🅾️🅿️"
- "🅿️🆔🅾️🅿️"
- "жидомасон"
- "жиды"
- "линчевать"
- "жидовка"
- "жидовик"
- "еблан черножопый"
- "FUCK ŊIGGERS"
- "пiдор"
- "пидер"
- "пидур"
- "негроид"
- "нtгр"
- "негыр"
- "негор"
- "нe гр"
- "нeгр"
- "негритян"
- "пидараска"
- "пидогр"
- "нигорас"
- "пидрила"
- "п1дра"
- "п3дра"
- "п3д1к"
- "пед1к"
- "п3дик"
- "п1д4рас"
- "п1дор"
- "pid0r"
- "pid3r"
- "p1d3r"
- "p1d0r"
- "p1dor"
- "n1g3r"
- "n1g4"
- "n1ga"
- "nig4"
- "н...е...г...р"
- "пид🅾️🅿️"
- "🅿🆔D🅾🅿"
- "🅿️🆔🅾️🅿️"
- "P🆔🅾🅿🅰C"
- "🅿D🅾🅿🅰S"
- "симп"
- "πдорасы"
- "НЕLРЫ"
- "πдорасы"
- "🅿🆔0⃣🅿"
- "жидина"
- "H3гp"
- "⛩🆔🅾️🅿️"
- "peedooor"
- "нэгры"
- "нэгр"
- "трап"
- "жидяра"
- "𝐻𝑒г𝑝ы пид𝑜𝑝ы"
- "пидهpaح"
- "ПИДДОРЫ"
- "НЕГГРЫ"
- "пидар"
- "нидор*"
- "пегр*"
- "педар*"
- "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г"
- "Hug"
- "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"
- "cmonBruh"
- "paydo"
- "peид"
- "негр"
- "ниге"
- "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ид"
- "GBLFH"
- "GBLJH"
- "пидo"
- "пид0"
- "пидо"
- "pid"
- "пiд"
- "nud"
- "nuд"
- "nug"
- "пидор"
- "🅿D🅰®🅰SN🅰"
- "нerp"
- е г р"