From 1652f984a14b6a233281e8f57265a033dc6caa40 Mon Sep 17 00:00:00 2001 From: Boy Date: Thu, 15 Aug 2024 21:01:25 +0200 Subject: [PATCH] fix: overlaysMeta not merging properly --- .../mineinabyss/idofront/resourcepacks/ResourcePacks.kt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/idofront-util/src/main/kotlin/com/mineinabyss/idofront/resourcepacks/ResourcePacks.kt b/idofront-util/src/main/kotlin/com/mineinabyss/idofront/resourcepacks/ResourcePacks.kt index 56a05dca..edf6c20e 100644 --- a/idofront-util/src/main/kotlin/com/mineinabyss/idofront/resourcepacks/ResourcePacks.kt +++ b/idofront-util/src/main/kotlin/com/mineinabyss/idofront/resourcepacks/ResourcePacks.kt @@ -4,6 +4,7 @@ import com.mineinabyss.idofront.messaging.idofrontLogger import net.kyori.adventure.key.Key import org.bukkit.Material import team.unnamed.creative.ResourcePack +import team.unnamed.creative.metadata.overlays.OverlaysMeta import team.unnamed.creative.model.Model import team.unnamed.creative.serialize.minecraft.MinecraftResourcePackReader import team.unnamed.creative.serialize.minecraft.MinecraftResourcePackWriter @@ -103,6 +104,12 @@ object ResourcePacks { } if (originalPack.packMeta()?.description().isNullOrEmpty()) mergePack.packMeta()?.let { originalPack.packMeta(it) } + if (mergePack.overlaysMeta() != null) { + val originalOverlays = originalPack.overlaysMeta()?.entries() ?: emptyList() + val mergeOverlays = mergePack.overlaysMeta()?.entries() ?: emptyList() + + originalPack.overlaysMeta(OverlaysMeta.of(originalOverlays.plus(mergeOverlays))) + } if (originalPack.icon() == null) mergePack.icon()?.let { originalPack.icon(it) } }