From 1c645366c16d495f72eb0cfe88bc232ef59e0cfa Mon Sep 17 00:00:00 2001 From: bluefireoly Date: Tue, 10 Nov 2020 21:18:48 +0100 Subject: [PATCH] Create FireworkBuilder.kt --- .../net/axay/kspigot/utils/FireworkBuilder.kt | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/main/kotlin/net/axay/kspigot/utils/FireworkBuilder.kt diff --git a/src/main/kotlin/net/axay/kspigot/utils/FireworkBuilder.kt b/src/main/kotlin/net/axay/kspigot/utils/FireworkBuilder.kt new file mode 100644 index 00000000..3cc5e827 --- /dev/null +++ b/src/main/kotlin/net/axay/kspigot/utils/FireworkBuilder.kt @@ -0,0 +1,25 @@ +package net.axay.kspigot.utils + +import net.axay.kspigot.items.meta +import org.bukkit.FireworkEffect +import org.bukkit.Material +import org.bukkit.inventory.ItemStack +import org.bukkit.inventory.meta.FireworkMeta + +/** + * Opens a new FireworkMeta builder and creates + * an ItemStack with the new FireworkMeta applied. + */ +fun fireworkItemStack(amount: Int = 1, builder: FireworkMeta.() -> Unit) = + ItemStack(Material.FIREWORK_ROCKET, amount).apply { + meta { + builder.invoke(this) + } + } + +/** + * Opens a new effect builder and adds this + * new effect to this FireworkMeta. + */ +fun FireworkMeta.addEffect(builder: FireworkEffect.Builder.() -> Unit) = + addEffect(FireworkEffect.builder().apply(builder).build()) \ No newline at end of file