diff --git a/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/ItemSpawner.kt b/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/ItemSpawner.kt index 0e763f8..85ab213 100644 --- a/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/ItemSpawner.kt +++ b/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/ItemSpawner.kt @@ -2,7 +2,6 @@ package de.moritzruth.spigot_ttt.game.items import de.moritzruth.spigot_ttt.game.GameManager import de.moritzruth.spigot_ttt.utils.ConfigurationFile -import de.moritzruth.spigot_ttt.utils.Probability import de.moritzruth.spigot_ttt.utils.roundToCenter import org.bukkit.Location import java.util.* @@ -27,8 +26,8 @@ object ItemSpawner { fun spawnWeapons() { val spawningItems = mutableListOf>() - loop@ for (tttItem in ItemManager.ITEMS) { - val count = Probability.values().indexOf(tttItem.spawnProbability) + 1 + for (tttItem in ItemManager.ITEMS) { + val count = tttItem.spawnProbability?.multiplier ?: 0 spawningItems.addAll(Collections.nCopies(count, tttItem)) } diff --git a/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/SpawnProbability.kt b/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/SpawnProbability.kt new file mode 100644 index 0000000..7c524fc --- /dev/null +++ b/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/SpawnProbability.kt @@ -0,0 +1,7 @@ +package de.moritzruth.spigot_ttt.game.items + +enum class SpawnProbability(val multiplier: Int) { + VERY_LOW(1), + LOW(4), + NORMAL(10) +} diff --git a/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/TTTItem.kt b/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/TTTItem.kt index 4daf0de..90b745d 100644 --- a/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/TTTItem.kt +++ b/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/TTTItem.kt @@ -4,7 +4,6 @@ import com.comphenix.protocol.events.PacketListener import de.moritzruth.spigot_ttt.game.players.Role import de.moritzruth.spigot_ttt.game.players.TTTPlayer import de.moritzruth.spigot_ttt.plugin -import de.moritzruth.spigot_ttt.utils.Probability import de.moritzruth.spigot_ttt.utils.applyMeta import de.moritzruth.spigot_ttt.utils.nextTick import org.bukkit.ChatColor @@ -21,7 +20,7 @@ open class TTTItem( val templateItemStack: ItemStack, val instanceType: KClass, val shopInfo: ShopInfo? = null, - val spawnProbability: Probability? = null, + val spawnProbability: SpawnProbability? = null, val disableDamage: Boolean = true, val removeInstanceOnDeath: Boolean = true ) { diff --git a/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/impl/EnderPearl.kt b/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/impl/EnderPearl.kt index 17523ea..432b4f7 100644 --- a/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/impl/EnderPearl.kt +++ b/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/impl/EnderPearl.kt @@ -1,9 +1,9 @@ package de.moritzruth.spigot_ttt.game.items.impl +import de.moritzruth.spigot_ttt.game.items.SpawnProbability import de.moritzruth.spigot_ttt.game.items.TTTItem import de.moritzruth.spigot_ttt.game.players.Role import de.moritzruth.spigot_ttt.game.players.roles -import de.moritzruth.spigot_ttt.utils.Probability import de.moritzruth.spigot_ttt.utils.applyMeta import org.bukkit.ChatColor import org.bukkit.Material @@ -15,7 +15,7 @@ object EnderPearl : TTTItem( templateItemStack = ItemStack(Material.ENDER_PEARL).applyMeta { setDisplayName("${ChatColor.DARK_GREEN}Enderperle") }, - spawnProbability = Probability.VERY_LOW, + spawnProbability = SpawnProbability.VERY_LOW, shopInfo = ShopInfo( buyableBy = roles(Role.TRAITOR, Role.JACKAL, Role.DETECTIVE), price = 1 diff --git a/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/impl/HealingPotion.kt b/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/impl/HealingPotion.kt index 7409aee..823eeab 100644 --- a/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/impl/HealingPotion.kt +++ b/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/impl/HealingPotion.kt @@ -1,10 +1,10 @@ package de.moritzruth.spigot_ttt.game.items.impl +import de.moritzruth.spigot_ttt.game.items.SpawnProbability import de.moritzruth.spigot_ttt.game.items.TTTItem import de.moritzruth.spigot_ttt.game.items.TTTItemListener import de.moritzruth.spigot_ttt.game.players.Role import de.moritzruth.spigot_ttt.game.players.roles -import de.moritzruth.spigot_ttt.utils.Probability import de.moritzruth.spigot_ttt.utils.applyMeta import de.moritzruth.spigot_ttt.utils.applyTypedMeta import org.bukkit.ChatColor @@ -21,7 +21,7 @@ import org.bukkit.potion.PotionType object HealingPotion: TTTItem( instanceType = Instance::class, type = Type.SPECIAL, - spawnProbability = Probability.VERY_LOW, + spawnProbability = SpawnProbability.VERY_LOW, templateItemStack = ItemStack(Material.POTION) .applyTypedMeta { basePotionData = PotionData(PotionType.INSTANT_HEAL, false, true) } .applyMeta { diff --git a/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/impl/weapons/guns/Deagle.kt b/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/impl/weapons/guns/Deagle.kt index 5258deb..de4a600 100644 --- a/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/impl/weapons/guns/Deagle.kt +++ b/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/impl/weapons/guns/Deagle.kt @@ -1,14 +1,14 @@ package de.moritzruth.spigot_ttt.game.items.impl.weapons.guns import de.moritzruth.spigot_ttt.Resourcepack -import de.moritzruth.spigot_ttt.utils.Probability +import de.moritzruth.spigot_ttt.game.items.SpawnProbability import de.moritzruth.spigot_ttt.utils.heartsToHealth import org.bukkit.ChatColor object Deagle: Gun( type = Type.PISTOL_LIKE, instanceType = Instance::class, - spawnProbability = Probability.NORMAL, + spawnProbability = SpawnProbability.NORMAL, displayName = "${ChatColor.BLUE}${ChatColor.BOLD}Deagle", damage = heartsToHealth(3.0), cooldown = 1.4, diff --git a/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/impl/weapons/guns/Glock.kt b/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/impl/weapons/guns/Glock.kt index c3905dd..fa9d2f7 100644 --- a/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/impl/weapons/guns/Glock.kt +++ b/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/impl/weapons/guns/Glock.kt @@ -1,7 +1,7 @@ package de.moritzruth.spigot_ttt.game.items.impl.weapons.guns import de.moritzruth.spigot_ttt.Resourcepack -import de.moritzruth.spigot_ttt.utils.Probability +import de.moritzruth.spigot_ttt.game.items.SpawnProbability import de.moritzruth.spigot_ttt.utils.heartsToHealth import org.bukkit.ChatColor @@ -10,7 +10,7 @@ object Glock: Gun( instanceType = Instance::class, displayName = "${ChatColor.YELLOW}${ChatColor.BOLD}Glock", damage = heartsToHealth(1.5), - spawnProbability = Probability.NORMAL, + spawnProbability = SpawnProbability.NORMAL, cooldown = 0.3, magazineSize = 20, reloadTime = 2.0, diff --git a/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/impl/weapons/guns/Gun.kt b/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/impl/weapons/guns/Gun.kt index 1c68c2c..e7e1a82 100644 --- a/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/impl/weapons/guns/Gun.kt +++ b/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/impl/weapons/guns/Gun.kt @@ -7,7 +7,7 @@ import de.moritzruth.spigot_ttt.game.items.LoreHelper import de.moritzruth.spigot_ttt.game.items.TTTItem import de.moritzruth.spigot_ttt.game.players.DeathReason import de.moritzruth.spigot_ttt.game.players.TTTPlayer -import de.moritzruth.spigot_ttt.utils.Probability +import de.moritzruth.spigot_ttt.game.items.SpawnProbability import de.moritzruth.spigot_ttt.utils.applyMeta import de.moritzruth.spigot_ttt.utils.hideInfo import de.moritzruth.spigot_ttt.utils.startExpProgressTask @@ -21,7 +21,7 @@ import kotlin.reflect.KClass abstract class Gun( type: Type, instanceType: KClass, - spawnProbability: Probability? = null, + spawnProbability: SpawnProbability? = null, shopInfo: ShopInfo? = null, material: Material, displayName: String, diff --git a/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/impl/weapons/guns/Pistol.kt b/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/impl/weapons/guns/Pistol.kt index 88ca791..7643070 100644 --- a/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/impl/weapons/guns/Pistol.kt +++ b/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/impl/weapons/guns/Pistol.kt @@ -1,14 +1,14 @@ package de.moritzruth.spigot_ttt.game.items.impl.weapons.guns import de.moritzruth.spigot_ttt.Resourcepack -import de.moritzruth.spigot_ttt.utils.Probability +import de.moritzruth.spigot_ttt.game.items.SpawnProbability import de.moritzruth.spigot_ttt.utils.heartsToHealth import org.bukkit.ChatColor object Pistol: Gun( type = Type.PISTOL_LIKE, instanceType = Instance::class, - spawnProbability = Probability.NORMAL, + spawnProbability = SpawnProbability.NORMAL, displayName = "${ChatColor.YELLOW}${ChatColor.BOLD}Pistol", damage = heartsToHealth(2.5), cooldown = 0.8, diff --git a/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/impl/weapons/guns/Rifle.kt b/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/impl/weapons/guns/Rifle.kt index e2aa73e..fa00e90 100644 --- a/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/impl/weapons/guns/Rifle.kt +++ b/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/impl/weapons/guns/Rifle.kt @@ -1,14 +1,14 @@ package de.moritzruth.spigot_ttt.game.items.impl.weapons.guns import de.moritzruth.spigot_ttt.Resourcepack -import de.moritzruth.spigot_ttt.utils.Probability +import de.moritzruth.spigot_ttt.game.items.SpawnProbability import de.moritzruth.spigot_ttt.utils.heartsToHealth import org.bukkit.ChatColor object Rifle: Gun( type = Type.HEAVY_WEAPON, instanceType = Instance::class, - spawnProbability = Probability.NORMAL, + spawnProbability = SpawnProbability.NORMAL, displayName = "${ChatColor.YELLOW}${ChatColor.BOLD}Rifle", damage = heartsToHealth(0.8), cooldown = 0.15, diff --git a/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/impl/weapons/guns/Shotgun.kt b/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/impl/weapons/guns/Shotgun.kt index ded69af..28e9aeb 100644 --- a/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/impl/weapons/guns/Shotgun.kt +++ b/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/impl/weapons/guns/Shotgun.kt @@ -4,7 +4,7 @@ import de.moritzruth.spigot_ttt.Resourcepack import de.moritzruth.spigot_ttt.game.GameManager import de.moritzruth.spigot_ttt.game.players.TTTPlayer import de.moritzruth.spigot_ttt.plugin -import de.moritzruth.spigot_ttt.utils.Probability +import de.moritzruth.spigot_ttt.game.items.SpawnProbability import de.moritzruth.spigot_ttt.utils.heartsToHealth import de.moritzruth.spigot_ttt.utils.secondsToTicks import de.moritzruth.spigot_ttt.utils.startProgressTask @@ -18,7 +18,7 @@ private const val MAGAZINE_SIZE = 8 object Shotgun: Gun( type = Type.HEAVY_WEAPON, instanceType = Instance::class, - spawnProbability = Probability.LOW, + spawnProbability = SpawnProbability.LOW, displayName = "${ChatColor.YELLOW}${ChatColor.BOLD}Shotgun", damage = heartsToHealth(3.0), cooldown = 0.9, diff --git a/src/main/kotlin/de/moritzruth/spigot_ttt/utils/Probability.kt b/src/main/kotlin/de/moritzruth/spigot_ttt/utils/Probability.kt deleted file mode 100644 index a4e5251..0000000 --- a/src/main/kotlin/de/moritzruth/spigot_ttt/utils/Probability.kt +++ /dev/null @@ -1,7 +0,0 @@ -package de.moritzruth.spigot_ttt.utils - -enum class Probability { - VERY_LOW, - LOW, - NORMAL -}