Skip to content

Commit

Permalink
[2.0.0-PRE-35] Update & Fix
Browse files Browse the repository at this point in the history
* Fix PlayerList in Velocity
* Fix auto-detect with Velocity
* Optimize code
* Try to fix some confusing bugs
  • Loading branch information
ItsFlicker committed Sep 16, 2022
1 parent ace9772 commit e81b514
Show file tree
Hide file tree
Showing 28 changed files with 201 additions and 156 deletions.
4 changes: 2 additions & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
group=me.arasple.mc.trchat
version=2.0.0-PRE-34
taboolibVersion=6.0.9-88
version=2.0.0-PRE-35
taboolibVersion=6.0.9-92
4 changes: 2 additions & 2 deletions plugin-shaded/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ dependencies {
implementation(project(":project:implementation-velocity"))
implementation("com.eatthepath:fast-uuid:0.2.0")
implementation("net.kyori:adventure-api:4.11.0")
implementation("net.kyori:adventure-platform-bukkit:4.1.1")
implementation("net.kyori:adventure-platform-bungeecord:4.1.1")
implementation("net.kyori:adventure-platform-bukkit:4.1.2")
implementation("net.kyori:adventure-platform-bungeecord:4.1.2")
}

tasks {
Expand Down
2 changes: 1 addition & 1 deletion project/common/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,5 @@ taboolib {

dependencies {
compileOnly("com.eatthepath:fast-uuid:0.2.0")
compileOnly("net.kyori:adventure-platform-api:4.1.1")
compileOnly("net.kyori:adventure-platform-api:4.1.2")
}
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
package me.arasple.mc.trchat

import java.util.concurrent.CompletableFuture

/**
* @author wlys
* @since 2022/6/18 15:19
*/
interface ProxyManager {

fun sendCommonMessage(recipient: Any, vararg args: String, async: Boolean = true): Boolean
fun sendCommonMessage(recipient: Any, vararg args: String, async: Boolean = true): CompletableFuture<Boolean>

fun sendTrChatMessage(recipient: Any, vararg args: String, async: Boolean = true): Boolean
fun sendTrChatMessage(recipient: Any, vararg args: String, async: Boolean = true): CompletableFuture<Boolean>

}
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
package me.arasple.mc.trchat.module.internal.service

import taboolib.common.LifeCycle
import taboolib.common.platform.Awake
import taboolib.common.platform.Platform
import taboolib.common.platform.function.pluginVersion
import taboolib.common.platform.function.runningPlatform
import taboolib.module.metrics.Metrics
Expand All @@ -10,24 +13,30 @@ import taboolib.module.metrics.charts.SingleLineChart
*/
object Metrics {

private lateinit var metrics: Metrics
private var metrics: Metrics? = null

private val counts = intArrayOf(0, 0)

fun init(serviceId: Int) {
metrics = Metrics(serviceId, pluginVersion, runningPlatform).apply {
// 聊天次数统计
addCustomChart(SingleLineChart("chat_counts") {
val i = counts[0]
counts[0] = 0
i
})
// 敏感词过滤器启用统计
addCustomChart(SingleLineChart("filter_counts") {
val i = counts[1]
counts[1] = 0
i
})
@Awake(LifeCycle.ACTIVE)
internal fun init() {
metrics = when (runningPlatform) {
Platform.BUKKIT -> Metrics(5802, pluginVersion, runningPlatform).apply {
// 聊天次数统计
addCustomChart(SingleLineChart("chat_counts") {
val i = counts[0]
counts[0] = 0
i
})
// 敏感词过滤器启用统计
addCustomChart(SingleLineChart("filter_counts") {
val i = counts[1]
counts[1] = 0
i
})
}
Platform.BUNGEE -> Metrics(5803, pluginVersion, runningPlatform)
Platform.VELOCITY -> Metrics(12541, pluginVersion, runningPlatform)
else -> null
}
}

Expand All @@ -36,4 +45,5 @@ object Metrics {
counts[index] += value
}
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import com.google.gson.JsonElement
import com.google.gson.JsonParser
import me.arasple.mc.trchat.util.proxy.common.MessageBuilder
import taboolib.common.platform.function.console
import java.text.SimpleDateFormat
import java.util.*

/**
Expand All @@ -15,9 +14,7 @@ import java.util.*
* @author wlys
* @since 2021/9/12 18:11
*/
val jsonParser = JsonParser()

val muteDateFormat = SimpleDateFormat()
private val jsonParser = JsonParser()

fun Throwable.print(title: String, printStackTrace: Boolean = true) {
console().sendMessage("§c[TrChat] §8$title")
Expand All @@ -32,9 +29,9 @@ fun Throwable.print(title: String, printStackTrace: Boolean = true) {
fun String.parseJson(): JsonElement = jsonParser.parse(this)!!

fun buildMessage(vararg messages: String): List<ByteArray> {
return MessageBuilder.create(arrayOf(UUID.randomUUID().toString(), *messages))
return MessageBuilder.create(arrayOf(UUID.randomUUID().parseString(), *messages))
}

fun String.toUUID(): UUID = FastUUID.parseUUID(this)

fun UUID.string(): String = FastUUID.toString(this)
fun UUID.parseString(): String = FastUUID.toString(this)
2 changes: 1 addition & 1 deletion project/implementation-bukkit/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ repositories {
dependencies {
api(project(":project:common"))

compileOnly("net.kyori:adventure-platform-bukkit:4.1.1")
compileOnly("net.kyori:adventure-platform-bukkit:4.1.2")

compileOnly("ink.ptms.core:v11902:11902:mapped")
// compileOnly("ink.ptms.core:v11900:11900:mapped")
Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@
*/
@RuntimeDependency(
value = "!net.kyori:adventure-api:4.11.0",
test = "net.kyori.adventure.Adventure",
test = "!net.kyori.adventure.Adventure",
initiative = true
)
@RuntimeDependency(
value = "!net.kyori:adventure-platform-bukkit:4.1.1",
test = "net.kyori.adventure.platform.bukkit.BukkitAudiences",
value = "!net.kyori:adventure-platform-bukkit:4.1.2",
test = "!net.kyori.adventure.platform.bukkit.BukkitAudiences",
repository = "https://repo.maven.apache.org/maven2",
initiative = true
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ class ChatSession(
val component = if (MinecraftVersion.majorLegacy >= 11900) {
val json = classChatSerializer.invokeMethod<String>("a", source.invokeMethod<Any>("content")!!, isStatic = true)!!
gson(json)
} else if (!TrChatBukkit.paperEnv) {
} else if (!TrChatBukkit.isPaperEnv) {
val json = classChatSerializer.invokeMethod<String>("a", read<Any>("a")!!, isStatic = true)!!
gson(json)
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ open class Channel(
if (settings.ports != null) {
Bukkit.getServer().sendTrChatMessage(
"ForwardRaw",
Identity.nil().uuid().string(),
Identity.nil().uuid().parseString(),
gson,
settings.joinPermission ?: "null",
settings.ports.joinToString(";"),
Expand All @@ -111,7 +111,7 @@ open class Channel(
} else {
Bukkit.getServer().sendTrChatMessage(
"BroadcastRaw",
Identity.nil().uuid().string(),
Identity.nil().uuid().parseString(),
gson,
settings.joinPermission ?: "null",
settings.doubleTransfer.toString()
Expand Down Expand Up @@ -165,7 +165,7 @@ open class Channel(
if (settings.ports != null) {
player.sendTrChatMessage(
"ForwardRaw",
player.uniqueId.string(),
player.uniqueId.parseString(),
gson,
settings.joinPermission ?: "null",
settings.ports.joinToString(";"),
Expand All @@ -174,7 +174,7 @@ open class Channel(
} else {
player.sendTrChatMessage(
"BroadcastRaw",
player.uniqueId.string(),
player.uniqueId.parseString(),
gson,
settings.joinPermission ?: "null",
settings.doubleTransfer.toString()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ object ItemShow : Function("ITEM") {
}
cache.getIfPresent(item) ?: kotlin.run {
HookPlugin.getInteractiveChat().createItemDisplayComponent(sender, item) ?:
sender.getComponentFromLang("Function-Item-Show-Format", item.getDisplayName(sender).also { println(it) }, item.amount)
sender.getComponentFromLang("Function-Item-Show-Format", item.getDisplayName(sender), item.amount)
?.hoverItemFixed(item, sender)
?.also { cache.put(item, it) }
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ object BukkitComponentManager : ComponentManager {
if (HookPlugin.getInteractiveChat().sendMessage(commandSender, newComponent)) {
return
}
if (TrChatBukkit.paperEnv) {
if (TrChatBukkit.isPaperEnv) {
commandSender.sendMessage(identity, newComponent, MessageType.SYSTEM)
} else {
if (commandSender is Player) {
Expand Down Expand Up @@ -113,7 +113,7 @@ object BukkitComponentManager : ComponentManager {
if (HookPlugin.getInteractiveChat().sendMessage(commandSender, newComponent)) {
return
}
if (TrChatBukkit.paperEnv) {
if (TrChatBukkit.isPaperEnv) {
commandSender.sendMessage(identity, newComponent, MessageType.CHAT)
} else {
if (commandSender is Player) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,15 @@ import me.arasple.mc.trchat.module.internal.data.PlayerData
import me.arasple.mc.trchat.module.internal.filter.ChatFilter
import me.arasple.mc.trchat.module.internal.hook.HookPlugin
import me.arasple.mc.trchat.module.internal.proxy.BukkitProxyManager
import me.arasple.mc.trchat.module.internal.service.Metrics
import me.arasple.mc.trchat.util.color.parseGradients
import me.arasple.mc.trchat.util.color.parseRainbow
import org.bukkit.Bukkit
import taboolib.common.env.RuntimeEnv
import taboolib.common.platform.*
import taboolib.common.platform.function.console
import taboolib.common.platform.function.disablePlugin
import taboolib.common.platform.function.pluginVersion
import taboolib.common.platform.function.severe
import taboolib.module.kether.Kether
import taboolib.module.lang.Language
import taboolib.module.lang.TextTransfer
Expand All @@ -32,40 +33,57 @@ import taboolib.module.nms.MinecraftVersion.majorLegacy
@PlatformSide([Platform.BUKKIT])
object TrChatBukkit : Plugin() {

var paperEnv = false
var isPaperEnv = false
private set

var isShadedVersion = false
private set

var isGlobalMuting = false

val reportedErrors = mutableListOf<String>()

@Awake
fun loadDependency() {
internal fun loadDependency() {
try {
// Shaded
Class.forName("me.arasple.mc.trchat.library.adventure.platform.bukkit.BukkitAudiences")
isShadedVersion = true
} catch (_: ClassNotFoundException) {
}
try {
// Paper 1.16.5+
Class.forName("com.destroystokyo.paper.PaperConfig")
if (majorLegacy >= 11604) {
paperEnv = true
isPaperEnv = true
if (isShadedVersion) {
severe(
"*************************",
"* You should use common version of TrChat on your server.",
"* Plugin is disabled now.",
"*************************"
)
disablePlugin()
return
}
}
} catch (_: ClassNotFoundException) {
}
if (!paperEnv) {
if (!isPaperEnv && !isShadedVersion) {
RuntimeEnv.ENV.loadDependency(BukkitEnv::class.java, true)
}
}

override fun onLoad() {
console().sendLang("Plugin-Loading", Bukkit.getBukkitVersion())

Metrics.init(5802)
}

override fun onEnable() {
Databases.init()
if (!paperEnv) {
Databases.database
if (!isPaperEnv) {
BukkitComponentManager.init()
}
BukkitProxyManager.platform
BukkitProxyManager.processor

Kether.isAllowToleranceParser = Settings.CONF.getBoolean("Options.Kether-Allow-Tolerance-Parser", true)
Language.textTransfer += object : TextTransfer {
Expand All @@ -83,7 +101,7 @@ object TrChatBukkit : Plugin() {
}

override fun onDisable() {
if (!paperEnv) {
if (!isPaperEnv) {
BukkitComponentManager.release()
}
BukkitProxyManager.processor?.close()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import taboolib.common.platform.command.CommandBody
import taboolib.common.platform.command.CommandHeader
import taboolib.common.platform.command.mainCommand
import taboolib.common.platform.command.subCommand
import taboolib.common.platform.function.submit
import taboolib.common.platform.function.submitAsync
import taboolib.common5.Mirror
import taboolib.expansion.createHelper
import taboolib.module.lang.sendLang
Expand Down Expand Up @@ -63,7 +63,7 @@ object CommandHandler {
@CommandBody(permission = "trchat.command.mirror", optional = true)
val mirror = subCommand {
execute<ProxyCommandSender> { sender, _, _ ->
submit(async = true) {
submitAsync {
sender.sendMessage("\n§b§lTrChat §a§l§nPerformance Mirror\n§r")
Mirror.report(sender) {
childFormat = "§8 {0}§7{1} §2[{3} ms] §7{4}%"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package me.arasple.mc.trchat.module.internal.data

import me.arasple.mc.trchat.api.event.CustomDatabaseEvent
import me.arasple.mc.trchat.module.conf.file.Settings
import me.arasple.mc.trchat.module.internal.database.Database
import me.arasple.mc.trchat.module.internal.database.DatabaseSQL
import me.arasple.mc.trchat.module.internal.database.DatabaseSQLite
import me.arasple.mc.trchat.util.Internal
Expand All @@ -11,6 +10,7 @@ import taboolib.common.platform.Awake
import taboolib.common.platform.Platform
import taboolib.common.platform.PlatformSide
import taboolib.common.platform.Schedule
import taboolib.common.util.unsafeLazy
import taboolib.platform.util.onlinePlayers

/**
Expand All @@ -21,10 +21,8 @@ import taboolib.platform.util.onlinePlayers
@PlatformSide([Platform.BUKKIT])
object Databases {

lateinit var database: Database

fun init() {
database = when (val type = Settings.CONF.getString("Database.Method")?.uppercase()) {
val database by unsafeLazy {
when (val type = Settings.CONF.getString("Database.Method")?.uppercase()) {
"LOCAL", "SQLITE", null -> DatabaseSQLite()
"SQL" -> DatabaseSQL()
else -> {
Expand All @@ -40,4 +38,5 @@ object Databases {
fun save() {
onlinePlayers.forEach { database.push(it) }
}

}
Loading

0 comments on commit e81b514

Please sign in to comment.