Advertisement
Guest User

Untitled

a guest
Nov 18th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.10 KB | None | 0 0
  1. package fr.epicminions.utils;
  2.  
  3. import fr.epicminions.Main;
  4. import fr.epicminions.minion.Minion;
  5. import fr.epicminions.minion.minions.*;
  6. import fr.epicminions.utils.commons.inventory.CustomInventory;
  7. import fr.epicminions.utils.commons.inventory.ItemsUtils;
  8. import fr.epicminions.utils.config.YAMLUtils;
  9. import org.bukkit.Material;
  10.  
  11. import java.util.Arrays;
  12. import java.util.HashMap;
  13. import java.util.List;
  14. import java.util.Map;
  15. import java.util.stream.Collectors;
  16.  
  17. public class Manager {
  18.  
  19. public static void buildConfigs(String... configs) {
  20. for (String config : configs) {
  21. if (config.equalsIgnoreCase("config")) {
  22. YAMLUtils yaml = YAMLUtils.get("config");
  23. if (yaml.getFile().exists()) return;
  24. yaml.build("This is the base config of EpicMinions");
  25.  
  26. yaml.getConfig().set("menu-item.give-on-join", false);
  27. yaml.getConfig().set("menu-item.slot", 3);
  28. yaml.getConfig().set("menu-item.type", "ENDER_CHEST");
  29. yaml.getConfig().set("menu-item.name", "&6&lEpicMinions");
  30. yaml.build("RIGHT or LEFT");
  31. yaml.getConfig().set("location-minion", "RIGHT");
  32.  
  33.  
  34. yaml.getConfig().set("use-sql", false);
  35. yaml.getConfig().set("ip", "localhost");
  36. yaml.getConfig().set("database", "database");
  37. yaml.getConfig().set("user", "user");
  38. yaml.getConfig().set("password", "patato");
  39. yaml.getConfig().set("root", 3306);
  40.  
  41. yaml.save();
  42. } else if (config.equalsIgnoreCase("messages")) {
  43. YAMLUtils yaml = YAMLUtils.get("messages");
  44. if (yaml.getFile().exists()) return;
  45. yaml.build("Messages configuration");
  46.  
  47. yaml.getConfig().set("prefix", "&8[&6EpicMinions&8]");
  48. yaml.getConfig().set("no-permission", "%prefix% &cYou do not have the required permission!");
  49. yaml.getConfig().set("no-player", "%prefix% &cThis player %player% doesn't exists");
  50. yaml.getConfig().set("list-minion", "%prefix% &cThe Minion &e%minionname% &cdoes not exist. Here is the list of minions:&a ");
  51. yaml.getConfig().set("set-minion-1", "%prefix% &aThe minion of %player% is now %minionname%");
  52. yaml.getConfig().set("set-minion-2", "%prefix% &aYour Minion is now %minionname%");
  53.  
  54. for (Minion minion : Minion.instanceList) {
  55. yaml.getConfig().set("minions."+minion.getName()+".name", minion.getDisplayName());
  56. yaml.getConfig().set("minions."+minion.getName()+".description", minion.getDescription());
  57. }
  58.  
  59. yaml.getConfig().set("minions.spawn", "%prefix% &eYou spawned %minion%");
  60.  
  61. yaml.getConfig().set("menu.minion", "&7Minion - select");
  62. yaml.getConfig().set("menu.spawn", "&aSpawn");
  63. yaml.getConfig().set("menu.despawn", "&cDespawn");
  64.  
  65. yaml.save();
  66. }else throw new NullPointerException(config+" is not defined!");
  67. }
  68. }
  69.  
  70. private Map<String,Minion> minions = new HashMap<>();
  71. private void register(Minion... minion) {
  72. for (Minion m : minion)
  73. minions.put(m.getDisplayName(),m);
  74. //minion.deserialize();
  75. }
  76.  
  77. public void loadMinions() {
  78. Minion.instanceList.addAll(Arrays.asList(
  79. new AdventureMinion(),
  80. new BeeMinion(),
  81. new SnowmanMinion(),
  82. new IceClimbersMinion(),
  83. new CupidonMinion(),
  84. new DevilMinion(),
  85. new FireWorkMinion(),
  86. new GhostMinion(),
  87. new GolemMinion(),
  88. new HeartMinion(),
  89. new LinkMinion(),
  90. new MarioMinion(),
  91. new MeteorMinion(),
  92. new PenguinMinion(),
  93. new R2D2Minion(),
  94. new ReaperMinion(),
  95. new SheepMinion(),
  96. new SimsMinion(),
  97. new HomerMinion(),
  98. new AstronautMinion(),
  99. new SurpriseMinion(),
  100. new BB_8Minion(),
  101. new TwitterMinion(),
  102. new WitchMinion(),
  103. new SantaMinion(),
  104. new KirbyMinion(),
  105. new VillagerMinion(),
  106. new CasadePapelMinion(),
  107. new CreeperMinion(),
  108. new WitherMinion()
  109. ));
  110. Minion.instanceList.forEach(o -> Minion.minionList.add(o.getClass()));
  111. }
  112. public static CustomInventory buildInventory(User user) {
  113. return new CustomInventory(Main.getInstance(), "minions", false, null, Utils.colorize((String) Utils.gfc("messages", "menu.minion")), 54)
  114. .advManipule(customInventory -> {
  115. if (user.getMinion() != null)
  116. customInventory.addItem(ItemsUtils.create(Material.BARRIER, (byte)0, Utils.colorize((String) Utils.gfc("messages", "menu.despawn"))), 4);
  117. int i = 9;
  118. for (Minion minion : Minion.instanceList) {
  119. String itemName = (String) Utils.gfc("messages", "menu.spawn");
  120. if (user.getMinion() != null && user.getMinion().getName().equalsIgnoreCase(minion.getName()))
  121. itemName = (String) Utils.gfc("messages", "menu.despawn");
  122.  
  123. List<String> lores = ((List<String>) Utils.gfc("messages", "minions."+minion.getName()+".description")).stream().map(Utils::colorize).collect(Collectors.toList());
  124. customInventory.addItem(
  125. ItemsUtils.create(minion.getItemStack(), Utils.colorize(itemName + " " + Utils.gfc("messages", "minions."+minion.getName()+".name")), lores)
  126. , i);
  127. i++;
  128. }
  129. });
  130. }
  131.  
  132. public Map<String, Minion> getMinions() {
  133. return minions;
  134. }
  135. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement