From b9d6b75423ea24c4947b3a655f199c3b34aa167a Mon Sep 17 00:00:00 2001 From: Cow Date: Fri, 29 May 2020 12:30:31 +0200 Subject: Added /moo stalkskyblock - Now using CommandExceptions instead of just red chat color for command error messages - Simplified creation of chat message --- .../command/exception/ThrowingConsumer.java | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/main/java/eu/olli/cowmoonication/command/exception/ThrowingConsumer.java (limited to 'src/main/java/eu/olli/cowmoonication/command/exception/ThrowingConsumer.java') diff --git a/src/main/java/eu/olli/cowmoonication/command/exception/ThrowingConsumer.java b/src/main/java/eu/olli/cowmoonication/command/exception/ThrowingConsumer.java new file mode 100644 index 0000000..589ada6 --- /dev/null +++ b/src/main/java/eu/olli/cowmoonication/command/exception/ThrowingConsumer.java @@ -0,0 +1,25 @@ +package eu.olli.cowmoonication.command.exception; + +import eu.olli.cowmoonication.Cowmoonication; +import net.minecraft.command.CommandException; +import net.minecraft.util.ChatComponentTranslation; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IChatComponent; + +import java.util.function.Consumer; + +@FunctionalInterface +public interface ThrowingConsumer extends Consumer { + @Override + default void accept(T t) { + try { + acceptThrows(t); + } catch (CommandException e) { + IChatComponent errorMsg = new ChatComponentTranslation(e.getMessage(), e.getErrorObjects()); + errorMsg.getChatStyle().setColor(EnumChatFormatting.RED); + Cowmoonication.getInstance().getChatHelper().sendMessage(errorMsg); + } + } + + void acceptThrows(T t) throws CommandException; +} -- cgit