From 6a71ed6526e4db02ae4b4b561cbc3440235a204e Mon Sep 17 00:00:00 2001 From: Gleb Kosyrev Date: Sat, 5 Oct 2024 00:29:50 +0900 Subject: [PATCH 1/2] fix: unknown enchantment type skip --- fabric/src/main/kotlin/FabricGameAPI.kt | 22 ++++++++++++++-------- forge/src/main/kotlin/ForgeGameAPI.kt | 22 ++++++++++++++-------- 2 files changed, 28 insertions(+), 16 deletions(-) diff --git a/fabric/src/main/kotlin/FabricGameAPI.kt b/fabric/src/main/kotlin/FabricGameAPI.kt index 7de8d9d..cf5bbe8 100644 --- a/fabric/src/main/kotlin/FabricGameAPI.kt +++ b/fabric/src/main/kotlin/FabricGameAPI.kt @@ -94,7 +94,7 @@ fun toServerWorld(world: World): MCServerWorld { return (world as MCServerWorld).level } -private fun toEnchantmentType(mcType: MCEnchantmentType): EnchantmentType { +private fun toEnchantmentType(mcType: MCEnchantmentType): EnchantmentType? { return when (mcType) { MCEnchantmentType.ARMOR -> EnchantmentType.ARMOR MCEnchantmentType.ARMOR_FEET -> EnchantmentType.ARMOR_FEET @@ -110,6 +110,7 @@ private fun toEnchantmentType(mcType: MCEnchantmentType): EnchantmentType { MCEnchantmentType.WEARABLE -> EnchantmentType.WEARABLE MCEnchantmentType.CROSSBOW -> EnchantmentType.CROSSBOW MCEnchantmentType.VANISHABLE -> EnchantmentType.VANISHABLE + else -> null } } @@ -164,13 +165,18 @@ object FabricGameAPI : GameAPI { ) } - enchantments = BuiltInRegistries.ENCHANTMENT.entrySet().map { - Enchantment( - it.key.location().toString(), - type = toEnchantmentType(it.value.category), - maxLevel = it.value.maxLevel, - isCurse = it.value.isCurse, - ) + enchantments = BuiltInRegistries.ENCHANTMENT.entrySet().mapNotNull { + val enchantmentType = toEnchantmentType(it.value.category) + if (enchantmentType == null) { + null + } else { + Enchantment( + it.key.location().toString(), + type = enchantmentType, + maxLevel = it.value.maxLevel, + isCurse = it.value.isCurse, + ) + } } } diff --git a/forge/src/main/kotlin/ForgeGameAPI.kt b/forge/src/main/kotlin/ForgeGameAPI.kt index d9c94bc..8abbc3e 100644 --- a/forge/src/main/kotlin/ForgeGameAPI.kt +++ b/forge/src/main/kotlin/ForgeGameAPI.kt @@ -90,7 +90,7 @@ fun toServerWorld(world: World): MCServerWorld { return (world as MCServerWorld).level } -private fun toEnchantmentType(mcType: MCEnchantmentType): EnchantmentType { +private fun toEnchantmentType(mcType: MCEnchantmentType): EnchantmentType? { return when (mcType) { MCEnchantmentType.ARMOR -> EnchantmentType.ARMOR MCEnchantmentType.ARMOR_FEET -> EnchantmentType.ARMOR_FEET @@ -106,6 +106,7 @@ private fun toEnchantmentType(mcType: MCEnchantmentType): EnchantmentType { MCEnchantmentType.WEARABLE -> EnchantmentType.WEARABLE MCEnchantmentType.CROSSBOW -> EnchantmentType.CROSSBOW MCEnchantmentType.VANISHABLE -> EnchantmentType.VANISHABLE + else -> null } } @@ -160,13 +161,18 @@ object ForgeGameAPI : GameAPI { ) } - enchantments = ForgeRegistries.ENCHANTMENTS.entries.map { - Enchantment( - it.key.location().toString(), - type = toEnchantmentType(it.value.category), - maxLevel = it.value.maxLevel, - isCurse = it.value.isCurse, - ) + enchantments = ForgeRegistries.ENCHANTMENTS.entries.mapNotNull { + val enchantmentType = toEnchantmentType(it.value.category) + if (enchantmentType == null) { + null + } else { + Enchantment( + it.key.location().toString(), + type = enchantmentType, + maxLevel = it.value.maxLevel, + isCurse = it.value.isCurse, + ) + } } } From 94e4e0b5205e1c3d2d2f621290b736e2426286a1 Mon Sep 17 00:00:00 2001 From: Gleb Kosyrev Date: Wed, 9 Apr 2025 18:53:44 +0900 Subject: [PATCH 2/2] chore: changed version of grgit to 5.3.0 --- buildSrc/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index f62437d..4aa6d21 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -9,6 +9,6 @@ repositories { } dependencies { - implementation("org.ajoberstar.grgit:grgit-core:4.1.0") + implementation("org.ajoberstar.grgit:grgit-core:5.3.0") implementation("com.charleskorn.kaml:kaml:0.37.0") }