diff --git a/eco-api/src/main/java/com/willfp/eco/core/registry/Registry.java b/eco-api/src/main/java/com/willfp/eco/core/registry/Registry.java index 523228af..dceda57b 100644 --- a/eco-api/src/main/java/com/willfp/eco/core/registry/Registry.java +++ b/eco-api/src/main/java/com/willfp/eco/core/registry/Registry.java @@ -108,4 +108,18 @@ public class Registry { public Set values() { return Set.copyOf(registry.values()); } + + /** + * Try to fit a string to the ID pattern. + * + * @param string The string. + * @return The string in lowercase, but with all spaces, dots, and dashes replaced with underscores. + */ + @NotNull + public static String tryFitPattern(@NotNull final String string) { + return string.replace(" ", "_") + .replace(".", "_") + .replace("-", "_") + .toLowerCase(); + } } diff --git a/eco-api/src/main/kotlin/com/willfp/eco/core/registry/Registry.kt b/eco-api/src/main/kotlin/com/willfp/eco/core/registry/Registry.kt new file mode 100644 index 00000000..51bb2eb4 --- /dev/null +++ b/eco-api/src/main/kotlin/com/willfp/eco/core/registry/Registry.kt @@ -0,0 +1,7 @@ +@file:JvmName("RegistryExtensions") + +package com.willfp.eco.core.registry + +/** @see Registry.tryFitPattern */ +fun String.tryFitRegistryPattern(): String = + Registry.tryFitPattern(this)