/src/main/java/aep/artemis/professionsplus/ProfessionsPlus.java

https://github.com/aRt3m1s/ProfessionsPlus · Java · 107 lines · 93 code · 7 blank · 7 comment · 11 complexity · 14106d62e2808bc7b5bffce9436d1153 MD5 · raw file

  1. package aep.artemis.professionsplus;
  2. import org.bukkit.World;
  3. import org.bukkit.plugin.PluginManager;
  4. import org.bukkit.plugin.java.JavaPlugin;
  5. import org.bukkit.util.config.Configuration;
  6. import java.io.File;
  7. import java.util.List;
  8. import java.util.logging.Logger;
  9. /**
  10. * Created by IntelliJ IDEA.
  11. * User: art3m1s
  12. * Date: 9/29/11
  13. * Time: 5:43 PM
  14. * To change this template use File | Settings | File Templates.
  15. */
  16. public class ProfessionsPlus extends JavaPlugin{
  17. Logger log = Logger.getLogger("Minecraft");
  18. final String ppPrefix = "[PROF] ";
  19. private final PexUtils pexUtils = new PexUtils(this);
  20. private final BPermsUtils bPermsUtils = new BPermsUtils(this);
  21. private final PBukkitUtils pBukkitUtils = new PBukkitUtils(this);
  22. String whatPermissions;
  23. Configuration professions;
  24. Configuration history;
  25. @Override
  26. public void onDisable() {
  27. log.info(ppPrefix+getDescription().getName()+" version v"+getDescription().getVersion()+" has been Disabled!");
  28. }
  29. @Override
  30. public void onEnable() {
  31. log.info(ppPrefix+getDescription().getName()+" version v"+getDescription().getVersion()+" has been Enabled!");
  32. PluginManager pm = getServer().getPluginManager();
  33. if(pm.isPluginEnabled("PermissionsEx")){
  34. whatPermissions = "PermissionsEx";
  35. log.info(ppPrefix+"hooked into PermissionsEx");
  36. }else if(pm.isPluginEnabled("bPermissions")){
  37. whatPermissions = "bPermissions";
  38. log.info(ppPrefix+"hooked into bPermissions");
  39. }else if(pm.isPluginEnabled("PermissionsBukkit")){
  40. whatPermissions = "PermissionsBukkit";
  41. log.info(ppPrefix+"hooked into PermissionsBukkit");
  42. }else{
  43. whatPermissions = "none";
  44. log.info(ppPrefix+"no supported Permissions found, disabling plugin");
  45. pm.disablePlugin(this);
  46. }
  47. if(isEnabled()){
  48. List<World> worlds = getServer().getWorlds();
  49. professions = new Configuration(new File(getDataFolder().getPath()+"/professions", "/professions.yml"));
  50. professions.load();fixProfs(professions, worlds);professions.load();
  51. history = new Configuration(new File(getDataFolder().getPath()+"/professions", "/history.yml"));
  52. history.load();makeHistory(history);history.load();
  53. fixGroups(worlds, whatPermissions);
  54. }
  55. }
  56. void fixGroups(List<World> worlds, String whatPermissions) {
  57. if(whatPermissions.equalsIgnoreCase("PermissionsEx")){
  58. pexUtils.fixGroups(worlds);
  59. }else if(whatPermissions.equalsIgnoreCase("bPermissions")){
  60. bPermsUtils.fixGroups(worlds);
  61. }else if(whatPermissions.equalsIgnoreCase("PermissionsBukkit")){
  62. pBukkitUtils.fixGroups(worlds);
  63. }
  64. }
  65. void makeHistory(Configuration history) {
  66. if(history.getKeys("<worldName>").isEmpty()){
  67. history.setProperty("<worldName>.<userName>.<groupName>.last-join", 0);
  68. history.save();
  69. }
  70. }
  71. void fixProfs(Configuration professions, List<World> worlds) {
  72. for(World w: worlds){
  73. if(!w.getName().endsWith("_nether")){
  74. String wName = w.getName();
  75. if(professions.getKeys(wName).isEmpty()){
  76. professions.setProperty(wName+".professions.faction.group-limit", (1));
  77. professions.setProperty(wName+".professions.faction.time-limit", (192));
  78. professions.setProperty(wName+".professions.faction.join-cost", (double) (600));
  79. professions.setProperty(wName+".professions.faction.leave-cost", (double) (300));
  80. professions.save();
  81. professions.setProperty(wName+".professions.job.group-limit", (1));
  82. professions.setProperty(wName+".professions.job.time-limit", (192));
  83. professions.setProperty(wName+".professions.job.join-cost", (double) (600));
  84. professions.setProperty(wName+".professions.job.leave-cost", (double) (300));
  85. professions.save();
  86. professions.setProperty(wName+".professions.sub-job.group-limit", (1));
  87. professions.setProperty(wName+".professions.sub-job.time-limit", (192));
  88. professions.setProperty(wName+".professions.sub-job.join-cost", (double) 600);
  89. professions.setProperty(wName+".professions.sub-job.leave-cost", (double) (300));
  90. professions.save();
  91. professions.setProperty(wName+".professions.skill.group-limit", (1));
  92. professions.setProperty(wName+".professions.skill.time-limit", (192));
  93. professions.setProperty(wName+".professions.skill.join-cost", (double) (600));
  94. professions.setProperty(wName+".professions.skill.leave-cost", (double) (300));
  95. professions.save();
  96. }
  97. }
  98. }
  99. }
  100. }