diff --git a/build.gradle.kts b/build.gradle.kts index 036d924..09a1b7a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -9,7 +9,7 @@ plugins { allprojects { group = "io.github.solid-resourcepack" - version = "1.21-1.1.0" + version = "1.21-1.1.1" repositories { mavenCentral() diff --git a/solid-material-api/src/main/kotlin/io/github/solid/resourcepack/material/SolidMaterialParent.kt b/solid-material-api/src/main/kotlin/io/github/solid/resourcepack/material/SolidMaterialParent.kt index 598e816..6a87d75 100644 --- a/solid-material-api/src/main/kotlin/io/github/solid/resourcepack/material/SolidMaterialParent.kt +++ b/solid-material-api/src/main/kotlin/io/github/solid/resourcepack/material/SolidMaterialParent.kt @@ -8,30 +8,33 @@ data class SolidMaterialParent( ) { companion object { fun exists(key: Key): Boolean { - if (key.namespace() != Key.MINECRAFT_NAMESPACE) return false + return get(key) != null + } + fun get(key: Key): SolidMaterialParent? { + if (key.namespace() != Key.MINECRAFT_NAMESPACE) return null val split = key.value().split("/") val type = split.first().uppercase() val value = split.last().uppercase() return when (type) { "BLOCK" -> try { - SolidBlockMaterialParent.valueOf(value); true + SolidBlockMaterialParent.valueOf(value).toGeneric() } catch (ignored: Exception) { - false + null } "ITEM" -> try { - SolidItemMaterialParent.valueOf(value); true + SolidItemMaterialParent.valueOf(value).toGeneric() } catch (ignored: Exception) { - false + null } "BUILTIN" -> try { - SolidBuiltinMaterialParent.valueOf(value); true + SolidBuiltinMaterialParent.valueOf(value).toGeneric() } catch (ignored: Exception) { - false + null } - else -> false + else -> null } } } diff --git a/solid-material-api/src/main/kotlin/io/github/solid/resourcepack/material/SolidMaterialTexture.kt b/solid-material-api/src/main/kotlin/io/github/solid/resourcepack/material/SolidMaterialTexture.kt index 5e2cc19..451d04a 100644 --- a/solid-material-api/src/main/kotlin/io/github/solid/resourcepack/material/SolidMaterialTexture.kt +++ b/solid-material-api/src/main/kotlin/io/github/solid/resourcepack/material/SolidMaterialTexture.kt @@ -6,103 +6,107 @@ data class SolidMaterialTexture( val key: Key ) { companion object { + fun exists(key: Key): Boolean { - if (key.namespace() != Key.MINECRAFT_NAMESPACE) return false + return get(key) != null + } + fun get(key: Key): SolidMaterialTexture? { + if (key.namespace() != Key.MINECRAFT_NAMESPACE) return null val split = key.value().split("/") val type = split.first().uppercase() val value = split.last().uppercase() return when (type) { "BLOCK" -> try { - SolidBlockMaterialTexture.valueOf(value); true + SolidBlockMaterialTexture.valueOf(value).toGeneric() } catch (ignored: Exception) { - false + null } "ITEM" -> try { - SolidItemMaterialTexture.valueOf(value); true + SolidItemMaterialTexture.valueOf(value).toGeneric() } catch (ignored: Exception) { - false + null } "MODELS" -> try { - SolidModelsMaterialTexture.valueOf(value); true + SolidModelsMaterialTexture.valueOf(value).toGeneric() } catch (ignored: Exception) { - false + null } "GUI" -> try { - SolidGuiMaterialTexture.valueOf(value); true + SolidGuiMaterialTexture.valueOf(value).toGeneric() } catch (ignored: Exception) { - false + null } "ENTITY" -> try { - SolidEntityMaterialTexture.valueOf(value); true + SolidEntityMaterialTexture.valueOf(value).toGeneric() } catch (ignored: Exception) { - false + null } "PARTICLE" -> try { - SolidParticleMaterialTexture.valueOf(value); true + SolidParticleMaterialTexture.valueOf(value).toGeneric() } catch (ignored: Exception) { - false + null } "ENVIRONMENT" -> try { - SolidEnvironmentMaterialTexture.valueOf(value); true + SolidEnvironmentMaterialTexture.valueOf(value).toGeneric() } catch (ignored: Exception) { - false + null } "MISC" -> try { - SolidMiscMaterialTexture.valueOf(value); true + SolidMiscMaterialTexture.valueOf(value).toGeneric() } catch (ignored: Exception) { - false + null } "PAINTING" -> try { - SolidPaintingMaterialTexture.valueOf(value); true + SolidPaintingMaterialTexture.valueOf(value).toGeneric() } catch (ignored: Exception) { - false + null } "FONT" -> try { - SolidFontMaterialTexture.valueOf(value); true + SolidFontMaterialTexture.valueOf(value).toGeneric() } catch (ignored: Exception) { - false + null } "MAP" -> try { - SolidMapMaterialTexture.valueOf(value); true + SolidMapMaterialTexture.valueOf(value).toGeneric() } catch (ignored: Exception) { - false + null } "COLORMAP" -> try { - SolidColormapMaterialTexture.valueOf(value); true + SolidColormapMaterialTexture.valueOf(value).toGeneric() } catch (ignored: Exception) { - false + null } "EFFECT" -> try { - SolidEffectMaterialTexture.valueOf(value); true + SolidEffectMaterialTexture.valueOf(value).toGeneric() } catch (ignored: Exception) { - false + null } "TRIMS" -> try { - SolidTrimsMaterialTexture.valueOf(value); true + SolidTrimsMaterialTexture.valueOf(value).toGeneric() } catch (ignored: Exception) { - false + null } "MOB_EFFECT" -> try { - SolidMobEffectMaterialTexture.valueOf(value); true + SolidMobEffectMaterialTexture.valueOf(value).toGeneric() } catch (ignored: Exception) { - false + null } - else -> false + else -> null } } }