package de.tobiyas.racesandclasses.addins.placeholderapisupport; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.HandlerList; import org.bukkit.event.Listener; import org.bukkit.event.server.PluginEnableEvent; import de.tobiyas.racesandclasses.RacesAndClasses; public class PlaceholderAPISupportManager implements Listener { private static final String MVdW_PLUGIN_NAME = "MVdWPlaceholderAPI"; private static final String CLIP_PLUGIN_NAME = "PlaceholderAPI"; /** * the plugin to use. */ private final RacesAndClasses plugin; public PlaceholderAPISupportManager(RacesAndClasses plugin) { this.plugin = plugin; } /** * reloads the Manager. */ public void reload(){ HandlerList.unregisterAll(this); plugin.registerEvents(this); if(Bukkit.getPluginManager().isPluginEnabled(MVdW_PLUGIN_NAME)) registerMVdWReplacer(); if(Bukkit.getPluginManager().isPluginEnabled(CLIP_PLUGIN_NAME)) registerClipReplacer(); } @EventHandler public void onPluginLoad(PluginEnableEvent event){ if(event.getPlugin().getName().equalsIgnoreCase(MVdW_PLUGIN_NAME)) registerMVdWReplacer(); if(event.getPlugin().getName().equalsIgnoreCase(CLIP_PLUGIN_NAME)) registerClipReplacer(); } /** * Registers the replacer. */ private void registerMVdWReplacer(){ MVdWRaCPlaceholderReplacer replacer = new MVdWRaCPlaceholderReplacer(plugin); replacer.register(); } /** * Registers the replacer. */ private void registerClipReplacer(){ ClipRaCPlaceholderReplacer replacer = new ClipRaCPlaceholderReplacer(plugin); replacer.register(); } /** * Replaces the Text with the placeholders. */ public String replace(Player player, String toReplace){ if(Bukkit.getPluginManager().isPluginEnabled(MVdW_PLUGIN_NAME)) toReplace = MVdWRaCPlaceholderReplacer.replace(player, toReplace); if(Bukkit.getPluginManager().isPluginEnabled(CLIP_PLUGIN_NAME)) toReplace = ClipRaCPlaceholderReplacer.replace(player, toReplace); return toReplace; } }