From 1725f52f43015d78fddf6516038e06e5a6d151d0 Mon Sep 17 00:00:00 2001 From: Sven Heidemann Date: Mon, 21 Oct 2024 18:08:57 +0200 Subject: [PATCH] Reload drinksByEvent when difficulty changes --- .../kotlin/de/sh_edraft/service/Barkeeper.kt | 69 ++++++++++--------- 1 file changed, 38 insertions(+), 31 deletions(-) diff --git a/src/main/kotlin/de/sh_edraft/service/Barkeeper.kt b/src/main/kotlin/de/sh_edraft/service/Barkeeper.kt index 9ec8931..8437a9e 100644 --- a/src/main/kotlin/de/sh_edraft/service/Barkeeper.kt +++ b/src/main/kotlin/de/sh_edraft/service/Barkeeper.kt @@ -18,46 +18,52 @@ data class Serving( val audience: AudienceType ) -class Barkeeper( - private val logger: Logger -) { +class Barkeeper(private val logger: Logger) { var debug: Boolean = false private var enabled: Boolean = false private var difficulty = Difficulty.Comfy - val drinksByEvent = mapOf( - "EntityDamageEvent" to Serving(amount = 1, audience = AudienceType.SELF), - "PlayerDeathEvent" to Serving(amount = 1, audience = AudienceType.ALL), - "PlayerJoinEvent" to Serving(amount = 1, audience = AudienceType.ALL), - "PlayerPortalEvent" to Serving(amount = 1, audience = AudienceType.ALL), - "entityOnDeath" to mapOf( - "Wither" to Serving(amount = 2, audience = AudienceType.ALL), - "EnderDragon" to Serving(amount = 3, audience = AudienceType.ALL) - ), - "blockBreak" to mapOf( - "ANCIENT_DEBRIS" to Serving(amount = 2, audience = AudienceType.ALL), + var drinksByEvent = mapOf() - "LEGACY_DIAMOND_ORE" to Serving(amount = 1, audience = AudienceType.ALL), - "DEEPSLATE_DIAMOND_ORE" to Serving(amount = 1, audience = AudienceType.ALL), - "DIAMOND_ORE" to Serving(amount = 1, audience = AudienceType.ALL), + init { + reloadDrinksByEvent() + } - "LEGACY_IRON_ORE" to Serving(amount = 1, audience = AudienceType.SELF), - "DEEPSLATE_IRON_ORE" to Serving(amount = 1, audience = AudienceType.SELF), - "IRON_ORE" to Serving(amount = 1, audience = AudienceType.SELF), + private fun reloadDrinksByEvent() { + this.drinksByEvent = mapOf( + "EntityDamageEvent" to Serving(amount = 1, audience = AudienceType.SELF), + "PlayerDeathEvent" to Serving(amount = 1, audience = AudienceType.ALL), + "PlayerJoinEvent" to Serving(amount = 1, audience = AudienceType.ALL), + "PlayerPortalEvent" to Serving(amount = 1, audience = AudienceType.ALL), + "entityOnDeath" to mapOf( + "Wither" to Serving(amount = 2, audience = AudienceType.ALL), + "EnderDragon" to Serving(amount = 3, audience = AudienceType.ALL) + ), + "blockBreak" to mapOf( + "ANCIENT_DEBRIS" to Serving(amount = 2, audience = AudienceType.ALL), - "LEGACY_COAL_ORE" to Serving(amount = 1, audience = AudienceType.SELF), - "DEEPSLATE_COAL_ORE" to Serving(amount = 1, audience = AudienceType.SELF), - "COAL_ORE" to Serving(amount = 1, audience = AudienceType.SELF), + "LEGACY_DIAMOND_ORE" to Serving(amount = 1, audience = AudienceType.ALL), + "DEEPSLATE_DIAMOND_ORE" to Serving(amount = 1, audience = AudienceType.ALL), + "DIAMOND_ORE" to Serving(amount = 1, audience = AudienceType.ALL), - "LEGACY_GOLD_ORE" to Serving(amount = 1, audience = AudienceType.SELF), - "DEEPSLATE_GOLD_ORE" to Serving(amount = 1, audience = AudienceType.SELF), - "GOLD_ORE" to Serving(amount = 1, audience = AudienceType.SELF), + "LEGACY_IRON_ORE" to Serving(amount = 1, audience = AudienceType.SELF), + "DEEPSLATE_IRON_ORE" to Serving(amount = 1, audience = AudienceType.SELF), + "IRON_ORE" to Serving(amount = 1, audience = AudienceType.SELF), - "LEGACY_EMERALD_ORE" to Serving(amount = 1, audience = AudienceType.SELF), - "DEEPSLATE_EMERALD_ORE" to Serving(amount = 1, audience = AudienceType.SELF), - "EMERALD_ORE" to Serving(amount = 1, audience = AudienceType.SELF), - ), - ) + "LEGACY_COAL_ORE" to Serving(amount = 1, audience = AudienceType.SELF), + "DEEPSLATE_COAL_ORE" to Serving(amount = 1, audience = AudienceType.SELF), + "COAL_ORE" to Serving(amount = 1, audience = AudienceType.SELF), + + "LEGACY_GOLD_ORE" to Serving(amount = 1, audience = AudienceType.SELF), + "DEEPSLATE_GOLD_ORE" to Serving(amount = 1, audience = AudienceType.SELF), + "GOLD_ORE" to Serving(amount = 1, audience = AudienceType.SELF), + + "LEGACY_EMERALD_ORE" to Serving(amount = 1, audience = AudienceType.SELF), + "DEEPSLATE_EMERALD_ORE" to Serving(amount = 1, audience = AudienceType.SELF), + "EMERALD_ORE" to Serving(amount = 1, audience = AudienceType.SELF), + ), + ) + } fun enableDebug(debug: Boolean) { this.debug = debug; @@ -77,6 +83,7 @@ class Barkeeper( fun setDifficulty(difficulty: Difficulty) { this.difficulty = difficulty; + this.reloadDrinksByEvent(); } fun order(sourceEvent: Event, sourcePlayer: Player) {