aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/client/PluginDisablerImpl.java
diff options
context:
space:
mode:
authorUnknown <shekwancheung0528@gmail.com>2019-02-26 16:58:22 +0800
committerUnknown <shekwancheung0528@gmail.com>2019-02-26 16:58:22 +0800
commit398bda6e8051368d48c0737719ce277028dce396 (patch)
treeefbf612ecd5f231b6ce8fd126273a5f49f29c8ca /src/main/java/me/shedaniel/rei/client/PluginDisablerImpl.java
parent9e55b44b710f38c63a4bfd17d0b07318d5c68535 (diff)
downloadRoughlyEnoughItems-398bda6e8051368d48c0737719ce277028dce396.tar.gz
RoughlyEnoughItems-398bda6e8051368d48c0737719ce277028dce396.tar.bz2
RoughlyEnoughItems-398bda6e8051368d48c0737719ce277028dce396.zip
Make dialog remember its location
Diffstat (limited to 'src/main/java/me/shedaniel/rei/client/PluginDisablerImpl.java')
-rw-r--r--src/main/java/me/shedaniel/rei/client/PluginDisablerImpl.java43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/main/java/me/shedaniel/rei/client/PluginDisablerImpl.java b/src/main/java/me/shedaniel/rei/client/PluginDisablerImpl.java
new file mode 100644
index 000000000..3e9b1224c
--- /dev/null
+++ b/src/main/java/me/shedaniel/rei/client/PluginDisablerImpl.java
@@ -0,0 +1,43 @@
+package me.shedaniel.rei.client;
+
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import me.shedaniel.rei.api.PluginDisabler;
+import me.shedaniel.rei.api.PluginFunction;
+import net.minecraft.util.Identifier;
+
+import java.util.List;
+import java.util.Map;
+
+public class PluginDisablerImpl implements PluginDisabler {
+
+ private static Map<Identifier, List<PluginFunction>> pluginDisabledFunctions = Maps.newHashMap();
+
+ @Override
+ public void disablePluginFunction(Identifier plugin, PluginFunction function) {
+ List<PluginFunction> 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<PluginFunction> 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);
+ }
+
+}