From 1b446698398c648b38311975a6cfd54859ea5cfe Mon Sep 17 00:00:00 2001 From: Cow Date: Sun, 5 Jul 2020 05:42:45 +0200 Subject: Renamed mod to Cowlection Bumped version to 1.8.9-0.7.0 --- .../command/exception/ApiContactException.java | 7 ++++++ .../exception/InvalidPlayerNameException.java | 10 +++++++++ .../command/exception/MooCommandException.java | 9 ++++++++ .../command/exception/ThrowingConsumer.java | 25 ++++++++++++++++++++++ 4 files changed, 51 insertions(+) create mode 100644 src/main/java/eu/olli/cowlection/command/exception/ApiContactException.java create mode 100644 src/main/java/eu/olli/cowlection/command/exception/InvalidPlayerNameException.java create mode 100644 src/main/java/eu/olli/cowlection/command/exception/MooCommandException.java create mode 100644 src/main/java/eu/olli/cowlection/command/exception/ThrowingConsumer.java (limited to 'src/main/java/eu/olli/cowlection/command/exception') diff --git a/src/main/java/eu/olli/cowlection/command/exception/ApiContactException.java b/src/main/java/eu/olli/cowlection/command/exception/ApiContactException.java new file mode 100644 index 0000000..804fa1d --- /dev/null +++ b/src/main/java/eu/olli/cowlection/command/exception/ApiContactException.java @@ -0,0 +1,7 @@ +package eu.olli.cowlection.command.exception; + +public class ApiContactException extends MooCommandException { + public ApiContactException(String api, String failedAction) { + super("Sorry, couldn't contact the " + api + " API and thus " + failedAction); + } +} diff --git a/src/main/java/eu/olli/cowlection/command/exception/InvalidPlayerNameException.java b/src/main/java/eu/olli/cowlection/command/exception/InvalidPlayerNameException.java new file mode 100644 index 0000000..3c0c06e --- /dev/null +++ b/src/main/java/eu/olli/cowlection/command/exception/InvalidPlayerNameException.java @@ -0,0 +1,10 @@ +package eu.olli.cowlection.command.exception; + +import net.minecraft.command.SyntaxErrorException; +import net.minecraft.util.EnumChatFormatting; + +public class InvalidPlayerNameException extends SyntaxErrorException { + public InvalidPlayerNameException(String playerName) { + super(EnumChatFormatting.DARK_RED + playerName + EnumChatFormatting.RED + "? This... doesn't look like a valid username."); + } +} diff --git a/src/main/java/eu/olli/cowlection/command/exception/MooCommandException.java b/src/main/java/eu/olli/cowlection/command/exception/MooCommandException.java new file mode 100644 index 0000000..0cc55e0 --- /dev/null +++ b/src/main/java/eu/olli/cowlection/command/exception/MooCommandException.java @@ -0,0 +1,9 @@ +package eu.olli.cowlection.command.exception; + +import net.minecraft.command.CommandException; + +public class MooCommandException extends CommandException { + public MooCommandException(String msg) { + super("cowlection.commands.generic.exception", msg); + } +} diff --git a/src/main/java/eu/olli/cowlection/command/exception/ThrowingConsumer.java b/src/main/java/eu/olli/cowlection/command/exception/ThrowingConsumer.java new file mode 100644 index 0000000..a1ed241 --- /dev/null +++ b/src/main/java/eu/olli/cowlection/command/exception/ThrowingConsumer.java @@ -0,0 +1,25 @@ +package eu.olli.cowlection.command.exception; + +import eu.olli.cowlection.Cowlection; +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); + Cowlection.getInstance().getChatHelper().sendMessage(errorMsg); + } + } + + void acceptThrows(T t) throws CommandException; +} -- cgit