Advertisement
Guest User

Untitled

a guest
Feb 25th, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 12.81 KB | None | 0 0
  1. package net.cursemc;
  2.  
  3. import java.io.File;
  4. import java.util.ArrayList;
  5. import java.util.HashMap;
  6. import java.util.List;
  7. import java.util.Map;
  8. import java.util.Random;
  9. import java.util.logging.Logger;
  10. import net.cursemc.antigapple.listeners.GappleListeners;
  11. import net.cursemc.antiinvisibility.AntiInvisibilityMain;
  12. import net.cursemc.antinether.AntiNetherMain;
  13. import net.cursemc.armorswitch.ArmorSwitchMain;
  14. import net.cursemc.autolapis.AutoLapisMain;
  15. import net.cursemc.banknotes.BankNoteMain;
  16. import net.cursemc.commands.CoreCmd;
  17. import net.cursemc.commands.NightVisionCmd;
  18. import net.cursemc.commands.RandomCustomItemCmd;
  19. import net.cursemc.commands.RandomEnchantGeneratorCmd;
  20. import net.cursemc.commands.RandomGeneratorCmd;
  21. import net.cursemc.cursebooks.CurseBooksMain;
  22. import net.cursemc.cursebosses.CurseBossesMain;
  23. import net.cursemc.cursebosses.utils.BossUtils;
  24. import net.cursemc.cursecombattag.CurseCombatMain;
  25. import net.cursemc.cursecommandblocker.CurseCommandBlockerMain;
  26. import net.cursemc.cursedoubleexp.CurseDoubleExpMain;
  27. import net.cursemc.cursekits.CurseKitsMain;
  28. import net.cursemc.curselinkitem.LinkItemMain;
  29. import net.cursemc.cursetrade.TradeMain;
  30. import net.cursemc.custombalance.CustomBalanceMain;
  31. import net.cursemc.custombroadcast.CustomBroadcastMain;
  32. import net.cursemc.dailyrewards.DailyRewardsMain;
  33. import net.cursemc.dupefixer.DupeFixerMain;
  34. import net.cursemc.gappletimer.GappleTimer;
  35. import net.cursemc.giveall.GiveAllMain;
  36. import net.cursemc.listeners.AntiSwearListener;
  37. import net.cursemc.mysteryspawners.MysterySpawnersMain;
  38. import net.cursemc.nodupe.NoDupeMain;
  39. import net.cursemc.nohopper.NoHopperMain;
  40. import net.cursemc.pearlfix.PearlFixMain;
  41. import net.cursemc.simplerestart.SimpleRestartMain;
  42. import net.cursemc.staffmonitor.StaffMonitorMain;
  43. import net.cursemc.sunny.SunnyMain;
  44. import net.cursemc.tpfix.TpFixMain;
  45. import net.cursemc.wildwarp.WildWarpMain;
  46. import net.cursemc.withdrawmcmmo.WithdrawMcMMOMain;
  47. import net.cursemc.wither.WitherMain;
  48. import net.cursemc.xpbottle.XpBottleMain;
  49. import net.milkbowl.vault.economy.Economy;
  50. import org.bukkit.Server;
  51. import org.bukkit.command.CommandExecutor;
  52. import org.bukkit.command.PluginCommand;
  53. import org.bukkit.configuration.file.FileConfiguration;
  54. import org.bukkit.entity.Player;
  55. import org.bukkit.event.Listener;
  56. import org.bukkit.plugin.PluginDescriptionFile;
  57. import org.bukkit.plugin.PluginManager;
  58. import org.bukkit.plugin.RegisteredServiceProvider;
  59. import org.bukkit.plugin.ServicesManager;
  60. import org.bukkit.plugin.java.JavaPlugin;
  61. import org.kcpdev.framework.AbstractSubPlugin;
  62.  
  63. public class Main extends JavaPlugin
  64. {
  65.   private CurseBossesMain cbMain;
  66.   private CurseBooksMain cbooksMain;
  67.   private CurseCombatMain ccMain;
  68.   private CurseCommandBlockerMain ccbMain;
  69.   private CurseDoubleExpMain cdeMain;
  70.   private CurseKitsMain ckMain;
  71.   private LinkItemMain liMain;
  72.   private TradeMain tMain;
  73.   private CustomBalanceMain cbalMain;
  74.   private CustomBroadcastMain cbcMain;
  75.   private WildWarpMain wwMain;
  76.   private WithdrawMcMMOMain wmcmMain;
  77.   private XpBottleMain xbMain;
  78.   private TpFixMain tfMain;
  79.   private AntiInvisibilityMain aiMain;
  80.   private PearlFixMain pfMain;
  81.   private NoHopperMain nhMain;
  82.   private NoDupeMain ndMain;
  83.   private GiveAllMain gaMain;
  84.   private ArmorSwitchMain asMain;
  85.   private AutoLapisMain alMain;
  86.   private BankNoteMain bnMain;
  87.   private DailyRewardsMain drMain;
  88.   private MysterySpawnersMain msMain;
  89.   private SimpleRestartMain srMain;
  90.   private SunnyMain sMain;
  91.   private StaffMonitorMain smMain;
  92.   private WitherMain wMain;
  93.   private DupeFixerMain dfMain;
  94.   private AntiNetherMain anMain;
  95.   public static Economy econ;
  96.   public static final Logger log = Logger.getLogger("Minecraft");
  97.   private String pluginName;
  98.   public PluginManager pm;
  99.   private static Main instance;
  100.   private BossUtils bu;
  101.   private Map<String, CommandExecutor> commands = new HashMap();
  102.   private List<Listener> listeners = new ArrayList();
  103.   private Map<AbstractSubPlugin, String> mapOfPlugins = new HashMap();
  104.   private int enabled = 0;
  105.   private int disabled = 0;
  106.  
  107.   public void onEnable() {
  108.     instance = this;
  109.     this.pm = getServer().getPluginManager();
  110.     this.pluginName = getDescription().getName();
  111.  
  112.     if (!setupEconomy()) {
  113.       log.severe(String.format("[%s] - Disabled due to no Vault dependency found!", new Object[] { this.pluginName }));
  114.       log.severe(String.format("[%s] - This could be because of no permissions plugin or no essentials plugin.", new Object[] { this.pluginName }));
  115.  
  116.       setEnabled(false);
  117.       return;
  118.     }
  119.  
  120.     loadPlugins();
  121.     addListener(new AntiSwearListener());
  122.     addListener(new GappleListeners());
  123.     addCommand(new CoreCmd(), "core");
  124.     addCommand(new RandomCustomItemCmd(), "randomcustomitem");
  125.     addCommand(new RandomGeneratorCmd(), "randomgenerator");
  126.     addCommand(new RandomEnchantGeneratorCmd(), "randomenchantgenerator");
  127.     addCommand(new NightVisionCmd(), "nightvision");
  128.  
  129.     if (!getDataFolder().exists()) getDataFolder().mkdirs();
  130.     Config.loadConfig();
  131.     Messages.setFile(getConfig());
  132.  
  133.     for (AbstractSubPlugin pl : this.mapOfPlugins.keySet()) {
  134.       String s = (String)this.mapOfPlugins.get(pl);
  135.  
  136.       if (getConfig().getBoolean("PluginsEnabled." + s)) {
  137.         pl.onEnable();
  138.  
  139.         this.enabled += 1;
  140.       } else {
  141.         this.disabled += 1;
  142.       }
  143.     }
  144.  
  145.     loadListeners();
  146.     loadCommands();
  147.   }
  148.  
  149.   public void onDisable() {
  150.     for (AbstractSubPlugin pl : this.mapOfPlugins.keySet()) {
  151.       String s = (String)this.mapOfPlugins.get(pl);
  152.  
  153.       if (getConfig().getBoolean("PluginsEnabled." + s))
  154.         pl.onDisable();
  155.     }
  156.   }
  157.  
  158.   private void loadCommands()
  159.   {
  160.     for (String s : this.commands.keySet()) {
  161.       getCommand(s).setExecutor((CommandExecutor)this.commands.get(s));
  162.  
  163.       log.info(String.format("[%s] - Initializing command: " + s, new Object[] { this.pluginName }));
  164.     }
  165.   }
  166.  
  167.   private void loadListeners()
  168.   {
  169.     log.info(String.format("[%s] - Initializing listeners.", new Object[] { this.pluginName }));
  170.  
  171.     for (Listener l : this.listeners)
  172.       this.pm.registerEvents(l, this);
  173.   }
  174.  
  175.   public static Main getInstance()
  176.   {
  177.     return instance;
  178.   }
  179.  
  180.   public void addCommand(CommandExecutor executor, String command) {
  181.     this.commands.put(command, executor);
  182.   }
  183.  
  184.   public void addListener(Listener listener) {
  185.     this.listeners.add(listener);
  186.   }
  187.  
  188.   private void loadPlugins() {
  189.     this.cbMain = new CurseBossesMain(this);
  190.     this.cbooksMain = new CurseBooksMain(this);
  191.     this.ccMain = new CurseCombatMain(this);
  192.     this.ccbMain = new CurseCommandBlockerMain(this);
  193.     this.cdeMain = new CurseDoubleExpMain(this);
  194.     this.ckMain = new CurseKitsMain(this);
  195.     this.liMain = new LinkItemMain(this);
  196.     this.tMain = new TradeMain(this);
  197.     this.cbalMain = new CustomBalanceMain(this);
  198.     this.cbcMain = new CustomBroadcastMain(this);
  199.     this.bu = new BossUtils(this, this.cbMain);
  200.     this.wwMain = new WildWarpMain(this);
  201.     this.wmcmMain = new WithdrawMcMMOMain(this);
  202.     this.xbMain = new XpBottleMain(this);
  203.     this.tfMain = new TpFixMain(this);
  204.     this.aiMain = new AntiInvisibilityMain(this);
  205.     this.pfMain = new PearlFixMain(this);
  206.     this.nhMain = new NoHopperMain(this);
  207.     this.ndMain = new NoDupeMain(this);
  208.     this.gaMain = new GiveAllMain(this);
  209.     this.asMain = new ArmorSwitchMain(this);
  210.     this.alMain = new AutoLapisMain(this);
  211.     this.bnMain = new BankNoteMain(this);
  212.     this.drMain = new DailyRewardsMain(this);
  213.     this.msMain = new MysterySpawnersMain(this);
  214.     this.srMain = new SimpleRestartMain(this);
  215.     this.sMain = new SunnyMain(this);
  216.     this.smMain = new StaffMonitorMain(this);
  217.     this.wMain = new WitherMain(this);
  218.     this.dfMain = new DupeFixerMain(this);
  219.     this.anMain = new AntiNetherMain(this);
  220.  
  221.     this.mapOfPlugins.put(this.cbMain, "CurseBosses");
  222.     this.mapOfPlugins.put(this.cbooksMain, "CurseBooks");
  223.     this.mapOfPlugins.put(this.ccMain, "CurseCombat");
  224.     this.mapOfPlugins.put(this.ccbMain, "CurseCommandBlocker");
  225.     this.mapOfPlugins.put(this.cdeMain, "CurseDoubleExp");
  226.     this.mapOfPlugins.put(this.ckMain, "CurseKits");
  227.     this.mapOfPlugins.put(this.liMain, "LinkItem");
  228.     this.mapOfPlugins.put(this.tMain, "Trade");
  229.     this.mapOfPlugins.put(this.cbalMain, "CustomBalance");
  230.     this.mapOfPlugins.put(this.cbcMain, "CustomBroadcast");
  231.     this.mapOfPlugins.put(this.wwMain, "WildWarp");
  232.     this.mapOfPlugins.put(this.wmcmMain, "WithdrawMcMMO");
  233.     this.mapOfPlugins.put(this.xbMain, "XpBottle");
  234.     this.mapOfPlugins.put(this.tfMain, "TPFix");
  235.     this.mapOfPlugins.put(this.aiMain, "AntiInvisibility");
  236.     this.mapOfPlugins.put(this.pfMain, "PearlFix");
  237.     this.mapOfPlugins.put(this.nhMain, "NoHopper");
  238.     this.mapOfPlugins.put(this.ndMain, "NoDupe");
  239.     this.mapOfPlugins.put(this.gaMain, "GiveAll");
  240.     this.mapOfPlugins.put(this.asMain, "ArmorSwitch");
  241.     this.mapOfPlugins.put(this.alMain, "AutoLapis");
  242.     this.mapOfPlugins.put(this.bnMain, "BankNote");
  243.     this.mapOfPlugins.put(this.drMain, "DailyRewards");
  244.     this.mapOfPlugins.put(this.msMain, "MysterySpawners");
  245.     this.mapOfPlugins.put(this.srMain, "SimpleRestart");
  246.     this.mapOfPlugins.put(this.sMain, "Sunny");
  247.     this.mapOfPlugins.put(this.smMain, "StaffMonitor");
  248.     this.mapOfPlugins.put(this.wMain, "Wither");
  249.     this.mapOfPlugins.put(this.dfMain, "DupeFixer");
  250.     this.mapOfPlugins.put(this.anMain, "AntiNether");
  251.     this.mapOfPlugins.put(new GappleTimer(this), "GappleTimer");
  252.   }
  253.  
  254.   private boolean setupEconomy() {
  255.     if (getServer().getPluginManager().getPlugin("Vault") == null) {
  256.       return false;
  257.     }
  258.     RegisteredServiceProvider rsp = getServer().getServicesManager().getRegistration(Economy.class);
  259.     if (rsp == null) {
  260.       return false;
  261.     }
  262.     econ = (Economy)rsp.getProvider();
  263.     return econ != null;
  264.   }
  265.  
  266.   public int getEnabledPlugins() {
  267.     return this.enabled;
  268.   }
  269.  
  270.   public int getDisabledPlugins() {
  271.     return this.disabled;
  272.   }
  273.  
  274.   public CurseBossesMain getCurseBossesMain() {
  275.     return this.cbMain;
  276.   }
  277.  
  278.   public CurseBooksMain getCurseBooksMain() {
  279.     return this.cbooksMain;
  280.   }
  281.  
  282.   public CurseCombatMain getCurseCombatMain() {
  283.     return this.ccMain;
  284.   }
  285.  
  286.   public CurseCommandBlockerMain getCurseCombatBlockerMain() {
  287.     return this.ccbMain;
  288.   }
  289.  
  290.   public CurseDoubleExpMain getCurseDoubleExpMain() {
  291.     return this.cdeMain;
  292.   }
  293.  
  294.   public CurseKitsMain getCurseKitsMain() {
  295.     return this.ckMain;
  296.   }
  297.  
  298.   public LinkItemMain getLinkItemMain() {
  299.     return this.liMain;
  300.   }
  301.  
  302.   public TradeMain getTradeMain() {
  303.     return this.tMain;
  304.   }
  305.  
  306.   public CustomBalanceMain getCustomBalanceMain() {
  307.     return this.cbalMain;
  308.   }
  309.  
  310.   public CustomBroadcastMain getCustomBroadcastMain() {
  311.     return this.cbcMain;
  312.   }
  313.  
  314.   public WildWarpMain getWildWarpMain() {
  315.     return this.wwMain;
  316.   }
  317.  
  318.   public WithdrawMcMMOMain getWithdrawMcMMOMain() {
  319.     return this.wmcmMain;
  320.   }
  321.  
  322.   public XpBottleMain getXpBottleMain() {
  323.     return this.xbMain;
  324.   }
  325.  
  326.   public TpFixMain getTpFixMain() {
  327.     return this.tfMain;
  328.   }
  329.  
  330.   public AntiInvisibilityMain getAntiInvisibilityMain() {
  331.     return this.aiMain;
  332.   }
  333.  
  334.   public PearlFixMain getPearlFixMain() {
  335.     return this.pfMain;
  336.   }
  337.  
  338.   public GiveAllMain getGiveAllMain() {
  339.     return this.gaMain;
  340.   }
  341.  
  342.   public ArmorSwitchMain getArmorSwitchMain() {
  343.     return this.asMain;
  344.   }
  345.  
  346.   public AutoLapisMain getAutoLapisMain() {
  347.     return this.alMain;
  348.   }
  349.  
  350.   public BankNoteMain getBankNoteMain() {
  351.     return this.bnMain;
  352.   }
  353.  
  354.   public DailyRewardsMain getDailyRewardsMain() {
  355.     return this.drMain;
  356.   }
  357.  
  358.   public MysterySpawnersMain getMysterySpawnersMain() {
  359.     return this.msMain;
  360.   }
  361.  
  362.   public SimpleRestartMain getSimpleRestartMain() {
  363.     return this.srMain;
  364.   }
  365.  
  366.   public SunnyMain getSunnyMain() {
  367.     return this.sMain;
  368.   }
  369.  
  370.   public StaffMonitorMain getStaffMonitorMain() {
  371.     return this.smMain;
  372.   }
  373.  
  374.   public WitherMain getWitherMain() {
  375.     return this.wMain;
  376.   }
  377.  
  378.   public DupeFixerMain getDupeFixerMain() {
  379.     return this.dfMain;
  380.   }
  381.  
  382.   public AntiNetherMain getAntiNetherMain() {
  383.     return this.anMain;
  384.   }
  385.  
  386.   public BossUtils getUtils() {
  387.     return this.bu;
  388.   }
  389.  
  390.   public void reloadFiles() {
  391.     reloadConfig();
  392.  
  393.     for (AbstractSubPlugin pl : this.mapOfPlugins.keySet()) {
  394.       String s = (String)this.mapOfPlugins.get(pl);
  395.  
  396.       if (getConfig().getBoolean("PluginsEnabled." + s))
  397.         pl.reloadConfig();
  398.     }
  399.   }
  400.  
  401.   public String chooseRandomStringFromList(List<String> list, Player target)
  402.   {
  403.     Random rand = new Random();
  404.     int selector = rand.nextInt(list.size());
  405.     String chosenString = ((String)list.get(selector)).replace("%player%", target.getName());
  406.  
  407.     return chosenString;
  408.   }
  409. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement