diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecocrates/crate/roll/RollInstant.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecocrates/crate/roll/RollInstant.kt new file mode 100644 index 0000000..0558eea --- /dev/null +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecocrates/crate/roll/RollInstant.kt @@ -0,0 +1,44 @@ +package com.willfp.ecocrates.crate.roll + +import com.willfp.eco.core.EcoPlugin +import com.willfp.ecocrates.crate.Crate +import com.willfp.ecocrates.reward.Reward +import org.bukkit.Location +import org.bukkit.entity.Player + +class RollInstant private constructor( + override val reward: Reward, + override val crate: Crate, + override val plugin: EcoPlugin, + override val player: Player, + override val location: Location, + override val isReroll: Boolean +) : Roll { + override fun roll() { + // No roll. + } + + override fun tick(tick: Int) { + // No tick. + } + + override fun shouldContinueTicking(tick: Int): Boolean { + return false + } + + override fun onFinish() { + // No finish. + } + + object Factory : RollFactory("instant") { + override fun create(options: RollOptions): RollInstant = + RollInstant( + options.reward, + options.crate, + options.plugin, + options.player, + options.location, + options.isReroll + ) + } +} diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecocrates/crate/roll/Rolls.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecocrates/crate/roll/Rolls.kt index 975a28b..c5b3dbe 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecocrates/crate/roll/Rolls.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecocrates/crate/roll/Rolls.kt @@ -11,6 +11,7 @@ object Rolls { val FLASH: RollFactory<*> = RollFlash.Factory val ENCIRCLE: RollFactory<*> = RollEncircle.Factory val QUICK: RollFactory<*> = RollQuick.Factory + val INSTANT: RollFactory<*> = RollInstant.Factory /** * Get roll factory matching id.