From 463514fbbec04ce195051219d08405e03e4bc4d0 Mon Sep 17 00:00:00 2001 From: Christian Date: Sat, 27 Oct 2012 15:13:28 -0400 Subject: [PATCH] Add in an exclusion list tag for @Mod. The backend code isn't yet implemented, but shows the basic idea. --- fml/common/cpw/mods/fml/common/Mod.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/fml/common/cpw/mods/fml/common/Mod.java b/fml/common/cpw/mods/fml/common/Mod.java index e69d0a423..def1228c4 100644 --- a/fml/common/cpw/mods/fml/common/Mod.java +++ b/fml/common/cpw/mods/fml/common/Mod.java @@ -69,6 +69,21 @@ public @interface Mod * @return The name of the plugin to load for this mod */ String bukkitPlugin() default ""; + /** + * Mods that this mod will not load with. + * An optional comma separated string of modid[@value], or the value - which specify mods that + * this mod will refuse to load with, resulting in the game failing to start. The special value - is + * interpreted as meaning all mods, except FML and MCP. The special value -f is + * interpreted as meaning all mods except FML, MCP and MinecraftForge. + * + * If a mod is present on the excluded list, the game will stop and show an error screen. If the + * class containing the {@link Mod} annotation has a "getCustomErrorException" method, it will be + * called to retrieve a custom error message for display in this case. If two mods have a declared + * exclusion which screen is shown is indeterminate. + * + * @return A string listing modids to exclude from loading with this mod. + */ + String modExclusionList() default ""; /** * Mark the designated method as being called at the "pre-initialization" phase * @author cpw