diff --git a/src/main/java/com/minelittlepony/unicopia/Race.java b/src/main/java/com/minelittlepony/unicopia/Race.java index f8cdf292..93131646 100644 --- a/src/main/java/com/minelittlepony/unicopia/Race.java +++ b/src/main/java/com/minelittlepony/unicopia/Race.java @@ -227,7 +227,11 @@ public record Race ( public static Race fromArgument(CommandContext context, String name) throws CommandSyntaxException { Identifier id = context.getArgument(name, RegistryKey.class).getValue(); - return REGISTRY.getOrEmpty(id).orElseThrow(() -> UNKNOWN_RACE_EXCEPTION.create(id)); + final Identifier idf = id; + if (id.getNamespace() == Identifier.DEFAULT_NAMESPACE && !REGISTRY.containsId(id)) { + id = Unicopia.id(id.getPath()); + } + return REGISTRY.getOrEmpty(id).orElseThrow(() -> UNKNOWN_RACE_EXCEPTION.create(idf)); } public static Set allPermitted(PlayerEntity player) { diff --git a/src/main/java/com/minelittlepony/unicopia/command/UCommandSuggestion.java b/src/main/java/com/minelittlepony/unicopia/command/UCommandSuggestion.java index 39d8f858..d6e46350 100644 --- a/src/main/java/com/minelittlepony/unicopia/command/UCommandSuggestion.java +++ b/src/main/java/com/minelittlepony/unicopia/command/UCommandSuggestion.java @@ -43,7 +43,7 @@ public class UCommandSuggestion { } public static void forEachMatching(Iterable candidates, String input, Function idFunc, Consumer consumer, String defaultNamespace) { - final boolean hasNamespaceDelimiter = input.indexOf(58) > -1; + final boolean hasNamespaceDelimiter = input.indexOf(':') > -1; for (T object : candidates) { final Identifier id = idFunc.apply(object); if (hasNamespaceDelimiter) {