diff --git a/extension/src/main/java/de/jeremystartm/pickshadow/api/translation/LanguageString.java b/extension/src/main/java/de/jeremystartm/pickshadow/api/translation/LanguageString.java
index 5edb4d3..b679d7e 100644
--- a/extension/src/main/java/de/jeremystartm/pickshadow/api/translation/LanguageString.java
+++ b/extension/src/main/java/de/jeremystartm/pickshadow/api/translation/LanguageString.java
@@ -82,4 +82,7 @@ public enum LanguageString {
// Event for chat messages
CHATMESSAGE_SERVER,
+
+ // Event for chat commands
+ CHATCOMMAND_ERROR_NAMESPACE
}
diff --git a/extension/src/main/java/de/jeremystartm/pickshadow/listener/ChatListener.java b/extension/src/main/java/de/jeremystartm/pickshadow/listener/ChatListener.java
index d4b4da9..40d85ab 100644
--- a/extension/src/main/java/de/jeremystartm/pickshadow/listener/ChatListener.java
+++ b/extension/src/main/java/de/jeremystartm/pickshadow/listener/ChatListener.java
@@ -51,4 +51,17 @@ public final class ChatListener implements Listener {
).append(MiniMessage.miniMessage().deserialize(MiniMessage.miniMessage().serialize(event.originalMessage()).replace("\\<", "<")))
);
}
+
+ /**
+ * Handles chat commands.
+ *
+ * @since v1-release0
+ */
+ @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
+ public void handleChatCommand(@NotNull PlayerCommandPreprocessEvent event) {
+ if (event.getMessage().split(" ")[0].contains(":")) {
+ event.setCancelled(true);
+ event.getPlayer().sendRichMessage(TranslationManager.get(LanguageString.CHATCOMMAND_ERROR_NAMESPACE, event.getPlayer(), true));
+ }
+ }
}
diff --git a/extension/src/main/resources/translations/de.json b/extension/src/main/resources/translations/de.json
index 62c9a93..9011844 100644
--- a/extension/src/main/resources/translations/de.json
+++ b/extension/src/main/resources/translations/de.json
@@ -30,4 +30,6 @@
"HOME_NORESPAWN": "Du hast keinen gültigen Respawnpunkt.\nStelle sicher, dass dein Bett oder Respawn Anker nicht abgebaut oder behindert ist.",
"TOGGLEDOWNFALL": "Niederschlag umgestellt",
+
+ "CHATCOMMAND_ERROR_NAMESPACE": "Namespaces zu verwenden ist nicht erlaubt, da es verwendet werden kann um Sicherheitsmaßnahmen zu umgehen."
}
diff --git a/extension/src/main/resources/translations/en.json b/extension/src/main/resources/translations/en.json
index d985b89..429b0a7 100644
--- a/extension/src/main/resources/translations/en.json
+++ b/extension/src/main/resources/translations/en.json
@@ -45,4 +45,6 @@
"TOGGLEDOWNFALL": "Toggled downfall",
"CHATMESSAGE_SERVER": "%sender% <#d60532>»#d60532> ",
+
+ "CHATCOMMAND_ERROR_NAMESPACE": "Using namespaces is not allowed, as it may be used to circumvent security measures."
}