diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecocrates/crate/Crate.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecocrates/crate/Crate.kt index b37bc37..49fd9f3 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecocrates/crate/Crate.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecocrates/crate/Crate.kt @@ -14,7 +14,9 @@ import com.willfp.eco.core.items.CustomItem import com.willfp.eco.core.items.Items import com.willfp.eco.core.items.builder.ItemStackBuilder import com.willfp.eco.core.placeholder.PlayerPlaceholder +import com.willfp.eco.util.StringUtils import com.willfp.eco.util.formatEco +import com.willfp.eco.util.savedDisplayName import com.willfp.ecocrates.crate.placed.particle.ParticleAnimations import com.willfp.ecocrates.crate.placed.particle.ParticleData import com.willfp.ecocrates.crate.roll.Roll @@ -97,6 +99,10 @@ class Crate( private val finishFireworks = config.getSubsections("finish.fireworks") .map { ConfiguredFirework.fromConfig(it) } + private val finishMessages = config.getStrings("finish.messages") + + private val finishBroadcasts = config.getStrings("finish.broadcasts") + init { PlayerPlaceholder( plugin, @@ -246,6 +252,15 @@ class Crate( event.reward.giveTo(player) finishSound.play(location) finishFireworks.forEach { it.launch(location) } + + finishMessages.map { it.replace("%reward%", event.reward.displayName) } + .map { plugin.langYml.prefix + StringUtils.format(it, player) } + .forEach { player.sendMessage(it) } + + finishBroadcasts.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) } } fun adjustKeys(player: OfflinePlayer, amount: Int) { diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecocrates/reward/Reward.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecocrates/reward/Reward.kt index 4d178f8..29ff80d 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecocrates/reward/Reward.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecocrates/reward/Reward.kt @@ -32,6 +32,8 @@ class Reward( val displayColumn = config.getInt("display.column") + val displayName = config.getFormattedString("display.name") + fun giveTo(player: Player) { for (command in commands) { Bukkit.dispatchCommand( diff --git a/eco-core/core-plugin/src/main/resources/crates.yml b/eco-core/core-plugin/src/main/resources/crates.yml index 3c424b4..66d3cda 100644 --- a/eco-core/core-plugin/src/main/resources/crates.yml +++ b/eco-core/core-plugin/src/main/resources/crates.yml @@ -46,6 +46,10 @@ crates: - '&a&lRight click to Open' finish: + messages: + - "You won %reward%&f!" + broadcasts: + - "%player%&f won %reward%&f from the Demo Crate!" fireworks: - power: 2 type: ball_large @@ -72,6 +76,7 @@ crates: actual: 10 display: 25 display: + name: "&bDiamond" item: diamond lore: [ ] row: 2 @@ -86,6 +91,7 @@ crates: actual: 10 display: 50 display: + name: "&aEmerald" item: emerald lore: [ ] row: 2 @@ -100,6 +106,7 @@ crates: actual: 10000000 display: 0 display: + name: "very cool demo bedrock" item: bedrock lore: [ ] row: 2