Skip to content

Commit 3830d5b

Browse files
committed
feat: add in a new event for players joining a war
1 parent 3ed53ed commit 3830d5b

File tree

2 files changed

+43
-0
lines changed

2 files changed

+43
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package me.glaremasters.guilds.api.events.challenges
2+
3+
import me.glaremasters.guilds.guild.Guild
4+
import org.bukkit.entity.Player
5+
import org.bukkit.event.Event
6+
import org.bukkit.event.HandlerList
7+
8+
/**
9+
* An event that is called when a player joins a guild war.
10+
*
11+
* @property challenger the guild who initiated the request
12+
* @property defender the guild who the request is sent to
13+
* @property player the player who joined the war
14+
* @property side the side the player joined
15+
*/
16+
class GuildWarPlayerJoinEvent(val challenger: Guild, val defender: Guild, val player: Player, val side: String): Event() {
17+
18+
/**
19+
* The handlers for the event.
20+
*
21+
* @return the handlers for the event
22+
*/
23+
override fun getHandlers(): HandlerList {
24+
return handlerList
25+
}
26+
27+
companion object {
28+
29+
/**
30+
* The static list of event handlers for this event type.
31+
*/
32+
@JvmStatic
33+
val handlerList = HandlerList()
34+
}
35+
}

src/main/kotlin/me/glaremasters/guilds/commands/war/CommandWar.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ import me.glaremasters.guilds.Guilds
4040
import me.glaremasters.guilds.api.events.challenges.GuildWarAcceptEvent
4141
import me.glaremasters.guilds.api.events.challenges.GuildWarChallengeEvent
4242
import me.glaremasters.guilds.api.events.challenges.GuildWarDeclineEvent
43+
import me.glaremasters.guilds.api.events.challenges.GuildWarPlayerJoinEvent
4344
import me.glaremasters.guilds.arena.ArenaHandler
4445
import me.glaremasters.guilds.challenges.ChallengeHandler
4546
import me.glaremasters.guilds.configuration.sections.WarSettings
@@ -198,6 +199,8 @@ internal class CommandWar : BaseCommand() {
198199
throw ExpectationNotMet(Messages.WAR__NOT_JOINABLE)
199200
}
200201

202+
var side = ""
203+
201204
if (challenge.defender == guild) {
202205
if (challenge.defendPlayers.contains(player.uniqueId)) {
203206
throw ExpectationNotMet(Messages.WAR__ALREADY_JOINED)
@@ -206,6 +209,7 @@ internal class CommandWar : BaseCommand() {
206209
throw ExpectationNotMet(Messages.WAR__ALREADY_AT_MAX)
207210
}
208211
challenge.defendPlayers.add(player.uniqueId)
212+
side = "challenger"
209213
} else {
210214
if (challenge.challengePlayers.contains(player.uniqueId)) {
211215
throw ExpectationNotMet(Messages.WAR__ALREADY_JOINED)
@@ -214,8 +218,12 @@ internal class CommandWar : BaseCommand() {
214218
throw ExpectationNotMet(Messages.WAR__ALREADY_AT_MAX)
215219
}
216220
challenge.challengePlayers.add(player.uniqueId)
221+
side = "defender"
217222
}
218223

224+
val event = GuildWarPlayerJoinEvent(challenge.challenger, challenge.defender, player, side)
225+
Bukkit.getPluginManager().callEvent(event)
226+
219227
guild.sendMessage(currentCommandManager, Messages.WAR__WAR_JOINED, "{player}", player.name)
220228
}
221229
}

0 commit comments

Comments
 (0)