diff options
| author | Unknown <shekwancheung0528@gmail.com> | 2019-02-26 16:58:22 +0800 |
|---|---|---|
| committer | Unknown <shekwancheung0528@gmail.com> | 2019-02-26 16:58:22 +0800 |
| commit | 398bda6e8051368d48c0737719ce277028dce396 (patch) | |
| tree | efbf612ecd5f231b6ce8fd126273a5f49f29c8ca /src/main/java/me/shedaniel/rei/client/PluginDisablerImpl.java | |
| parent | 9e55b44b710f38c63a4bfd17d0b07318d5c68535 (diff) | |
| download | RoughlyEnoughItems-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.java | 43 |
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); + } + +} |
