Skip to content

Commit

Permalink
feat: add fake message feature
Browse files Browse the repository at this point in the history
  • Loading branch information
Syrent committed Jun 1, 2024
1 parent 59acc3d commit 68defcf
Showing 1 changed file with 36 additions and 9 deletions.
Original file line number Diff line number Diff line change
@@ -1,21 +1,16 @@
package org.sayandev.sayanvanish.bukkit.feature.features

import org.bukkit.event.EventHandler
import org.bukkit.event.EventPriority
import org.bukkit.event.player.PlayerJoinEvent
import org.bukkit.event.player.PlayerQuitEvent
import org.sayandev.sayanvanish.api.Permission
import org.sayandev.sayanvanish.api.VanishOptions
import org.sayandev.stickynote.bukkit.utils.AdventureUtils.component
import org.sayandev.sayanvanish.api.feature.RegisteredFeature
import org.sayandev.sayanvanish.bukkit.api.SayanVanishBukkitAPI
import org.sayandev.sayanvanish.bukkit.api.SayanVanishBukkitAPI.Companion.getOrCreateUser
import org.sayandev.sayanvanish.bukkit.api.SayanVanishBukkitAPI.Companion.user
import org.sayandev.sayanvanish.bukkit.api.event.BukkitUserUnVanishEvent
import org.sayandev.sayanvanish.bukkit.api.event.BukkitUserVanishEvent
import org.sayandev.sayanvanish.bukkit.config.language
import org.sayandev.sayanvanish.bukkit.feature.ListenedFeature
import org.sayandev.stickynote.bukkit.onlinePlayers
import org.sayandev.stickynote.bukkit.utils.AdventureUtils.component
import org.sayandev.stickynote.bukkit.utils.AdventureUtils.sendMessage
import org.sayandev.stickynote.bukkit.warn
import org.sayandev.stickynote.lib.kyori.adventure.text.minimessage.tag.resolver.Placeholder
import org.sayandev.stickynote.lib.spongepowered.configurate.objectmapping.ConfigSerializable

Expand All @@ -26,12 +21,44 @@ class FeatureFakeMessage(
val sendFakeQuitMessage: Boolean = false,
val fakeJoinMessage: String = "<yellow><player> joined the game",
val fakeQuitMessage: String = "<yellow><player> left the game",
val disableJoinMessageIfVanished: Boolean = true,
val disableQuitMessageIfVanished: Boolean = true,
) : ListenedFeature("fake_message") {

@EventHandler(priority = EventPriority.MONITOR)
@EventHandler
private fun onJoin(event: PlayerJoinEvent) {
if (!isActive()) return
if (disableJoinMessageIfVanished) {
event.joinMessage = null
}
}

@EventHandler
private fun onQuit(event: PlayerQuitEvent) {
if (!isActive()) return
if (disableQuitMessageIfVanished) {
event.quitMessage = null
}
}

@EventHandler
private fun onVanish(event: BukkitUserVanishEvent) {
if (!isActive()) return
if (sendFakeQuitMessage && !event.options.isOnJoin) {
for (player in onlinePlayers) {
player.sendMessage(fakeQuitMessage.component(Placeholder.unparsed("player", event.user.username)))
}
}
}

@EventHandler
private fun onUnVanish(event: BukkitUserUnVanishEvent) {
if (!isActive()) return
if (sendFakeJoinMessage && !event.options.isOnJoin) {
for (player in onlinePlayers) {
player.sendMessage(fakeJoinMessage.component(Placeholder.unparsed("player", event.user.username)))
}
}
}

}

0 comments on commit 68defcf

Please sign in to comment.