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>» ", + + "CHATCOMMAND_ERROR_NAMESPACE": "Using namespaces is not allowed, as it may be used to circumvent security measures." }