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

@ -23,17 +23,30 @@ public class ImperfectRitualRegistry
* @param id
* - The ID for the imperfect ritual. Cannot be duplicated.
*/
public static void registerRitual(ImperfectRitual imperfectRitual, String id)
public static void registerRitual(ImperfectRitual imperfectRitual, String id, boolean enabled)
{
if (imperfectRitual != null)
{
if (registry.containsKey(id))
BloodMagicAPI.getLogger().error("Duplicate imperfect ritual id: %s", id);
else
{
registry.put(id, imperfectRitual);
enabledRituals.put(imperfectRitual, enabled);
}
}
}
public static void registerRitual(ImperfectRitual imperfectRitual, String id)
{
registerRitual(imperfectRitual, id, true);
}
public static void registerRitual(ImperfectRitual imperfectRitual, boolean enabled)
{
registerRitual(imperfectRitual, imperfectRitual.getName(), enabled);
}
public static void registerRitual(ImperfectRitual imperfectRitual)
{
registerRitual(imperfectRitual, imperfectRitual.getName());
@ -72,7 +85,7 @@ public class ImperfectRitualRegistry
{
try
{
return true;
return enabledRituals.get(imperfectRitual);
} catch (NullPointerException e)
{
BloodMagicAPI.getLogger().error("Invalid Imperfect Ritual was called");
@ -80,6 +93,10 @@ public class ImperfectRitualRegistry
}
}
public static boolean ritualEnabled(String id) {
return ritualEnabled(getRitualForId(id));
}
public static BiMap<String, ImperfectRitual> getRegistry()
{
return HashBiMap.create(registry);