Fixed open messages/broadcasts/etc being sent on rerolls

This commit is contained in:
Auxilor
2022-03-18 12:23:37 +00:00
parent 702d364c06
commit 7f012547fa
2 changed files with 21 additions and 13 deletions

View File

@@ -321,7 +321,12 @@ class Crate(
}
}
fun open(player: Player, location: Location? = null, physicalKey: Boolean = false, isReroll: Boolean = false): Boolean {
fun open(
player: Player,
location: Location? = null,
physicalKey: Boolean = false,
isReroll: Boolean = false
): Boolean {
/* Prevent server crashes */
if (hasRanOutOfRewardsAndNotify(player)) {
return false
@@ -333,22 +338,24 @@ class Crate(
val loc = location ?: player.eyeLocation
val event = CrateOpenEvent(player, this, physicalKey, getRandomReward(player))
val event = CrateOpenEvent(player, this, physicalKey, getRandomReward(player), isReroll)
Bukkit.getPluginManager().callEvent(event)
openSound.play(loc)
if (!isReroll) {
openSound.play(loc)
openCommands.map { it.replace("%player%", player.name) }
.forEach { Bukkit.dispatchCommand(Bukkit.getConsoleSender(), it) }
openCommands.map { it.replace("%player%", player.name) }
.forEach { Bukkit.dispatchCommand(Bukkit.getConsoleSender(), it) }
openMessages.map { it.replace("%reward%", event.reward.displayName) }
.map { plugin.langYml.prefix + StringUtils.format(it, player) }
.forEach { player.sendMessage(it) }
openMessages.map { it.replace("%reward%", event.reward.displayName) }
.map { plugin.langYml.prefix + StringUtils.format(it, player) }
.forEach { player.sendMessage(it) }
openBroadcasts.map { it.replace("%reward%", event.reward.displayName) }
.map { it.replace("%player%", player.savedDisplayName) }
.map { plugin.langYml.prefix + StringUtils.format(it, player) }
.forEach { Bukkit.broadcastMessage(it) }
openBroadcasts.map { it.replace("%reward%", event.reward.displayName) }
.map { it.replace("%player%", player.savedDisplayName) }
.map { plugin.langYml.prefix + StringUtils.format(it, player) }
.forEach { Bukkit.broadcastMessage(it) }
}
val roll = makeRoll(player, loc, event.reward, isReroll = isReroll)
var tick = 0

View File

@@ -10,7 +10,8 @@ class CrateOpenEvent(
player: Player,
val crate: Crate,
val isPhysicalKey: Boolean,
var reward: Reward
var reward: Reward,
val isReroll: Boolean
) : PlayerEvent(player) {
override fun getHandlers(): HandlerList {
return Companion.handlers