From 93dc019f11596f7a9386a6e3f597667fa1b50eb8 Mon Sep 17 00:00:00 2001 From: Daniel She Date: Thu, 14 Feb 2019 14:38:18 +0100 Subject: REI Update v2.3 (#35) * Fixes #33 * Fixes #32 * Fix #29 * Highlight Cursor * Fix #15 * Remove Unwanted Imports * Making it actually v2.3 * LOLCATS & Upside Down Lanuage + Credits Screen * better credits * Better Config * Better Config Button Handling + Campfire text using container sub-colour * Better Plugin Handling * Split ItemRegisterer out from ClientHelper * Option to disable default plugin. --- .../me/shedaniel/rei/plugin/PluginManager.java | 43 ++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 src/main/java/me/shedaniel/rei/plugin/PluginManager.java (limited to 'src/main/java/me/shedaniel/rei/plugin/PluginManager.java') diff --git a/src/main/java/me/shedaniel/rei/plugin/PluginManager.java b/src/main/java/me/shedaniel/rei/plugin/PluginManager.java new file mode 100644 index 000000000..ccc6e7e67 --- /dev/null +++ b/src/main/java/me/shedaniel/rei/plugin/PluginManager.java @@ -0,0 +1,43 @@ +package me.shedaniel.rei.plugin; + +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import me.shedaniel.rei.api.IPluginDisabler; +import me.shedaniel.rei.api.PluginFunction; +import net.minecraft.util.Identifier; + +import java.util.List; +import java.util.Map; + +public class PluginManager implements IPluginDisabler { + + private static Map> pluginDisabledFunctions = Maps.newHashMap(); + + @Override + public void disablePluginFunction(Identifier plugin, PluginFunction function) { + List list = Lists.newArrayList(); + if (pluginDisabledFunctions.containsKey(plugin)) + list = pluginDisabledFunctions.get(plugin); + if (!list.contains(function)) + list.add(function); + pluginDisabledFunctions.put(plugin, list); + } + + @Override + public void enablePluginFunction(Identifier plugin, PluginFunction function) { + List list = Lists.newArrayList(); + if (pluginDisabledFunctions.containsKey(plugin)) + list = pluginDisabledFunctions.get(plugin); + if (list.contains(function)) + list.remove(function); + pluginDisabledFunctions.put(plugin, list); + if (list.size() == 0) + pluginDisabledFunctions.remove(plugin); + } + + @Override + public boolean isFunctionEnabled(Identifier plugin, PluginFunction function) { + return !pluginDisabledFunctions.containsKey(plugin) || !pluginDisabledFunctions.get(plugin).contains(function); + } + +} -- cgit