diff --git a/build.gradle.kts b/build.gradle.kts index da1df50..677d0c5 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -6,7 +6,7 @@ plugins { } group = "xyz.mahasamut.gun_game" -version = "1.0.0" +version = "1.0.1" repositories { mavenCentral() diff --git a/src/main/kotlin/xyz/mahasamut/gun_game/config/configs/Config.kt b/src/main/kotlin/xyz/mahasamut/gun_game/config/configs/Config.kt index 754e743..7f4a9a9 100644 --- a/src/main/kotlin/xyz/mahasamut/gun_game/config/configs/Config.kt +++ b/src/main/kotlin/xyz/mahasamut/gun_game/config/configs/Config.kt @@ -68,8 +68,7 @@ class Config(path: Path, properties: BukkitYamlProperties) : BukkitYamlConfigura var resetTierOnQuit = true var setExpRelatedToTier = true var autoRespawn = true - var killSound = Sound(true, "LEVEL_UP") - var deathSound = Sound(false, "ENDERMAN_DEATH") + var event = Event() @ElementType(TierItem::class) var tierItem = mapOf( @@ -81,10 +80,22 @@ class Config(path: Path, properties: BukkitYamlProperties) : BukkitYamlConfigura ) @ConfigurationElement - data class Sound(var enable: Boolean = false, var value: String = "") + class Event { + var kill = EventType(Sound(true, "LEVEL_UP"), Command(true, arrayListOf("CONSOLE:money give %player% 10"))) + var death = EventType(Sound(false, "ENDERMAN_DEATH"), Command(true, arrayListOf("PLAYER:msg %player% LOL"))) + + @ConfigurationElement + class EventType(var sound: Sound = Sound(), var command: Command = Command()) + + @ConfigurationElement + class Sound(var enable: Boolean = false, var value: String = "") + + @ConfigurationElement + class Command(var enable: Boolean = false, var value: ArrayList = arrayListOf()) + } @ConfigurationElement - data class TierItem( + class TierItem( var helmet: String = "", var chestplate: String = "", var leggings: String = "", diff --git a/src/main/kotlin/xyz/mahasamut/gun_game/listener/listeners/GameplayListener.kt b/src/main/kotlin/xyz/mahasamut/gun_game/listener/listeners/GameplayListener.kt index 180b2f6..8eea779 100644 --- a/src/main/kotlin/xyz/mahasamut/gun_game/listener/listeners/GameplayListener.kt +++ b/src/main/kotlin/xyz/mahasamut/gun_game/listener/listeners/GameplayListener.kt @@ -49,9 +49,15 @@ class GameplayListener : Listener { if (!WhiteListUtils.isAllow(player)) return - if (config.gameplay.deathSound.enable) player.playSound( - player.location, Sound.valueOf(config.gameplay.deathSound.value), 1f, 1f + if (config.gameplay.event.death.sound.enable) player.playSound( + player.location, Sound.valueOf(config.gameplay.event.death.sound.value), 1f, 1f ) + if (config.gameplay.event.death.command.enable) { + for (command in config.gameplay.event.death.command.value) GunGame.instance.server.dispatchCommand( + if (command.startsWith("CONSOLE:")) GunGame.instance.server.consoleSender else player, + StringUtils.format(command, player) + ) + } event.deathMessage = null event.drops.clear() @@ -74,9 +80,15 @@ class GameplayListener : Listener { PlayerUtils.setPlayerTierItems(killer, playerData.tier) } killer.sendMessage(StringUtils.format(message.killer, killer, player)) - if (config.gameplay.killSound.enable) killer.playSound( - killer.location, Sound.valueOf(config.gameplay.killSound.value), 1f, 1f + if (config.gameplay.event.kill.sound.enable) killer.playSound( + killer.location, Sound.valueOf(config.gameplay.event.kill.sound.value), 1f, 1f ) + if (config.gameplay.event.kill.command.enable) { + for (command in config.gameplay.event.kill.command.value) GunGame.instance.server.dispatchCommand( + if (command.startsWith("CONSOLE:")) GunGame.instance.server.consoleSender else killer, + StringUtils.format(command, killer) + ) + } DataManager.increaseDeath(player) player.sendMessage(StringUtils.format(message.killed, killer, player)) diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 3012ebf..5468f36 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,6 +1,6 @@ name: GunGame author: M4h45amu7x -version: 1.0.0 +version: 1.0.1 main: xyz.mahasamut.gun_game.GunGame depend: - PlaceholderAPI