From 8e76ac5db7260be0747db3e835f9f731ff992768 Mon Sep 17 00:00:00 2001
From: Sollace <sollacea@gmail.com>
Date: Wed, 24 May 2023 19:19:32 +0100
Subject: [PATCH] You cannot use the unset race with /racelist

---
 .../unicopia/command/RacelistCommand.java             | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/src/main/java/com/minelittlepony/unicopia/command/RacelistCommand.java b/src/main/java/com/minelittlepony/unicopia/command/RacelistCommand.java
index dfeeb37d..fc173e62 100644
--- a/src/main/java/com/minelittlepony/unicopia/command/RacelistCommand.java
+++ b/src/main/java/com/minelittlepony/unicopia/command/RacelistCommand.java
@@ -23,6 +23,11 @@ class RacelistCommand {
         builder.then(CommandManager.literal("allow")
                 .then(CommandManager.argument("race", raceArgument)
                 .executes(context -> toggle(context.getSource(), context.getSource().getPlayer(), Race.fromArgument(context, "race"), "allowed", race -> {
+
+                    if (race.isUnset()) {
+                        return false;
+                    }
+
                     boolean result = Unicopia.getConfig().speciesWhiteList.get().add(race.getId().toString());
 
                     Unicopia.getConfig().save();
@@ -48,7 +53,11 @@ class RacelistCommand {
         String translationKey = "commands.racelist." + action;
 
         if (!func.apply(race)) {
-            translationKey += ".failed";
+            if (race.isUnset()) {
+                translationKey = "commands.racelist.illegal";
+            } else {
+                translationKey += ".failed";
+            }
         }
 
         Text formattedName = race.getDisplayName().copy().formatted(Formatting.GOLD);