Allow rituals to be disabled via config (#545)

Not automated like the old method, but works. Requires an MC restart. Might look at making it reload-able while ingame at a later date.
This commit is contained in:
Nick 2016-02-01 17:05:39 -08:00
parent 6b6c78477c
commit 7e8b469349
7 changed files with 123 additions and 109 deletions

View file

@ -28,7 +28,7 @@ public class RitualRegistry
* @param id
* - The ID for the ritual. Cannot be duplicated.
*/
public static void registerRitual(Ritual ritual, String id)
public static void registerRitual(Ritual ritual, String id, boolean enabled)
{
if (ritual != null)
{
@ -37,11 +37,27 @@ public class RitualRegistry
else
{
registry.put(id, ritual);
enabledRituals.put(ritual, enabled);
orderedIdList.add(id);
}
}
}
public static void registerRitual(Ritual ritual, boolean enabled)
{
registerRitual(ritual, ritual.getName(), enabled);
}
public static void registerRitual(Ritual ritual, String id)
{
registerRitual(ritual, id, true);
}
public static void registerRitual(Ritual ritual)
{
registerRitual(ritual, ritual.getName());
}
public static Ritual getRitualForId(String id)
{
Ritual ritual = registry.get(id);
@ -67,7 +83,7 @@ public class RitualRegistry
{
try
{
return true;
return enabledRituals.get(ritual);
} catch (NullPointerException e)
{
BloodMagicAPI.getLogger().error("Invalid Ritual was called");
@ -75,6 +91,10 @@ public class RitualRegistry
}
}
public static boolean ritualEnabled(String id) {
return ritualEnabled(getRitualForId(id));
}
public static BiMap<String, Ritual> getRegistry()
{
return HashBiMap.create(registry);