mirror of
https://github.com/Artillex-Studios/AxMinions.git
synced 2024-12-01 13:03:43 +01:00
custom fail message for MinionChestLinkEvent
This commit is contained in:
parent
05b36a3669
commit
9410d74832
@ -15,7 +15,7 @@ class MinionChestLinkEvent(minion: Minion, private val player: Player, private v
|
||||
}
|
||||
|
||||
private var isCancelled = false
|
||||
|
||||
private var failMessage: String? = null
|
||||
|
||||
override fun getHandlers(): HandlerList {
|
||||
return handlerList
|
||||
@ -25,6 +25,14 @@ class MinionChestLinkEvent(minion: Minion, private val player: Player, private v
|
||||
return player
|
||||
}
|
||||
|
||||
fun getFailMessage(): String? {
|
||||
return failMessage
|
||||
}
|
||||
|
||||
fun setFailMessage(message: String) {
|
||||
failMessage = message
|
||||
}
|
||||
|
||||
fun getBlock(): Block {
|
||||
return block
|
||||
}
|
||||
|
@ -30,6 +30,18 @@ class LinkingListener : Listener {
|
||||
if (!AxMinionsPlugin.integrations.getProtectionIntegration().canBuildAt(event.player, event.clickedBlock!!.location)) return
|
||||
|
||||
val minion = linking.remove(event.player) ?: return
|
||||
|
||||
val linkEvent = MinionChestLinkEvent(
|
||||
minion,
|
||||
event.player,
|
||||
event.clickedBlock!!
|
||||
)
|
||||
Bukkit.getPluginManager().callEvent(linkEvent)
|
||||
if (linkEvent.isCancelled) {
|
||||
event.player.sendMessage(StringUtils.formatToString(linkEvent.getFailMessage() ?: (Messages.PREFIX() + Messages.LINK_FAIL())))
|
||||
return
|
||||
}
|
||||
|
||||
event.isCancelled = true
|
||||
if (minion.getLocation()
|
||||
.distanceSquared(event.clickedBlock!!.location) > Config.MAX_LINKING_DISTANCE() * Config.MAX_LINKING_DISTANCE()
|
||||
@ -38,16 +50,6 @@ class LinkingListener : Listener {
|
||||
return
|
||||
}
|
||||
|
||||
val linkEvent = MinionChestLinkEvent(
|
||||
linking.getValue(event.player),
|
||||
event.player,
|
||||
event.clickedBlock!!
|
||||
)
|
||||
Bukkit.getPluginManager().callEvent(linkEvent)
|
||||
if (linkEvent.isCancelled) {
|
||||
return
|
||||
}
|
||||
|
||||
event.player.sendMessage(StringUtils.formatToString(Messages.PREFIX() + Messages.LINK_SUCCESS()))
|
||||
minion.setLinkedChest(event.clickedBlock!!.location)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user