From d4fa3bcdbdb171eabbbfe75b52f6862abdc8b354 Mon Sep 17 00:00:00 2001 From: BimboBigBoy Date: Sun, 19 May 2024 15:42:39 -0500 Subject: [PATCH 1/2] FireworkEffectMeta --- .../kotlin/com/mineinabyss/idofront/items/ItemMetas.kt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/idofront-util/src/main/kotlin/com/mineinabyss/idofront/items/ItemMetas.kt b/idofront-util/src/main/kotlin/com/mineinabyss/idofront/items/ItemMetas.kt index a11fe79..d24dc39 100644 --- a/idofront-util/src/main/kotlin/com/mineinabyss/idofront/items/ItemMetas.kt +++ b/idofront-util/src/main/kotlin/com/mineinabyss/idofront/items/ItemMetas.kt @@ -40,6 +40,14 @@ fun ItemMeta.asColorable(): Colorable? { } } + is FireworkEffectMeta -> object : Colorable { + override var color: Color? + get() = meta.color + set(value) { + meta.color = value + } + } + else -> null } -} \ No newline at end of file +} From c85d796dcc9b220b5f8e4be126f508be80064299 Mon Sep 17 00:00:00 2001 From: Boy Date: Sun, 19 May 2024 23:31:11 +0200 Subject: [PATCH 2/2] fix: bad FireworkEffectMeta for ItemMetas#asColorable --- .../com/mineinabyss/idofront/items/ItemMetas.kt | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/idofront-util/src/main/kotlin/com/mineinabyss/idofront/items/ItemMetas.kt b/idofront-util/src/main/kotlin/com/mineinabyss/idofront/items/ItemMetas.kt index d24dc39..2b3e341 100644 --- a/idofront-util/src/main/kotlin/com/mineinabyss/idofront/items/ItemMetas.kt +++ b/idofront-util/src/main/kotlin/com/mineinabyss/idofront/items/ItemMetas.kt @@ -1,7 +1,9 @@ package com.mineinabyss.idofront.items import org.bukkit.Color +import org.bukkit.FireworkEffect import org.bukkit.inventory.meta.FireworkEffectMeta +import org.bukkit.inventory.meta.FireworkMeta import org.bukkit.inventory.meta.ItemMeta import org.bukkit.inventory.meta.LeatherArmorMeta import org.bukkit.inventory.meta.MapMeta @@ -42,9 +44,15 @@ fun ItemMeta.asColorable(): Colorable? { is FireworkEffectMeta -> object : Colorable { override var color: Color? - get() = meta.color + get() = meta.effect?.colors?.firstOrNull() set(value) { - meta.color = value + meta.effect = FireworkEffect.builder() + .withColor(setOf(value ?: meta.effect?.colors ?: listOf(Color.GRAY))) + .with(meta.effect?.type ?: FireworkEffect.Type.BALL) + .withFade(meta.effect?.fadeColors ?: emptyList()) + .trail(meta.effect?.hasTrail() ?: false) + .flicker(meta.effect?.hasFlicker() ?: false) + .build() } }