From 56789d0e407d954ed2a3f1a844a2d282a933759b Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Thu, 24 Nov 2022 21:58:51 +0700 Subject: [PATCH] Transfer enchantments from recipe ingredients to result item in EnergyContainerRecipe Fixes #216 --- .../mc/otm/recipe/EnergyContainerRecipe.kt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/recipe/EnergyContainerRecipe.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/recipe/EnergyContainerRecipe.kt index 138e93e22..266e85377 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/recipe/EnergyContainerRecipe.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/recipe/EnergyContainerRecipe.kt @@ -13,6 +13,7 @@ import net.minecraft.world.item.crafting.ShapedRecipe import net.minecraft.world.level.Level import ru.dbotthepony.mc.otm.capability.ItemEnergyStorageImpl import ru.dbotthepony.mc.otm.capability.matteryEnergy +import ru.dbotthepony.mc.otm.container.iterator import ru.dbotthepony.mc.otm.container.stream import ru.dbotthepony.mc.otm.core.set import ru.dbotthepony.mc.otm.core.tagNotNull @@ -40,6 +41,16 @@ class EnergyContainerRecipe( itemStack.tagNotNull[ItemEnergyStorageImpl.ENERGY_KEY] = battery.batteryLevel.serializeNBT() } + if (itemStack.isEnchantable) { + for (it in container.iterator()) { + if (!it.isEmpty && it.isDamageableItem && it.isEnchanted) { + for ((key, value) in it.allEnchantments) { + itemStack.enchant(key, value) + } + } + } + } + return itemStack }