From 81db0e504e3da5410354596082a5ddc39f48bc9c Mon Sep 17 00:00:00 2001 From: TheBjoRedCraft Date: Mon, 25 May 2026 13:57:32 +0200 Subject: [PATCH 1/2] =?UTF-8?q?=E2=9C=A8=20feat(events):=20add=20new=20pla?= =?UTF-8?q?yer-related=20events=20for=20gameplay=20interactions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - introduce ArchaeologySpecialDropEvent for archaeology item drops - add ArmorStandBreakWithAxeEvent for breaking armor stands with axes - implement CaptchaFailEvent and CaptchaSuccessEvent for captcha interactions - create ChatAiModerateEvent for AI moderation of chat messages - add ChatDirectMessageEvent for direct messaging between players - implement ClanCreatedEvent and ClanDeleteEvent for clan management - introduce PayCheckPayEvent and PayCheckRefusePaymentEvent for payment handling - add various other player-related events for enhanced gameplay features --- gradle.properties | 2 +- .../surf/api/paper/event/captcha/CaptchaFailEvent.kt | 10 ++++++++++ .../api/paper/event/captcha/CaptchaSuccessEvent.kt | 10 ++++++++++ .../surf/api/paper/event/chat/ChatAiModerateEvent.kt | 9 +++++++++ .../api/paper/event/chat/ChatDirectMessageEvent.kt | 11 +++++++++++ .../surf/api/paper/event/chat/ChatIgnoreEvent.kt | 10 ++++++++++ .../surf/api/paper/event/chat/ChatUnIgnoreEvent.kt | 10 ++++++++++ .../event/chat/DisabledChatBlockMessageEvent.kt | 9 +++++++++ .../paper/event/chat/SlowChatBlockMessageEvent.kt | 9 +++++++++ .../surf/api/paper/event/clan/ClanCreatedEvent.kt | 10 ++++++++++ .../surf/api/paper/event/clan/ClanDeleteEvent.kt | 10 ++++++++++ .../surf/api/paper/event/clan/ClanDemotedEvent.kt | 10 ++++++++++ .../paper/event/clan/ClanInviteCountChangeEvent.kt | 10 ++++++++++ .../paper/event/clan/ClanMemberCountChangeEvent.kt | 10 ++++++++++ .../surf/api/paper/event/clan/ClanPromotedEvent.kt | 10 ++++++++++ .../paper/event/enchantment/CombineMendingEvent.kt | 8 ++++++++ .../api/paper/event/enchantment/CombineNemoEvent.kt | 8 ++++++++ .../event/enchantment/CombineRocketSaverEvent.kt | 8 ++++++++ .../paper/event/enchantment/CombineSoulboundEvent.kt | 8 ++++++++ .../enchantment/EmptyEnchantedBookCollectEvent.kt | 8 ++++++++ .../paper/event/enchantment/ReplenishCropEvent.kt | 8 ++++++++ .../event/enchantment/TelekinesisPickupEvent.kt | 8 ++++++++ .../api/paper/event/essentials/CommandFailEvent.kt | 9 +++++++++ .../surf/api/paper/event/essentials/SignItemEvent.kt | 11 +++++++++++ .../paper/event/essentials/SignItemReceiveEvent.kt | 12 ++++++++++++ .../event/essentials/SpecialItemReceiveEvent.kt | 10 ++++++++++ .../event/freebuild/ArmorStandBreakWithAxeEvent.kt | 8 ++++++++ .../api/paper/event/freebuild/ProtectItemEvent.kt | 10 ++++++++++ .../event/freebuild/ZombieVillagerCureFlyEvent.kt | 8 ++++++++ .../event/TakePartInBadFishingEventEvent.kt | 8 ++++++++ .../freebuild/event/TakePartInFishingEventEvent.kt | 8 ++++++++ .../freebuild/event/TakePartInMiningEventEvent.kt | 8 ++++++++ .../specialdrops/ArchaeologySpecialDropEvent.kt | 10 ++++++++++ .../specialdrops/FishingSpecialDropEvent.kt | 10 ++++++++++ .../api/paper/event/playtime/PayCheckPayEvent.kt | 8 ++++++++ .../event/playtime/PayCheckRefusePaymentEvent.kt | 8 ++++++++ .../api/paper/event/playtime/PlayerPlayAHourEvent.kt | 11 +++++++++++ .../paper/event/playtime/PlayerPlayAMinuteEvent.kt | 8 ++++++++ .../api/paper/event/protect/ExtendRegionEvent.kt | 9 +++++++++ .../api/paper/event/protect/ProtectRegionEvent.kt | 9 +++++++++ .../surf/api/paper/event/protect/SellRegionEvent.kt | 10 ++++++++++ .../paper/event/settings/SettingsBatchChangeEvent.kt | 9 +++++++++ .../surf/api/paper/event/shop/ShopBuyItemEvent.kt | 11 +++++++++++ .../surf/api/paper/event/shop/ShopChestPlaceEvent.kt | 10 ++++++++++ .../surf/api/paper/event/shop/ShopSellItemEvent.kt | 11 +++++++++++ .../event/spawnsystem/RespawnAtNearestSpawnEvent.kt | 10 ++++++++++ .../paper/event/spawntrader/SpawnTraderTradeEvent.kt | 12 ++++++++++++ .../api/paper/event/stats/StatsOptoutSettingEvent.kt | 8 ++++++++ .../api/paper/event/transaction/PlayerPayEvent.kt | 11 +++++++++++ 49 files changed, 452 insertions(+), 1 deletion(-) create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/captcha/CaptchaFailEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/captcha/CaptchaSuccessEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/ChatAiModerateEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/ChatDirectMessageEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/ChatIgnoreEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/ChatUnIgnoreEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/DisabledChatBlockMessageEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/SlowChatBlockMessageEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanCreatedEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanDeleteEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanDemotedEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanInviteCountChangeEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanMemberCountChangeEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanPromotedEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/CombineMendingEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/CombineNemoEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/CombineRocketSaverEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/CombineSoulboundEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/EmptyEnchantedBookCollectEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/ReplenishCropEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/TelekinesisPickupEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/essentials/CommandFailEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/essentials/SignItemEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/essentials/SignItemReceiveEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/essentials/SpecialItemReceiveEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/ArmorStandBreakWithAxeEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/ProtectItemEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/ZombieVillagerCureFlyEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/event/TakePartInBadFishingEventEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/event/TakePartInFishingEventEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/event/TakePartInMiningEventEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/specialdrops/ArchaeologySpecialDropEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/specialdrops/FishingSpecialDropEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/playtime/PayCheckPayEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/playtime/PayCheckRefusePaymentEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/playtime/PlayerPlayAHourEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/playtime/PlayerPlayAMinuteEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/protect/ExtendRegionEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/protect/ProtectRegionEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/protect/SellRegionEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/settings/SettingsBatchChangeEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/shop/ShopBuyItemEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/shop/ShopChestPlaceEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/shop/ShopSellItemEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/spawnsystem/RespawnAtNearestSpawnEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/spawntrader/SpawnTraderTradeEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/stats/StatsOptoutSettingEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/transaction/PlayerPayEvent.kt diff --git a/gradle.properties b/gradle.properties index f96891f3..3f0c58f6 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,6 +7,6 @@ org.jetbrains.dokka.experimental.gradle.pluginMode=V2Enabled javaVersion=25 mcVersion=26.1.2 group=dev.slne.surf.api -version=3.13.0 +version=3.13.1 relocationPrefix=dev.slne.surf.api.libs snapshot=false diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/captcha/CaptchaFailEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/captcha/CaptchaFailEvent.kt new file mode 100644 index 00000000..8912e2ee --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/captcha/CaptchaFailEvent.kt @@ -0,0 +1,10 @@ +package dev.slne.surf.api.paper.event.captcha + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player + +data class CaptchaFailEvent( + val player: Player, + val size: Int, + val timePerPage: Long +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/captcha/CaptchaSuccessEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/captcha/CaptchaSuccessEvent.kt new file mode 100644 index 00000000..ca4fb609 --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/captcha/CaptchaSuccessEvent.kt @@ -0,0 +1,10 @@ +package dev.slne.surf.api.paper.event.captcha + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player + +data class CaptchaSuccessEvent( + val player: Player, + val size: Int, + val timePerPage: Long +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/ChatAiModerateEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/ChatAiModerateEvent.kt new file mode 100644 index 00000000..2cb3e1f5 --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/ChatAiModerateEvent.kt @@ -0,0 +1,9 @@ +package dev.slne.surf.api.paper.event.chat + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player + +data class ChatAiModerateEvent( + val player: Player, + val message: String +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/ChatDirectMessageEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/ChatDirectMessageEvent.kt new file mode 100644 index 00000000..5a8b90e5 --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/ChatDirectMessageEvent.kt @@ -0,0 +1,11 @@ +package dev.slne.surf.api.paper.event.chat + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player +import java.util.* + +data class ChatDirectMessageEvent( + val player: Player, + val targetUuid: UUID, + val message: String +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/ChatIgnoreEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/ChatIgnoreEvent.kt new file mode 100644 index 00000000..957619e9 --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/ChatIgnoreEvent.kt @@ -0,0 +1,10 @@ +package dev.slne.surf.api.paper.event.chat + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player +import java.util.* + +data class ChatIgnoreEvent( + val player: Player, + val ignoredPlayerUuid: UUID +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/ChatUnIgnoreEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/ChatUnIgnoreEvent.kt new file mode 100644 index 00000000..6cb6da25 --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/ChatUnIgnoreEvent.kt @@ -0,0 +1,10 @@ +package dev.slne.surf.api.paper.event.chat + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player +import java.util.* + +data class ChatUnIgnoreEvent( + val player: Player, + val ignoredPlayerUuid: UUID +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/DisabledChatBlockMessageEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/DisabledChatBlockMessageEvent.kt new file mode 100644 index 00000000..aaa7c222 --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/DisabledChatBlockMessageEvent.kt @@ -0,0 +1,9 @@ +package dev.slne.surf.api.paper.event.chat + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player + +data class DisabledChatBlockMessageEvent( + val player: Player, + val message: String +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/SlowChatBlockMessageEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/SlowChatBlockMessageEvent.kt new file mode 100644 index 00000000..f8429207 --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/SlowChatBlockMessageEvent.kt @@ -0,0 +1,9 @@ +package dev.slne.surf.api.paper.event.chat + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player + +data class SlowChatBlockMessageEvent( + val player: Player, + val message: String +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanCreatedEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanCreatedEvent.kt new file mode 100644 index 00000000..28d459e2 --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanCreatedEvent.kt @@ -0,0 +1,10 @@ +package dev.slne.surf.api.paper.event.clan + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player + +data class ClanCreatedEvent( + val player: Player, + val clanName: String, + val clanTag: String +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanDeleteEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanDeleteEvent.kt new file mode 100644 index 00000000..83f2a1a8 --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanDeleteEvent.kt @@ -0,0 +1,10 @@ +package dev.slne.surf.api.paper.event.clan + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player + +data class ClanDeleteEvent( + val player: Player, + val clanName: String, + val clanTag: String +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanDemotedEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanDemotedEvent.kt new file mode 100644 index 00000000..cb4a9e03 --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanDemotedEvent.kt @@ -0,0 +1,10 @@ +package dev.slne.surf.api.paper.event.clan + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.OfflinePlayer + +data class ClanDemotedEvent( + val player: OfflinePlayer, + val clanName: String, + val newRole: String +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanInviteCountChangeEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanInviteCountChangeEvent.kt new file mode 100644 index 00000000..980adb68 --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanInviteCountChangeEvent.kt @@ -0,0 +1,10 @@ +package dev.slne.surf.api.paper.event.clan + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.OfflinePlayer + +data class ClanInviteCountChangeEvent( + val player: OfflinePlayer, + val clanName: String, + val newInviteCount: Int +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanMemberCountChangeEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanMemberCountChangeEvent.kt new file mode 100644 index 00000000..15e4d96f --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanMemberCountChangeEvent.kt @@ -0,0 +1,10 @@ +package dev.slne.surf.api.paper.event.clan + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.OfflinePlayer + +data class ClanMemberCountChangeEvent( + val player: OfflinePlayer, + val clanName: String, + val newMemberCount: Int +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanPromotedEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanPromotedEvent.kt new file mode 100644 index 00000000..cf5f7377 --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanPromotedEvent.kt @@ -0,0 +1,10 @@ +package dev.slne.surf.api.paper.event.clan + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.OfflinePlayer + +data class ClanPromotedEvent( + val player: OfflinePlayer, + val clanName: String, + val newRole: String +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/CombineMendingEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/CombineMendingEvent.kt new file mode 100644 index 00000000..be817cdb --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/CombineMendingEvent.kt @@ -0,0 +1,8 @@ +package dev.slne.surf.api.paper.event.enchantment + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player + +data class CombineMendingEvent( + val player: Player +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/CombineNemoEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/CombineNemoEvent.kt new file mode 100644 index 00000000..38b6991b --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/CombineNemoEvent.kt @@ -0,0 +1,8 @@ +package dev.slne.surf.api.paper.event.enchantment + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player + +data class CombineNemoEvent( + val player: Player +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/CombineRocketSaverEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/CombineRocketSaverEvent.kt new file mode 100644 index 00000000..5083830a --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/CombineRocketSaverEvent.kt @@ -0,0 +1,8 @@ +package dev.slne.surf.api.paper.event.enchantment + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player + +data class CombineRocketSaverEvent( + val player: Player +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/CombineSoulboundEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/CombineSoulboundEvent.kt new file mode 100644 index 00000000..f6f2a19c --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/CombineSoulboundEvent.kt @@ -0,0 +1,8 @@ +package dev.slne.surf.api.paper.event.enchantment + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player + +data class CombineSoulboundEvent( + val player: Player +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/EmptyEnchantedBookCollectEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/EmptyEnchantedBookCollectEvent.kt new file mode 100644 index 00000000..78ea572a --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/EmptyEnchantedBookCollectEvent.kt @@ -0,0 +1,8 @@ +package dev.slne.surf.api.paper.event.enchantment + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player + +data class EmptyEnchantedBookCollectEvent( + val player: Player +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/ReplenishCropEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/ReplenishCropEvent.kt new file mode 100644 index 00000000..5cffa88b --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/ReplenishCropEvent.kt @@ -0,0 +1,8 @@ +package dev.slne.surf.api.paper.event.enchantment + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player + +data class ReplenishCropEvent( + val player: Player +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/TelekinesisPickupEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/TelekinesisPickupEvent.kt new file mode 100644 index 00000000..c1f8d04d --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/TelekinesisPickupEvent.kt @@ -0,0 +1,8 @@ +package dev.slne.surf.api.paper.event.enchantment + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player + +data class TelekinesisPickupEvent( + val player: Player +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/essentials/CommandFailEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/essentials/CommandFailEvent.kt new file mode 100644 index 00000000..64e5839b --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/essentials/CommandFailEvent.kt @@ -0,0 +1,9 @@ +package dev.slne.surf.api.paper.event.essentials + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player + +data class CommandFailEvent( + val player: Player, + val command: String +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/essentials/SignItemEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/essentials/SignItemEvent.kt new file mode 100644 index 00000000..89a0117c --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/essentials/SignItemEvent.kt @@ -0,0 +1,11 @@ +package dev.slne.surf.api.paper.event.essentials + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player +import org.bukkit.inventory.ItemStack + +data class SignItemEvent( + val player: Player, + val item: ItemStack, + val description: String +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/essentials/SignItemReceiveEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/essentials/SignItemReceiveEvent.kt new file mode 100644 index 00000000..34783c6a --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/essentials/SignItemReceiveEvent.kt @@ -0,0 +1,12 @@ +package dev.slne.surf.api.paper.event.essentials + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player +import org.bukkit.inventory.ItemStack + +data class SignItemReceiveEvent( + val player: Player, + val item: ItemStack, + val description: String, + val signedByName: String +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/essentials/SpecialItemReceiveEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/essentials/SpecialItemReceiveEvent.kt new file mode 100644 index 00000000..9cbb6b37 --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/essentials/SpecialItemReceiveEvent.kt @@ -0,0 +1,10 @@ +package dev.slne.surf.api.paper.event.essentials + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player +import org.bukkit.inventory.ItemStack + +data class SpecialItemReceiveEvent( + val player: Player, + val item: ItemStack +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/ArmorStandBreakWithAxeEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/ArmorStandBreakWithAxeEvent.kt new file mode 100644 index 00000000..8c91812e --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/ArmorStandBreakWithAxeEvent.kt @@ -0,0 +1,8 @@ +package dev.slne.surf.api.paper.event.freebuild + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player + +data class ArmorStandBreakWithAxeEvent( + val player: Player +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/ProtectItemEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/ProtectItemEvent.kt new file mode 100644 index 00000000..b602c894 --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/ProtectItemEvent.kt @@ -0,0 +1,10 @@ +package dev.slne.surf.api.paper.event.freebuild + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player +import org.bukkit.inventory.ItemStack + +data class ProtectItemEvent( + val player: Player, + val itemStack: ItemStack +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/ZombieVillagerCureFlyEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/ZombieVillagerCureFlyEvent.kt new file mode 100644 index 00000000..0b0bbb5d --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/ZombieVillagerCureFlyEvent.kt @@ -0,0 +1,8 @@ +package dev.slne.surf.api.paper.event.freebuild + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player + +data class ZombieVillagerCureFlyEvent( + val player: Player +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/event/TakePartInBadFishingEventEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/event/TakePartInBadFishingEventEvent.kt new file mode 100644 index 00000000..5c282b77 --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/event/TakePartInBadFishingEventEvent.kt @@ -0,0 +1,8 @@ +package dev.slne.surf.api.paper.event.freebuild.event + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player + +data class TakePartInBadFishingEventEvent( + val player: Player +) : SurfSyncEvent() \ No newline at end of file diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/event/TakePartInFishingEventEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/event/TakePartInFishingEventEvent.kt new file mode 100644 index 00000000..91960ce3 --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/event/TakePartInFishingEventEvent.kt @@ -0,0 +1,8 @@ +package dev.slne.surf.api.paper.event.freebuild.event + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player + +data class TakePartInFishingEventEvent( + val player: Player +) : SurfSyncEvent() \ No newline at end of file diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/event/TakePartInMiningEventEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/event/TakePartInMiningEventEvent.kt new file mode 100644 index 00000000..bd3afea9 --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/event/TakePartInMiningEventEvent.kt @@ -0,0 +1,8 @@ +package dev.slne.surf.api.paper.event.freebuild.event + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player + +data class TakePartInMiningEventEvent( + val player: Player +) : SurfSyncEvent() \ No newline at end of file diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/specialdrops/ArchaeologySpecialDropEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/specialdrops/ArchaeologySpecialDropEvent.kt new file mode 100644 index 00000000..017592a7 --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/specialdrops/ArchaeologySpecialDropEvent.kt @@ -0,0 +1,10 @@ +package dev.slne.surf.api.paper.event.freebuild.specialdrops + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player +import org.bukkit.inventory.ItemStack + +data class ArchaeologySpecialDropEvent( + val player: Player, + val itemStack: ItemStack +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/specialdrops/FishingSpecialDropEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/specialdrops/FishingSpecialDropEvent.kt new file mode 100644 index 00000000..9ac05e0b --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/specialdrops/FishingSpecialDropEvent.kt @@ -0,0 +1,10 @@ +package dev.slne.surf.api.paper.event.freebuild.specialdrops + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player +import org.bukkit.inventory.ItemStack + +data class FishingSpecialDropEvent( + val player: Player, + val itemStack: ItemStack +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/playtime/PayCheckPayEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/playtime/PayCheckPayEvent.kt new file mode 100644 index 00000000..08404ab5 --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/playtime/PayCheckPayEvent.kt @@ -0,0 +1,8 @@ +package dev.slne.surf.api.paper.event.playtime + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player + +data class PayCheckPayEvent( + val player: Player +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/playtime/PayCheckRefusePaymentEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/playtime/PayCheckRefusePaymentEvent.kt new file mode 100644 index 00000000..c787d91a --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/playtime/PayCheckRefusePaymentEvent.kt @@ -0,0 +1,8 @@ +package dev.slne.surf.api.paper.event.playtime + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player + +data class PayCheckRefusePaymentEvent( + val player: Player +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/playtime/PlayerPlayAHourEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/playtime/PlayerPlayAHourEvent.kt new file mode 100644 index 00000000..e05a5eaa --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/playtime/PlayerPlayAHourEvent.kt @@ -0,0 +1,11 @@ +package dev.slne.surf.api.paper.event.playtime + +import dev.slne.surf.api.core.event.SurfAsyncEvent +import org.bukkit.entity.Player + +data class PlayerPlayAHourEvent( + val player: Player, + val totalHour: Long, + val totalHourOnServer: Long, + val server: String +) : SurfAsyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/playtime/PlayerPlayAMinuteEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/playtime/PlayerPlayAMinuteEvent.kt new file mode 100644 index 00000000..9f66ad48 --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/playtime/PlayerPlayAMinuteEvent.kt @@ -0,0 +1,8 @@ +package dev.slne.surf.api.paper.event.playtime + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player + +data class PlayerPlayAMinuteEvent( + val player: Player +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/protect/ExtendRegionEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/protect/ExtendRegionEvent.kt new file mode 100644 index 00000000..48677802 --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/protect/ExtendRegionEvent.kt @@ -0,0 +1,9 @@ +package dev.slne.surf.api.paper.event.protect + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player + +data class ExtendRegionEvent( + val player: Player, + val size: Int +) : SurfSyncEvent() \ No newline at end of file diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/protect/ProtectRegionEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/protect/ProtectRegionEvent.kt new file mode 100644 index 00000000..15eb32c7 --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/protect/ProtectRegionEvent.kt @@ -0,0 +1,9 @@ +package dev.slne.surf.api.paper.event.protect + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player + +data class ProtectRegionEvent( + val player: Player, + val size: Int +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/protect/SellRegionEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/protect/SellRegionEvent.kt new file mode 100644 index 00000000..c7f07ead --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/protect/SellRegionEvent.kt @@ -0,0 +1,10 @@ +package dev.slne.surf.api.paper.event.protect + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player + +data class SellRegionEvent( + val player: Player, + val size: Int, + val receivedMoney: Double +) : SurfSyncEvent() \ No newline at end of file diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/settings/SettingsBatchChangeEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/settings/SettingsBatchChangeEvent.kt new file mode 100644 index 00000000..9dc1c1b4 --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/settings/SettingsBatchChangeEvent.kt @@ -0,0 +1,9 @@ +package dev.slne.surf.api.paper.event.settings + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player + +data class SettingsBatchChangeEvent( + val player: Player, + val amount: Int +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/shop/ShopBuyItemEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/shop/ShopBuyItemEvent.kt new file mode 100644 index 00000000..ecbe0fbb --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/shop/ShopBuyItemEvent.kt @@ -0,0 +1,11 @@ +package dev.slne.surf.api.paper.event.shop + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player +import org.bukkit.inventory.ItemStack + +data class ShopBuyItemEvent( + val player: Player, + val itemStack: ItemStack, + val price: Double +) : SurfSyncEvent() \ No newline at end of file diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/shop/ShopChestPlaceEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/shop/ShopChestPlaceEvent.kt new file mode 100644 index 00000000..f595f497 --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/shop/ShopChestPlaceEvent.kt @@ -0,0 +1,10 @@ +package dev.slne.surf.api.paper.event.shop + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.Location +import org.bukkit.entity.Player + +data class ShopChestPlaceEvent( + val player: Player, + val location: Location +) : SurfSyncEvent() \ No newline at end of file diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/shop/ShopSellItemEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/shop/ShopSellItemEvent.kt new file mode 100644 index 00000000..f997d1d8 --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/shop/ShopSellItemEvent.kt @@ -0,0 +1,11 @@ +package dev.slne.surf.api.paper.event.shop + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.OfflinePlayer +import org.bukkit.inventory.ItemStack + +data class ShopSellItemEvent( + val player: OfflinePlayer, + val itemStack: ItemStack, + val revenue: Double +) : SurfSyncEvent() \ No newline at end of file diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/spawnsystem/RespawnAtNearestSpawnEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/spawnsystem/RespawnAtNearestSpawnEvent.kt new file mode 100644 index 00000000..cd91534d --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/spawnsystem/RespawnAtNearestSpawnEvent.kt @@ -0,0 +1,10 @@ +package dev.slne.surf.api.paper.event.spawnsystem + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.Location +import org.bukkit.entity.Player + +data class RespawnAtNearestSpawnEvent( + val player: Player, + val respawnLocation: Location +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/spawntrader/SpawnTraderTradeEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/spawntrader/SpawnTraderTradeEvent.kt new file mode 100644 index 00000000..facee030 --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/spawntrader/SpawnTraderTradeEvent.kt @@ -0,0 +1,12 @@ +package dev.slne.surf.api.paper.event.spawntrader + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player +import org.bukkit.inventory.ItemStack + +data class SpawnTraderTradeEvent( + val player: Player, + val tradeName: String, + val itemStack: ItemStack, + val price: Int +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/stats/StatsOptoutSettingEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/stats/StatsOptoutSettingEvent.kt new file mode 100644 index 00000000..22595d39 --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/stats/StatsOptoutSettingEvent.kt @@ -0,0 +1,8 @@ +package dev.slne.surf.api.paper.event.stats + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player + +data class StatsOptoutSettingEvent( + val player: Player +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/transaction/PlayerPayEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/transaction/PlayerPayEvent.kt new file mode 100644 index 00000000..cbff13d1 --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/transaction/PlayerPayEvent.kt @@ -0,0 +1,11 @@ +package dev.slne.surf.api.paper.event.transaction + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player +import java.util.* + +data class PlayerPayEvent( + val player: Player, + val targetUuid: UUID, + val amount: Int +) : SurfSyncEvent() From 12516356f5f69c0363509c5d376ee6f99943601e Mon Sep 17 00:00:00 2001 From: TheBjoRedCraft Date: Mon, 25 May 2026 18:31:52 +0200 Subject: [PATCH 2/2] =?UTF-8?q?=E2=9C=A8=20feat(events):=20add=20new=20eve?= =?UTF-8?q?nts=20for=20player=20interactions=20and=20state=20changes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - introduce AfkStateChangeEvent for tracking player's AFK status changes - add ArchaeologySpecialDropEvent for special item drops during archaeology - implement ArmorStandBreakWithAxeEvent for axe interactions with armor stands - create CaptchaFailEvent and CaptchaSuccessEvent for CAPTCHA verification results - add ChatAiModerateEvent for AI moderation of chat messages - implement ChatDirectMessageEvent for private messaging between players - create ChatIgnoreEvent and ChatUnIgnoreEvent for managing player ignore lists - add Clan events for creation, deletion, promotion, demotion, and invite count changes - introduce Player events for playtime milestones and payment transactions - add various item-related events including ShopBuyItemEvent and ShopSellItemEvent --- .../eventhandler/SurfSyncEventHandlerTest.kt | 4 ++-- .../PlayerAfkStateChangeEventListener.kt | 8 +++---- .../paper/event/captcha/CaptchaFailEvent.kt | 9 ++++++++ .../event/captcha/CaptchaSuccessEvent.kt | 9 ++++++++ .../paper/event/chat/ChatAiModerateEvent.kt | 8 +++++++ .../event/chat/ChatDirectMessageEvent.kt | 9 ++++++++ .../api/paper/event/chat/ChatIgnoreEvent.kt | 9 ++++++++ .../api/paper/event/chat/ChatUnIgnoreEvent.kt | 9 ++++++++ .../chat/DisabledChatBlockMessageEvent.kt | 9 ++++++++ .../event/chat/SlowChatBlockMessageEvent.kt | 9 ++++++++ .../api/paper/event/clan/ClanCreatedEvent.kt | 9 ++++++++ .../api/paper/event/clan/ClanDeleteEvent.kt | 9 ++++++++ .../api/paper/event/clan/ClanDemotedEvent.kt | 10 +++++++++ .../event/clan/ClanInviteCountChangeEvent.kt | 10 +++++++++ .../event/clan/ClanMemberCountChangeEvent.kt | 10 +++++++++ .../api/paper/event/clan/ClanPromotedEvent.kt | 10 +++++++++ .../event/common/PlayerAfkStateChangeEvent.kt | 22 ------------------- .../event/enchantment/CombineMendingEvent.kt | 8 +++++++ .../event/enchantment/CombineNemoEvent.kt | 8 +++++++ .../enchantment/CombineRocketSaverEvent.kt | 8 +++++++ .../enchantment/CombineSoulboundEvent.kt | 8 +++++++ .../EmptyEnchantedBookCollectEvent.kt | 8 +++++++ .../event/enchantment/ReplenishCropEvent.kt | 8 +++++++ .../enchantment/TelekinesisPickupEvent.kt | 8 +++++++ .../event/essentials/CommandFailEvent.kt | 8 +++++++ .../paper/event/essentials/SignItemEvent.kt | 9 ++++++++ .../event/essentials/SignItemReceiveEvent.kt | 11 ++++++++++ .../essentials/SpecialItemReceiveEvent.kt | 8 +++++++ .../freebuild/ArmorStandBreakWithAxeEvent.kt | 7 ++++++ .../paper/event/freebuild/ProtectItemEvent.kt | 9 ++++++++ .../freebuild/ZombieVillagerCureFlyEvent.kt | 8 +++++++ .../event/TakePartInBadFishingEventEvent.kt | 8 +++++++ .../event/TakePartInFishingEventEvent.kt | 8 +++++++ .../event/TakePartInMiningEventEvent.kt | 8 +++++++ .../ArchaeologySpecialDropEvent.kt | 9 ++++++++ .../specialdrops/FishingSpecialDropEvent.kt | 9 ++++++++ .../event/playtime/AfkStateChangeEvent.kt | 19 ++++++++++++++++ .../paper/event/playtime/PayCheckPayEvent.kt | 8 +++++++ .../playtime/PayCheckRefusePaymentEvent.kt | 8 +++++++ .../event/playtime/PlayerPlayAHourEvent.kt | 10 +++++++++ .../event/playtime/PlayerPlayAMinuteEvent.kt | 7 ++++++ .../paper/event/protect/ExtendRegionEvent.kt | 9 ++++++++ .../paper/event/protect/ProtectRegionEvent.kt | 9 ++++++++ .../paper/event/protect/SellRegionEvent.kt | 13 ++++++++++- .../settings/SettingsBatchChangeEvent.kt | 9 ++++++++ .../api/paper/event/shop/ShopBuyItemEvent.kt | 13 ++++++++++- .../paper/event/shop/ShopChestPlaceEvent.kt | 9 ++++++++ .../api/paper/event/shop/ShopSellItemEvent.kt | 13 ++++++++++- .../spawnsystem/RespawnAtNearestSpawnEvent.kt | 9 ++++++++ .../spawntrader/SpawnTraderTradeEvent.kt | 14 +++++++++++- .../event/stats/StatsOptOutSettingEvent.kt | 15 +++++++++++++ .../event/stats/StatsOptoutSettingEvent.kt | 8 ------- .../paper/event/transaction/PlayerPayEvent.kt | 12 +++++++++- 53 files changed, 465 insertions(+), 41 deletions(-) delete mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/common/PlayerAfkStateChangeEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/playtime/AfkStateChangeEvent.kt create mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/stats/StatsOptOutSettingEvent.kt delete mode 100644 surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/stats/StatsOptoutSettingEvent.kt diff --git a/surf-api-paper/surf-api-paper-plugin-test/src/main/kotlin/dev/slne/surf/surfapi/bukkit/test/command/subcommands/eventhandler/SurfSyncEventHandlerTest.kt b/surf-api-paper/surf-api-paper-plugin-test/src/main/kotlin/dev/slne/surf/surfapi/bukkit/test/command/subcommands/eventhandler/SurfSyncEventHandlerTest.kt index 8a36cea1..1e565dff 100644 --- a/surf-api-paper/surf-api-paper-plugin-test/src/main/kotlin/dev/slne/surf/surfapi/bukkit/test/command/subcommands/eventhandler/SurfSyncEventHandlerTest.kt +++ b/surf-api-paper/surf-api-paper-plugin-test/src/main/kotlin/dev/slne/surf/surfapi/bukkit/test/command/subcommands/eventhandler/SurfSyncEventHandlerTest.kt @@ -5,7 +5,7 @@ import dev.jorel.commandapi.kotlindsl.anyExecutor import dev.jorel.commandapi.kotlindsl.playerExecutor import dev.jorel.commandapi.kotlindsl.subcommand import dev.slne.surf.api.core.messages.adventure.sendText -import dev.slne.surf.api.paper.event.common.PlayerAfkStateChangeEvent +import dev.slne.surf.api.paper.event.playtime.AfkStateChangeEvent import dev.slne.surf.surfapi.bukkit.test.command.subcommands.eventhandler.listener.PlayerAfkStateChangeEventListener class SurfSyncEventHandlerTest(name: String) : CommandAPICommand(name) { @@ -34,7 +34,7 @@ class SurfSyncEventHandlerTest(name: String) : CommandAPICommand(name) { subcommand("dispatch") { playerExecutor { sender, _ -> val playerUuid = sender.uniqueId - val event = PlayerAfkStateChangeEvent(playerUuid, fromState = false, toState = true) + val event = AfkStateChangeEvent(playerUuid, fromState = false, toState = true) event.call() sender.sendText { appendInfoPrefix() diff --git a/surf-api-paper/surf-api-paper-plugin-test/src/main/kotlin/dev/slne/surf/surfapi/bukkit/test/command/subcommands/eventhandler/listener/PlayerAfkStateChangeEventListener.kt b/surf-api-paper/surf-api-paper-plugin-test/src/main/kotlin/dev/slne/surf/surfapi/bukkit/test/command/subcommands/eventhandler/listener/PlayerAfkStateChangeEventListener.kt index b52ce1e7..b8e277ec 100644 --- a/surf-api-paper/surf-api-paper-plugin-test/src/main/kotlin/dev/slne/surf/surfapi/bukkit/test/command/subcommands/eventhandler/listener/PlayerAfkStateChangeEventListener.kt +++ b/surf-api-paper/surf-api-paper-plugin-test/src/main/kotlin/dev/slne/surf/surfapi/bukkit/test/command/subcommands/eventhandler/listener/PlayerAfkStateChangeEventListener.kt @@ -2,10 +2,10 @@ package dev.slne.surf.surfapi.bukkit.test.command.subcommands.eventhandler.liste import dev.slne.surf.api.core.event.SurfEventBus import dev.slne.surf.api.core.event.SurfEventHandler -import dev.slne.surf.api.paper.event.common.PlayerAfkStateChangeEvent +import dev.slne.surf.api.paper.event.playtime.AfkStateChangeEvent object PlayerAfkStateChangeEventListener { - private var lastEvent: PlayerAfkStateChangeEvent? = null + private var lastEvent: AfkStateChangeEvent? = null fun register() { SurfEventBus.registerListeners(this) @@ -15,14 +15,14 @@ object PlayerAfkStateChangeEventListener { SurfEventBus.unregisterListeners(this) } - fun getLastEvent(): PlayerAfkStateChangeEvent? = lastEvent + fun getLastEvent(): AfkStateChangeEvent? = lastEvent fun clearLastEvent() { lastEvent = null } @SurfEventHandler - private fun onPlayerAfkStateChange(event: PlayerAfkStateChangeEvent) { + private fun onPlayerAfkStateChange(event: AfkStateChangeEvent) { lastEvent = event } } diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/captcha/CaptchaFailEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/captcha/CaptchaFailEvent.kt index 8912e2ee..24648eea 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/captcha/CaptchaFailEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/captcha/CaptchaFailEvent.kt @@ -3,6 +3,15 @@ package dev.slne.surf.api.paper.event.captcha import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player +/** + * Fired when a player fails a CAPTCHA verification. + * + * This synchronous event is triggered when a player fails to complete or verify a CAPTCHA challenge. + * + * @property player The player who failed the CAPTCHA + * @property size The size/difficulty rating of the CAPTCHA + * @property timePerPage The time allowed per CAPTCHA page in milliseconds + */ data class CaptchaFailEvent( val player: Player, val size: Int, diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/captcha/CaptchaSuccessEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/captcha/CaptchaSuccessEvent.kt index ca4fb609..2d669ce4 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/captcha/CaptchaSuccessEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/captcha/CaptchaSuccessEvent.kt @@ -3,6 +3,15 @@ package dev.slne.surf.api.paper.event.captcha import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player +/** + * Fired when a player successfully completes a CAPTCHA verification. + * + * This synchronous event is triggered when a player successfully completes and verifies a CAPTCHA challenge. + * + * @property player The player who passed the CAPTCHA + * @property size The size/difficulty rating of the CAPTCHA + * @property timePerPage The time allowed per CAPTCHA page in milliseconds + */ data class CaptchaSuccessEvent( val player: Player, val size: Int, diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/ChatAiModerateEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/ChatAiModerateEvent.kt index 2cb3e1f5..e6e7abb1 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/ChatAiModerateEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/ChatAiModerateEvent.kt @@ -3,6 +3,14 @@ package dev.slne.surf.api.paper.event.chat import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player +/** + * Fired when a chat message is moderated by AI. + * + * This synchronous event is triggered when an AI moderation system processes and filters a player's chat message. + * + * @property player The player who wrote the chat message + * @property message The chat message that was moderated + */ data class ChatAiModerateEvent( val player: Player, val message: String diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/ChatDirectMessageEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/ChatDirectMessageEvent.kt index 5a8b90e5..2d528985 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/ChatDirectMessageEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/ChatDirectMessageEvent.kt @@ -4,6 +4,15 @@ import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player import java.util.* +/** + * Fired when a player sends a direct message to another player. + * + * This synchronous event is triggered when a player sends a private message to another player. + * + * @property player The player who sent the direct message + * @property targetUuid The UUID of the player receiving the direct message + * @property message The direct message content + */ data class ChatDirectMessageEvent( val player: Player, val targetUuid: UUID, diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/ChatIgnoreEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/ChatIgnoreEvent.kt index 957619e9..c5006f53 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/ChatIgnoreEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/ChatIgnoreEvent.kt @@ -4,6 +4,15 @@ import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player import java.util.* +/** + * Fired when a player ignores another player. + * + * This synchronous event is triggered when a player adds another player to their ignore list, + * preventing them from receiving messages from that player. + * + * @property player The player who is ignoring someone + * @property ignoredPlayerUuid The UUID of the player being ignored + */ data class ChatIgnoreEvent( val player: Player, val ignoredPlayerUuid: UUID diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/ChatUnIgnoreEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/ChatUnIgnoreEvent.kt index 6cb6da25..9bb0d34a 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/ChatUnIgnoreEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/ChatUnIgnoreEvent.kt @@ -4,6 +4,15 @@ import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player import java.util.* +/** + * Fired when a player stops ignoring another player. + * + * This synchronous event is triggered when a player removes another player from their ignore list, + * allowing them to receive messages from that player again. + * + * @property player The player who is removing someone from their ignore list + * @property ignoredPlayerUuid The UUID of the player being un-ignored + */ data class ChatUnIgnoreEvent( val player: Player, val ignoredPlayerUuid: UUID diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/DisabledChatBlockMessageEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/DisabledChatBlockMessageEvent.kt index aaa7c222..f313ace3 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/DisabledChatBlockMessageEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/DisabledChatBlockMessageEvent.kt @@ -3,6 +3,15 @@ package dev.slne.surf.api.paper.event.chat import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player +/** + * Fired when a player's chat message is blocked due to chat being disabled. + * + * This synchronous event is triggered when a player attempts to send a chat message, + * but the message is blocked because chat is currently disabled on the server. + * + * @property player The player whose message was blocked + * @property message The message that was blocked + */ data class DisabledChatBlockMessageEvent( val player: Player, val message: String diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/SlowChatBlockMessageEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/SlowChatBlockMessageEvent.kt index f8429207..8f16b393 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/SlowChatBlockMessageEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/chat/SlowChatBlockMessageEvent.kt @@ -3,6 +3,15 @@ package dev.slne.surf.api.paper.event.chat import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player +/** + * Fired when a player's chat message is blocked due to slow chat rate limiting. + * + * This synchronous event is triggered when a player attempts to send a chat message, + * but the message is blocked because the player is sending messages too quickly (slow chat cooldown). + * + * @property player The player whose message was blocked + * @property message The message that was blocked + */ data class SlowChatBlockMessageEvent( val player: Player, val message: String diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanCreatedEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanCreatedEvent.kt index 28d459e2..88ea482b 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanCreatedEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanCreatedEvent.kt @@ -3,6 +3,15 @@ package dev.slne.surf.api.paper.event.clan import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player +/** + * Fired when a clan is created. + * + * This synchronous event is triggered when a player successfully creates a new clan. + * + * @property player The player who created the clan + * @property clanName The name of the newly created clan + * @property clanTag The tag of the newly created clan + */ data class ClanCreatedEvent( val player: Player, val clanName: String, diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanDeleteEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanDeleteEvent.kt index 83f2a1a8..c620f707 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanDeleteEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanDeleteEvent.kt @@ -3,6 +3,15 @@ package dev.slne.surf.api.paper.event.clan import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player +/** + * Fired when a clan is deleted. + * + * This synchronous event is triggered when a clan is dissolved or deleted from the server. + * + * @property player The player who deleted the clan + * @property clanName The name of the deleted clan + * @property clanTag The tag of the deleted clan + */ data class ClanDeleteEvent( val player: Player, val clanName: String, diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanDemotedEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanDemotedEvent.kt index cb4a9e03..ab5480ad 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanDemotedEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanDemotedEvent.kt @@ -3,6 +3,16 @@ package dev.slne.surf.api.paper.event.clan import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.OfflinePlayer +/** + * Fired when a player is demoted within their clan. + * + * This synchronous event is triggered when a player receives a demotion to a lower rank + * or role within their clan. + * + * @property player The player who was demoted + * @property clanName The name of the clan + * @property newRole The new role the player was demoted to + */ data class ClanDemotedEvent( val player: OfflinePlayer, val clanName: String, diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanInviteCountChangeEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanInviteCountChangeEvent.kt index 980adb68..acb442b4 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanInviteCountChangeEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanInviteCountChangeEvent.kt @@ -3,6 +3,16 @@ package dev.slne.surf.api.paper.event.clan import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.OfflinePlayer +/** + * Fired when the invite count of a clan changes. + * + * This synchronous event is triggered when the number of pending invitations in a clan changes, + * typically when a player sends or receives a clan invitation. + * + * @property player The player associated with the invite count change + * @property clanName The name of the clan + * @property newInviteCount The new total invite count of the clan + */ data class ClanInviteCountChangeEvent( val player: OfflinePlayer, val clanName: String, diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanMemberCountChangeEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanMemberCountChangeEvent.kt index 15e4d96f..a7733eb4 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanMemberCountChangeEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanMemberCountChangeEvent.kt @@ -3,6 +3,16 @@ package dev.slne.surf.api.paper.event.clan import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.OfflinePlayer +/** + * Fired when the member count of a clan changes. + * + * This synchronous event is triggered when the number of members in a clan changes, + * typically when a player joins or leaves the clan. + * + * @property player The player associated with the member count change + * @property clanName The name of the clan + * @property newMemberCount The new total member count of the clan + */ data class ClanMemberCountChangeEvent( val player: OfflinePlayer, val clanName: String, diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanPromotedEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanPromotedEvent.kt index cf5f7377..dde4063c 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanPromotedEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/clan/ClanPromotedEvent.kt @@ -3,6 +3,16 @@ package dev.slne.surf.api.paper.event.clan import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.OfflinePlayer +/** + * Fired when a player is promoted within their clan. + * + * This synchronous event is triggered when a player receives a promotion to a higher rank + * or role within their clan. + * + * @property player The player who was promoted + * @property clanName The name of the clan + * @property newRole The new role the player was promoted to + */ data class ClanPromotedEvent( val player: OfflinePlayer, val clanName: String, diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/common/PlayerAfkStateChangeEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/common/PlayerAfkStateChangeEvent.kt deleted file mode 100644 index bfc49f4c..00000000 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/common/PlayerAfkStateChangeEvent.kt +++ /dev/null @@ -1,22 +0,0 @@ -package dev.slne.surf.api.paper.event.common - -import dev.slne.surf.api.core.event.SurfSyncEvent -import java.util.* - -/** - * Represents an event triggered when a player's AFK state changes. - * - * This event provides details about the player whose AFK state is changing, - * including their unique identifier and the previous and new AFK states. - * It is dispatched synchronously via the SurfEventBus to registered handlers, - * allowing listeners to react to the state change. - * - * @param playerUuid The unique identifier of the player whose AFK state is changing. - * @param fromState The player's previous AFK state (true if they were AFK, false otherwise). - * @param toState The player's new AFK state (true if now AFK, false otherwise). - */ -data class PlayerAfkStateChangeEvent( - val playerUuid: UUID, - val fromState: Boolean, - val toState: Boolean, -) : SurfSyncEvent() \ No newline at end of file diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/CombineMendingEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/CombineMendingEvent.kt index be817cdb..5839746d 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/CombineMendingEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/CombineMendingEvent.kt @@ -3,6 +3,14 @@ package dev.slne.surf.api.paper.event.enchantment import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player +/** + * Fired when a player combines items with the Mending enchantment. + * + * This synchronous event is triggered when a player combines items in an anvil or crafting + * interface, resulting in an item with the Mending enchantment applied. + * + * @property player The player who combined the items + */ data class CombineMendingEvent( val player: Player ) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/CombineNemoEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/CombineNemoEvent.kt index 38b6991b..dcbea0d8 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/CombineNemoEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/CombineNemoEvent.kt @@ -3,6 +3,14 @@ package dev.slne.surf.api.paper.event.enchantment import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player +/** + * Fired when a player combines items with the Nemo enchantment. + * + * This synchronous event is triggered when a player combines items in an anvil or crafting + * interface, resulting in an item with the Nemo enchantment applied. + * + * @property player The player who combined the items + */ data class CombineNemoEvent( val player: Player ) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/CombineRocketSaverEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/CombineRocketSaverEvent.kt index 5083830a..587e8fd0 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/CombineRocketSaverEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/CombineRocketSaverEvent.kt @@ -3,6 +3,14 @@ package dev.slne.surf.api.paper.event.enchantment import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player +/** + * Fired when a player combines items with the Rocket Saver enchantment. + * + * This synchronous event is triggered when a player combines items in an anvil or crafting + * interface, resulting in an item with the Rocket Saver enchantment applied. + * + * @property player The player who combined the items + */ data class CombineRocketSaverEvent( val player: Player ) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/CombineSoulboundEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/CombineSoulboundEvent.kt index f6f2a19c..e2d1dc45 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/CombineSoulboundEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/CombineSoulboundEvent.kt @@ -3,6 +3,14 @@ package dev.slne.surf.api.paper.event.enchantment import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player +/** + * Fired when a player combines items with the Soulbound enchantment. + * + * This synchronous event is triggered when a player combines items in an anvil or crafting + * interface, resulting in an item with the Soulbound enchantment applied. + * + * @property player The player who combined the items + */ data class CombineSoulboundEvent( val player: Player ) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/EmptyEnchantedBookCollectEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/EmptyEnchantedBookCollectEvent.kt index 78ea572a..45fcc0e1 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/EmptyEnchantedBookCollectEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/EmptyEnchantedBookCollectEvent.kt @@ -3,6 +3,14 @@ package dev.slne.surf.api.paper.event.enchantment import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player +/** + * Fired when a player collects an empty enchanted book. + * + * This synchronous event is triggered when a player picks up or collects an enchanted book + * that is empty or has no enchantments applied to it. + * + * @property player The player who collected the empty enchanted book + */ data class EmptyEnchantedBookCollectEvent( val player: Player ) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/ReplenishCropEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/ReplenishCropEvent.kt index 5cffa88b..01e1b53d 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/ReplenishCropEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/ReplenishCropEvent.kt @@ -3,6 +3,14 @@ package dev.slne.surf.api.paper.event.enchantment import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player +/** + * Fired when a player replenishes a crop using the Replenish enchantment. + * + * This synchronous event is triggered when a crop is automatically regrown or replanted + * due to the Replenish enchantment on a player's tool. + * + * @property player The player who triggered the crop replenishment + */ data class ReplenishCropEvent( val player: Player ) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/TelekinesisPickupEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/TelekinesisPickupEvent.kt index c1f8d04d..52a35dcb 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/TelekinesisPickupEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/enchantment/TelekinesisPickupEvent.kt @@ -3,6 +3,14 @@ package dev.slne.surf.api.paper.event.enchantment import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player +/** + * Fired when a player picks up an item using the Telekinesis enchantment. + * + * This synchronous event is triggered when an item is automatically collected by a player + * due to the Telekinesis enchantment on their tool or weapon. + * + * @property player The player who picked up the item with Telekinesis + */ data class TelekinesisPickupEvent( val player: Player ) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/essentials/CommandFailEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/essentials/CommandFailEvent.kt index 64e5839b..b1f12e0d 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/essentials/CommandFailEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/essentials/CommandFailEvent.kt @@ -3,6 +3,14 @@ package dev.slne.surf.api.paper.event.essentials import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player +/** + * Fired when a command execution fails for a player. + * + * This synchronous event is triggered when a command issued by a player fails to execute. + * + * @property player The player who executed the failed command + * @property command The command that failed to execute + */ data class CommandFailEvent( val player: Player, val command: String diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/essentials/SignItemEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/essentials/SignItemEvent.kt index 89a0117c..cf464cea 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/essentials/SignItemEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/essentials/SignItemEvent.kt @@ -4,6 +4,15 @@ import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player import org.bukkit.inventory.ItemStack +/** + * Fired when a player signs an item. + * + * This synchronous event is triggered when a player signs an item that they have in their inventory. + * + * @property player The player who is signing the item + * @property item The item being signed + * @property description The description being written on the item + */ data class SignItemEvent( val player: Player, val item: ItemStack, diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/essentials/SignItemReceiveEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/essentials/SignItemReceiveEvent.kt index 34783c6a..2bdd5edc 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/essentials/SignItemReceiveEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/essentials/SignItemReceiveEvent.kt @@ -4,6 +4,17 @@ import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player import org.bukkit.inventory.ItemStack +/** + * Fired when a player receives a signed item. + * + * This synchronous event is triggered when a player receives an item that has been signed + * by another player with a description and the signer's name. + * + * @property player The player who received the signed item + * @property item The signed item + * @property description The description written on the item + * @property signedByName The name of the player who signed the item + */ data class SignItemReceiveEvent( val player: Player, val item: ItemStack, diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/essentials/SpecialItemReceiveEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/essentials/SpecialItemReceiveEvent.kt index 9cbb6b37..a3c45c50 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/essentials/SpecialItemReceiveEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/essentials/SpecialItemReceiveEvent.kt @@ -4,6 +4,14 @@ import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player import org.bukkit.inventory.ItemStack +/** + * Fired when a player receives a special item. + * + * This synchronous event is triggered whenever a special item is given to a player. + * + * @property player The player who received the special item + * @property item The special item that was received + */ data class SpecialItemReceiveEvent( val player: Player, val item: ItemStack diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/ArmorStandBreakWithAxeEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/ArmorStandBreakWithAxeEvent.kt index 8c91812e..85179e19 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/ArmorStandBreakWithAxeEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/ArmorStandBreakWithAxeEvent.kt @@ -3,6 +3,13 @@ package dev.slne.surf.api.paper.event.freebuild import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player +/** + * Fired when a player breaks an armor stand with an axe. + * + * This synchronous event is triggered when a player uses an axe to break or destroy an armor stand. + * + * @property player The player who broke the armor stand + */ data class ArmorStandBreakWithAxeEvent( val player: Player ) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/ProtectItemEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/ProtectItemEvent.kt index b602c894..486454b1 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/ProtectItemEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/ProtectItemEvent.kt @@ -4,6 +4,15 @@ import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player import org.bukkit.inventory.ItemStack +/** + * Fired when a player protects an item. + * + * This synchronous event is triggered when a player protects an item, preventing it from being + * dropped, traded, or destroyed. + * + * @property player The player who is protecting the item + * @property itemStack The item being protected + */ data class ProtectItemEvent( val player: Player, val itemStack: ItemStack diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/ZombieVillagerCureFlyEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/ZombieVillagerCureFlyEvent.kt index 0b0bbb5d..8ba87d2f 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/ZombieVillagerCureFlyEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/ZombieVillagerCureFlyEvent.kt @@ -3,6 +3,14 @@ package dev.slne.surf.api.paper.event.freebuild import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player +/** + * Fired when a player cures a zombie villager and is able to fly as a reward. + * + * This synchronous event is triggered when a player successfully cures a zombie villager, + * granting them flight capabilities as a reward. + * + * @property player The player who cured the zombie villager + */ data class ZombieVillagerCureFlyEvent( val player: Player ) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/event/TakePartInBadFishingEventEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/event/TakePartInBadFishingEventEvent.kt index 5c282b77..b202ac6f 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/event/TakePartInBadFishingEventEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/event/TakePartInBadFishingEventEvent.kt @@ -3,6 +3,14 @@ package dev.slne.surf.api.paper.event.freebuild.event import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player +/** + * Fired when a player participates in a bad fishing event. + * + * This synchronous event is triggered when a player takes part in a fishing event + * that results in failure or a negative outcome. + * + * @property player The player who participated in the bad fishing event + */ data class TakePartInBadFishingEventEvent( val player: Player ) : SurfSyncEvent() \ No newline at end of file diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/event/TakePartInFishingEventEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/event/TakePartInFishingEventEvent.kt index 91960ce3..e48f5549 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/event/TakePartInFishingEventEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/event/TakePartInFishingEventEvent.kt @@ -3,6 +3,14 @@ package dev.slne.surf.api.paper.event.freebuild.event import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player +/** + * Fired when a player participates in a fishing event. + * + * This synchronous event is triggered when a player takes part in a fishing event, + * typically a limited-time event with special rewards or challenges. + * + * @property player The player who participated in the fishing event + */ data class TakePartInFishingEventEvent( val player: Player ) : SurfSyncEvent() \ No newline at end of file diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/event/TakePartInMiningEventEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/event/TakePartInMiningEventEvent.kt index bd3afea9..eb26196b 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/event/TakePartInMiningEventEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/event/TakePartInMiningEventEvent.kt @@ -3,6 +3,14 @@ package dev.slne.surf.api.paper.event.freebuild.event import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player +/** + * Fired when a player participates in a mining event. + * + * This synchronous event is triggered when a player takes part in a mining event, + * typically a limited-time event with special rewards or challenges. + * + * @property player The player who participated in the mining event + */ data class TakePartInMiningEventEvent( val player: Player ) : SurfSyncEvent() \ No newline at end of file diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/specialdrops/ArchaeologySpecialDropEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/specialdrops/ArchaeologySpecialDropEvent.kt index 017592a7..6df4acd7 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/specialdrops/ArchaeologySpecialDropEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/specialdrops/ArchaeologySpecialDropEvent.kt @@ -4,6 +4,15 @@ import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player import org.bukkit.inventory.ItemStack +/** + * Fired when a player receives a special drop from archaeology. + * + * This synchronous event is triggered when a player obtains a special/rare item drop + * from archaeology activities. + * + * @property player The player who received the special archaeology drop + * @property itemStack The special item that was dropped + */ data class ArchaeologySpecialDropEvent( val player: Player, val itemStack: ItemStack diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/specialdrops/FishingSpecialDropEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/specialdrops/FishingSpecialDropEvent.kt index 9ac05e0b..9dcb1d6e 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/specialdrops/FishingSpecialDropEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/freebuild/specialdrops/FishingSpecialDropEvent.kt @@ -4,6 +4,15 @@ import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player import org.bukkit.inventory.ItemStack +/** + * Fired when a player receives a special drop from fishing. + * + * This synchronous event is triggered when a player catches a special/rare item drop + * from fishing activities. + * + * @property player The player who received the special fishing drop + * @property itemStack The special item that was caught + */ data class FishingSpecialDropEvent( val player: Player, val itemStack: ItemStack diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/playtime/AfkStateChangeEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/playtime/AfkStateChangeEvent.kt new file mode 100644 index 00000000..63542a67 --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/playtime/AfkStateChangeEvent.kt @@ -0,0 +1,19 @@ +package dev.slne.surf.api.paper.event.playtime + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player + +/** + * Fired when a player's AFK (Away From Keyboard) state changes. + * + * This synchronous event is triggered when a player transitions between AFK and active states. + * + * @property player The player whose AFK state changed + * @property fromState The previous AFK state (true = AFK, false = active) + * @property toState The new AFK state (true = AFK, false = active) + */ +data class AfkStateChangeEvent( + val player: Player, + val fromState: Boolean, + val toState: Boolean, +) : SurfSyncEvent() \ No newline at end of file diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/playtime/PayCheckPayEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/playtime/PayCheckPayEvent.kt index 08404ab5..ac6e4e13 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/playtime/PayCheckPayEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/playtime/PayCheckPayEvent.kt @@ -3,6 +3,14 @@ package dev.slne.surf.api.paper.event.playtime import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player +/** + * Fired when a player receives their paycheck payment. + * + * This synchronous event is triggered when a player receives their regular paycheck/salary + * based on their playtime. + * + * @property player The player who received the paycheck + */ data class PayCheckPayEvent( val player: Player ) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/playtime/PayCheckRefusePaymentEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/playtime/PayCheckRefusePaymentEvent.kt index c787d91a..4eac916f 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/playtime/PayCheckRefusePaymentEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/playtime/PayCheckRefusePaymentEvent.kt @@ -3,6 +3,14 @@ package dev.slne.surf.api.paper.event.playtime import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player +/** + * Fired when a player refuses their paycheck payment. + * + * This synchronous event is triggered when a player declines or refuses to accept + * their regular paycheck/salary. + * + * @property player The player who refused the paycheck + */ data class PayCheckRefusePaymentEvent( val player: Player ) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/playtime/PlayerPlayAHourEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/playtime/PlayerPlayAHourEvent.kt index e05a5eaa..372bdaae 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/playtime/PlayerPlayAHourEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/playtime/PlayerPlayAHourEvent.kt @@ -3,6 +3,16 @@ package dev.slne.surf.api.paper.event.playtime import dev.slne.surf.api.core.event.SurfAsyncEvent import org.bukkit.entity.Player +/** + * Fired (asynchronously) when a player has played for an hour. + * + * This asynchronous event is triggered when a player reaches a one-hour playtime milestone. + * + * @property player The player who reached the one-hour milestone + * @property totalHour The total number of hours the player has played + * @property totalHourOnServer The total number of hours the player has played on this specific server + * @property server The server identifier where this milestone was reached + */ data class PlayerPlayAHourEvent( val player: Player, val totalHour: Long, diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/playtime/PlayerPlayAMinuteEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/playtime/PlayerPlayAMinuteEvent.kt index 9f66ad48..b0e19c39 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/playtime/PlayerPlayAMinuteEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/playtime/PlayerPlayAMinuteEvent.kt @@ -3,6 +3,13 @@ package dev.slne.surf.api.paper.event.playtime import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player +/** + * Fired when a player has played for a minute. + * + * This synchronous event is triggered when a player reaches a one-minute playtime milestone. + * + * @property player The player who reached the one-minute milestone + */ data class PlayerPlayAMinuteEvent( val player: Player ) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/protect/ExtendRegionEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/protect/ExtendRegionEvent.kt index 48677802..1a578765 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/protect/ExtendRegionEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/protect/ExtendRegionEvent.kt @@ -3,6 +3,15 @@ package dev.slne.surf.api.paper.event.protect import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player +/** + * Fired when a player extends a protected region. + * + * This synchronous event is triggered when a player increases the size of an existing + * protected region. + * + * @property player The player who extended the region + * @property size The new size of the extended region + */ data class ExtendRegionEvent( val player: Player, val size: Int diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/protect/ProtectRegionEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/protect/ProtectRegionEvent.kt index 15eb32c7..56ce4ea0 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/protect/ProtectRegionEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/protect/ProtectRegionEvent.kt @@ -3,6 +3,15 @@ package dev.slne.surf.api.paper.event.protect import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player +/** + * Fired when a player creates or claims a protected region. + * + * This synchronous event is triggered when a player creates a new protected region + * to protect their buildings and property. + * + * @property player The player who created the protected region + * @property size The size of the newly protected region + */ data class ProtectRegionEvent( val player: Player, val size: Int diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/protect/SellRegionEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/protect/SellRegionEvent.kt index c7f07ead..0fca5733 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/protect/SellRegionEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/protect/SellRegionEvent.kt @@ -2,9 +2,20 @@ package dev.slne.surf.api.paper.event.protect import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player +import java.math.BigDecimal +/** + * Fired when a player sells a protected region. + * + * This synchronous event is triggered when a player sells off a protected region, + * receiving monetary compensation for it. + * + * @property player The player who sold the region + * @property size The size of the sold region + * @property receivedMoney The amount of money received from the sale + */ data class SellRegionEvent( val player: Player, val size: Int, - val receivedMoney: Double + val receivedMoney: BigDecimal ) : SurfSyncEvent() \ No newline at end of file diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/settings/SettingsBatchChangeEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/settings/SettingsBatchChangeEvent.kt index 9dc1c1b4..41c14b80 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/settings/SettingsBatchChangeEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/settings/SettingsBatchChangeEvent.kt @@ -3,6 +3,15 @@ package dev.slne.surf.api.paper.event.settings import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player +/** + * Fired when a player changes multiple settings in a batch. + * + * This synchronous event is triggered when a player makes changes to multiple settings + * at once, such as through a settings GUI or batch configuration. + * + * @property player The player who changed their settings + * @property amount The number of settings that were changed in this batch + */ data class SettingsBatchChangeEvent( val player: Player, val amount: Int diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/shop/ShopBuyItemEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/shop/ShopBuyItemEvent.kt index ecbe0fbb..de70f1a7 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/shop/ShopBuyItemEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/shop/ShopBuyItemEvent.kt @@ -3,9 +3,20 @@ package dev.slne.surf.api.paper.event.shop import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player import org.bukkit.inventory.ItemStack +import java.math.BigDecimal +/** + * Fired when a player buys an item from a shop. + * + * This synchronous event is triggered when a player purchases an item from a shop, + * spending currency in exchange for goods. + * + * @property player The player who bought the item + * @property itemStack The item that was purchased + * @property price The price paid for the item + */ data class ShopBuyItemEvent( val player: Player, val itemStack: ItemStack, - val price: Double + val price: BigDecimal ) : SurfSyncEvent() \ No newline at end of file diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/shop/ShopChestPlaceEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/shop/ShopChestPlaceEvent.kt index f595f497..a9f6bee5 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/shop/ShopChestPlaceEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/shop/ShopChestPlaceEvent.kt @@ -4,6 +4,15 @@ import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.Location import org.bukkit.entity.Player +/** + * Fired when a player places a shop chest. + * + * This synchronous event is triggered when a player places a chest that functions as a shop, + * allowing it to sell items to other players. + * + * @property player The player who placed the shop chest + * @property location The location where the shop chest was placed + */ data class ShopChestPlaceEvent( val player: Player, val location: Location diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/shop/ShopSellItemEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/shop/ShopSellItemEvent.kt index f997d1d8..91e31b85 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/shop/ShopSellItemEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/shop/ShopSellItemEvent.kt @@ -3,9 +3,20 @@ package dev.slne.surf.api.paper.event.shop import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.OfflinePlayer import org.bukkit.inventory.ItemStack +import java.math.BigDecimal +/** + * Fired when a player sells an item to a shop. + * + * This synchronous event is triggered when a player sells an item to a shop, + * receiving currency in exchange for goods. + * + * @property player The player who sold the item + * @property itemStack The item that was sold + * @property revenue The amount of money received from the sale + */ data class ShopSellItemEvent( val player: OfflinePlayer, val itemStack: ItemStack, - val revenue: Double + val revenue: BigDecimal ) : SurfSyncEvent() \ No newline at end of file diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/spawnsystem/RespawnAtNearestSpawnEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/spawnsystem/RespawnAtNearestSpawnEvent.kt index cd91534d..8315483e 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/spawnsystem/RespawnAtNearestSpawnEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/spawnsystem/RespawnAtNearestSpawnEvent.kt @@ -4,6 +4,15 @@ import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.Location import org.bukkit.entity.Player +/** + * Fired when a player respawns at the nearest spawn point. + * + * This synchronous event is triggered when a player respawns at the nearest available + * spawn location after dying. + * + * @property player The player who respawned + * @property respawnLocation The location where the player respawned + */ data class RespawnAtNearestSpawnEvent( val player: Player, val respawnLocation: Location diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/spawntrader/SpawnTraderTradeEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/spawntrader/SpawnTraderTradeEvent.kt index facee030..a95526fd 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/spawntrader/SpawnTraderTradeEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/spawntrader/SpawnTraderTradeEvent.kt @@ -3,10 +3,22 @@ package dev.slne.surf.api.paper.event.spawntrader import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player import org.bukkit.inventory.ItemStack +import java.math.BigDecimal +/** + * Fired when a player completes a trade with a spawn trader. + * + * This synchronous event is triggered when a player successfully trades with a spawn trader NPC, + * exchanging items or currency for goods. + * + * @property player The player who completed the trade + * @property tradeName The name or identifier of the trade/NPC + * @property itemStack The item involved in the trade + * @property price The price or value of the trade + */ data class SpawnTraderTradeEvent( val player: Player, val tradeName: String, val itemStack: ItemStack, - val price: Int + val price: BigDecimal ) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/stats/StatsOptOutSettingEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/stats/StatsOptOutSettingEvent.kt new file mode 100644 index 00000000..796fa009 --- /dev/null +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/stats/StatsOptOutSettingEvent.kt @@ -0,0 +1,15 @@ +package dev.slne.surf.api.paper.event.stats + +import dev.slne.surf.api.core.event.SurfSyncEvent +import org.bukkit.entity.Player + +/** + * Fired when a player changes their statistics opt-out setting. + * + * This synchronous event is triggered when a player enables or disables the statistics tracking option. + * + * @property player The player who changed their stats opt-out setting + */ +data class StatsOptOutSettingEvent( + val player: Player +) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/stats/StatsOptoutSettingEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/stats/StatsOptoutSettingEvent.kt deleted file mode 100644 index 22595d39..00000000 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/stats/StatsOptoutSettingEvent.kt +++ /dev/null @@ -1,8 +0,0 @@ -package dev.slne.surf.api.paper.event.stats - -import dev.slne.surf.api.core.event.SurfSyncEvent -import org.bukkit.entity.Player - -data class StatsOptoutSettingEvent( - val player: Player -) : SurfSyncEvent() diff --git a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/transaction/PlayerPayEvent.kt b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/transaction/PlayerPayEvent.kt index cbff13d1..cf364de4 100644 --- a/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/transaction/PlayerPayEvent.kt +++ b/surf-api-paper/surf-api-paper/src/main/kotlin/dev/slne/surf/api/paper/event/transaction/PlayerPayEvent.kt @@ -2,10 +2,20 @@ package dev.slne.surf.api.paper.event.transaction import dev.slne.surf.api.core.event.SurfSyncEvent import org.bukkit.entity.Player +import java.math.BigDecimal import java.util.* +/** + * Fired when a player pays another player. + * + * This synchronous event is triggered when a payment transaction occurs between two players. + * + * @property player The player making the payment + * @property targetUuid The UUID of the player receiving the payment + * @property amount The amount of currency being transferred + */ data class PlayerPayEvent( val player: Player, val targetUuid: UUID, - val amount: Int + val amount: BigDecimal ) : SurfSyncEvent()