diff --git a/src/main/java/org/auioc/mcmod/arnicalib/api/game/registry/RegistryEntryException.java b/src/main/java/org/auioc/mcmod/arnicalib/api/game/registry/RegistryEntryException.java new file mode 100644 index 00000000..ad8310f3 --- /dev/null +++ b/src/main/java/org/auioc/mcmod/arnicalib/api/game/registry/RegistryEntryException.java @@ -0,0 +1,34 @@ +package org.auioc.mcmod.arnicalib.api.game.registry; + +import org.auioc.mcmod.arnicalib.api.java.function.ThrowableSupplier; + +public class RegistryEntryException extends RuntimeException { + + public static final ThrowableSupplier UNKNOWN_ITEM = (id) -> () -> new Unknown("item", id); + public static final ThrowableSupplier UNKNOWN_BLOCK = (id) -> () -> new Unknown("block", id); + public static final ThrowableSupplier UNKNOWN_ENTITY_TYPE = (id) -> () -> new Unknown("entity type", id); + public static final ThrowableSupplier UNKNOWN_MOB_EFFECT = (id) -> () -> new Unknown("mob effect", id); + public static final ThrowableSupplier UNKNOWN_POTION = (id) -> () -> new Unknown("potion", id); + public static final ThrowableSupplier UNKNOWN_SOUND_EVENT = (id) -> () -> new Unknown("sound event", id); + + public RegistryEntryException(String message) { + super(message); + } + + public RegistryEntryException(String message, Throwable cause) { + super(message, cause); + } + + public RegistryEntryException(Throwable cause) { + super(cause); + } + + public static class Unknown extends RegistryEntryException { + + public Unknown(String type, String id) { + super("Unknown " + type + " '" + id + "'"); + } + + } + +}