From 41991b034633c413bc42f22d5c3970e14fe5ec04 Mon Sep 17 00:00:00 2001 From: altrisi Date: Mon, 27 Jun 2022 14:09:03 +0200 Subject: [PATCH] Improve error message when commands fail to be added and make commands using the new system check for masking (#1404) * Improve error message when command already exists * Add app's name to the message * Add app name to any command load failure and fix commands from new system masking existing ones * Fix duplicated app name in an error * Update to recent snapshot changes --- src/main/java/carpet/script/CarpetScriptHost.java | 9 +++++++-- src/main/java/carpet/script/CarpetScriptServer.java | 4 ++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/main/java/carpet/script/CarpetScriptHost.java b/src/main/java/carpet/script/CarpetScriptHost.java index bc878309..b549d86d 100644 --- a/src/main/java/carpet/script/CarpetScriptHost.java +++ b/src/main/java/carpet/script/CarpetScriptHost.java @@ -389,6 +389,11 @@ public class CarpetScriptHost extends ScriptHost } if (appConfig.get(StringValue.of("commands")) != null) { + if (scriptServer().isInvalidCommandRoot(getName())) + { + notifier.accept(Messenger.c("g A command with the app's name already exists in vanilla or an installed mod.")); + return null; + } try { LiteralArgumentBuilder command = readCommands(commandValidator); @@ -404,7 +409,7 @@ public class CarpetScriptHost extends ScriptHost catch (CommandSyntaxException cse) { // failed - notifier.accept(Messenger.c("r Failed to build command system for "+getName()+" thus failed to load the app: ", cse.getRawMessage())); + notifier.accept(Messenger.c("r Failed to build command system: ", cse.getRawMessage())); return null; } @@ -451,7 +456,7 @@ public class CarpetScriptHost extends ScriptHost if (scriptServer().isInvalidCommandRoot(getName())) { - notifier.accept(Messenger.c("gi Tried to mask vanilla command.")); + notifier.accept(Messenger.c("g A command with the app's name already exists in vanilla or an installed mod.")); return null; } diff --git a/src/main/java/carpet/script/CarpetScriptServer.java b/src/main/java/carpet/script/CarpetScriptServer.java index ef18ec8f..aeee7876 100644 --- a/src/main/java/carpet/script/CarpetScriptServer.java +++ b/src/main/java/carpet/script/CarpetScriptServer.java @@ -295,9 +295,9 @@ public class CarpetScriptServer extends ScriptServer //addEvents(source, name); String action = (installer!=null)?(reload?"reinstalled":"installed"):(reload?"reloaded":"loaded"); - + String finalName = name; Boolean isCommandAdded = newHost.addAppCommands(s -> { - if (!isRuleApp) Messenger.m(source, s); + if (!isRuleApp) Messenger.m(source, Messenger.c("r Failed to add app '" + finalName + "': ", s)); }); if (isCommandAdded == null) // error should be dispatched {