package tv.mineinthebox.essentials.managers; import java.util.Collections; import java.util.Set; import tv.mineinthebox.essentials.xEssentials; import tv.mineinthebox.essentials.minigames.MinigameLoader; import tv.mineinthebox.essentials.minigames.plugin.MinigamePlugin; public class MinigameManager extends MinigameLoader{ public MinigameManager(xEssentials pl) { super(pl); } /** * returns a unmodifiable Set with all minigame plugins! * * @author xize * @return Set<MinigamePlugin> */ public Set<MinigamePlugin> getPlugins() { return Collections.unmodifiableSet(super.plugins); } /** * returns a minigame by name * * @author xize * @return MinigamePlugin */ public MinigamePlugin getPlugin(String name) { for(MinigamePlugin game : getPlugins()) { if(game.getName().equalsIgnoreCase(name)) { return game; } } return null; } /** * returns true if the plugin is enabled otherwise false * * @author xize * @param name - the plugin name * @return boolean */ public boolean isEnabled(String name) { for(MinigamePlugin plugin : getPlugins()) { if(plugin.getName().equalsIgnoreCase(name)) { return plugin.isEnabled(); } } return false; } /** * sets the plugin on enabled state or disabled state * * @author xize * @param plugin - the plugin name * @param bol - the boolean */ public void setEnabled(String plugin, boolean bol) { MinigamePlugin game = getPlugin(plugin); if(game != null) { if(bol) { game.setEnabled(true); game.onEnable(); } else { game.setEnabled(false); game.onDisable(); } } else { throw new IllegalArgumentException("plugin " + plugin + " does not exist"); } } }