Ver código fonte

Changing the style of our code

nossr50 6 anos atrás
pai
commit
bbcc1ee7da
100 arquivos alterados com 1202 adições e 1364 exclusões
  1. 1 1
      bukkit/src/main/java/com/gmail/nossr50/commands/MHDCommand.java
  2. 20 39
      bukkit/src/main/java/com/gmail/nossr50/commands/McImportCommand.java
  3. 4 5
      bukkit/src/main/java/com/gmail/nossr50/commands/McconvertCommand.java
  4. 2 2
      bukkit/src/main/java/com/gmail/nossr50/commands/McmmoCommand.java
  5. 1 1
      bukkit/src/main/java/com/gmail/nossr50/commands/McnotifyCommand.java
  6. 4 1
      bukkit/src/main/java/com/gmail/nossr50/commands/ToggleCommand.java
  7. 12 18
      bukkit/src/main/java/com/gmail/nossr50/commands/XprateCommand.java
  8. 4 5
      bukkit/src/main/java/com/gmail/nossr50/commands/chat/ChatCommand.java
  9. 2 3
      bukkit/src/main/java/com/gmail/nossr50/commands/chat/PartyChatCommand.java
  10. 3 4
      bukkit/src/main/java/com/gmail/nossr50/commands/database/ConvertDatabaseCommand.java
  11. 3 4
      bukkit/src/main/java/com/gmail/nossr50/commands/database/McremoveCommand.java
  12. 1 1
      bukkit/src/main/java/com/gmail/nossr50/commands/experience/AddlevelsCommand.java
  13. 3 4
      bukkit/src/main/java/com/gmail/nossr50/commands/experience/AddxpCommand.java
  14. 2 2
      bukkit/src/main/java/com/gmail/nossr50/commands/experience/ConvertExperienceCommand.java
  15. 19 20
      bukkit/src/main/java/com/gmail/nossr50/commands/experience/ExperienceCommand.java
  16. 1 1
      bukkit/src/main/java/com/gmail/nossr50/commands/experience/MmoeditCommand.java
  17. 15 20
      bukkit/src/main/java/com/gmail/nossr50/commands/experience/SkillresetCommand.java
  18. 3 4
      bukkit/src/main/java/com/gmail/nossr50/commands/hardcore/HardcoreCommand.java
  19. 6 2
      bukkit/src/main/java/com/gmail/nossr50/commands/hardcore/HardcoreModeCommand.java
  20. 3 4
      bukkit/src/main/java/com/gmail/nossr50/commands/hardcore/VampirismCommand.java
  21. 1 1
      bukkit/src/main/java/com/gmail/nossr50/commands/party/PartyAcceptCommand.java
  22. 2 2
      bukkit/src/main/java/com/gmail/nossr50/commands/party/PartyChangeOwnerCommand.java
  23. 1 1
      bukkit/src/main/java/com/gmail/nossr50/commands/party/PartyChangePasswordCommand.java
  24. 18 18
      bukkit/src/main/java/com/gmail/nossr50/commands/party/PartyCommand.java
  25. 1 1
      bukkit/src/main/java/com/gmail/nossr50/commands/party/PartyCreateCommand.java
  26. 2 2
      bukkit/src/main/java/com/gmail/nossr50/commands/party/PartyDisbandCommand.java
  27. 3 4
      bukkit/src/main/java/com/gmail/nossr50/commands/party/PartyInfoCommand.java
  28. 2 3
      bukkit/src/main/java/com/gmail/nossr50/commands/party/PartyInviteCommand.java
  29. 4 7
      bukkit/src/main/java/com/gmail/nossr50/commands/party/PartyItemShareCommand.java
  30. 2 3
      bukkit/src/main/java/com/gmail/nossr50/commands/party/PartyJoinCommand.java
  31. 3 3
      bukkit/src/main/java/com/gmail/nossr50/commands/party/PartyKickCommand.java
  32. 4 7
      bukkit/src/main/java/com/gmail/nossr50/commands/party/PartyLockCommand.java
  33. 2 2
      bukkit/src/main/java/com/gmail/nossr50/commands/party/PartyQuitCommand.java
  34. 2 2
      bukkit/src/main/java/com/gmail/nossr50/commands/party/PartyRenameCommand.java
  35. 5 10
      bukkit/src/main/java/com/gmail/nossr50/commands/party/PartySubcommandType.java
  36. 3 5
      bukkit/src/main/java/com/gmail/nossr50/commands/party/PartyXpShareCommand.java
  37. 1 1
      bukkit/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceAcceptCommand.java
  38. 2 4
      bukkit/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceCommand.java
  39. 1 1
      bukkit/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceDisbandCommand.java
  40. 1 1
      bukkit/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceInviteCommand.java
  41. 2 3
      bukkit/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpAcceptAnyCommand.java
  42. 2 3
      bukkit/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpAcceptCommand.java
  43. 53 55
      bukkit/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpCommand.java
  44. 2 3
      bukkit/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpToggleCommand.java
  45. 5 7
      bukkit/src/main/java/com/gmail/nossr50/commands/player/InspectCommand.java
  46. 3 4
      bukkit/src/main/java/com/gmail/nossr50/commands/player/MccooldownCommand.java
  47. 3 4
      bukkit/src/main/java/com/gmail/nossr50/commands/player/McrankCommand.java
  48. 2 3
      bukkit/src/main/java/com/gmail/nossr50/commands/player/McstatsCommand.java
  49. 3 3
      bukkit/src/main/java/com/gmail/nossr50/commands/player/MctopCommand.java
  50. 8 9
      bukkit/src/main/java/com/gmail/nossr50/commands/skills/AcrobaticsCommand.java
  51. 4 4
      bukkit/src/main/java/com/gmail/nossr50/commands/skills/AlchemyCommand.java
  52. 1 2
      bukkit/src/main/java/com/gmail/nossr50/commands/skills/AprilCommand.java
  53. 5 5
      bukkit/src/main/java/com/gmail/nossr50/commands/skills/ArcheryCommand.java
  54. 6 6
      bukkit/src/main/java/com/gmail/nossr50/commands/skills/AxesCommand.java
  55. 1 1
      bukkit/src/main/java/com/gmail/nossr50/commands/skills/ExcavationCommand.java
  56. 10 10
      bukkit/src/main/java/com/gmail/nossr50/commands/skills/FishingCommand.java
  57. 9 8
      bukkit/src/main/java/com/gmail/nossr50/commands/skills/HerbalismCommand.java
  58. 8 8
      bukkit/src/main/java/com/gmail/nossr50/commands/skills/MiningCommand.java
  59. 12 19
      bukkit/src/main/java/com/gmail/nossr50/commands/skills/MmoInfoCommand.java
  60. 4 4
      bukkit/src/main/java/com/gmail/nossr50/commands/skills/RepairCommand.java
  61. 2 2
      bukkit/src/main/java/com/gmail/nossr50/commands/skills/SalvageCommand.java
  62. 31 43
      bukkit/src/main/java/com/gmail/nossr50/commands/skills/SkillCommand.java
  63. 2 3
      bukkit/src/main/java/com/gmail/nossr50/commands/skills/SkillGuideCommand.java
  64. 4 4
      bukkit/src/main/java/com/gmail/nossr50/commands/skills/SmeltingCommand.java
  65. 5 5
      bukkit/src/main/java/com/gmail/nossr50/commands/skills/SwordsCommand.java
  66. 6 6
      bukkit/src/main/java/com/gmail/nossr50/commands/skills/TamingCommand.java
  67. 10 8
      bukkit/src/main/java/com/gmail/nossr50/commands/skills/UnarmedCommand.java
  68. 5 4
      bukkit/src/main/java/com/gmail/nossr50/commands/skills/WoodcuttingCommand.java
  69. 17 14
      bukkit/src/main/java/com/gmail/nossr50/events/chat/McMMOChatEvent.java
  70. 10 9
      bukkit/src/main/java/com/gmail/nossr50/events/experience/McMMOPlayerExperienceEvent.java
  71. 9 10
      bukkit/src/main/java/com/gmail/nossr50/events/experience/McMMOPlayerLevelDownEvent.java
  72. 9 10
      bukkit/src/main/java/com/gmail/nossr50/events/experience/McMMOPlayerLevelUpEvent.java
  73. 12 13
      bukkit/src/main/java/com/gmail/nossr50/events/experience/McMMOPlayerXpGainEvent.java
  74. 11 9
      bukkit/src/main/java/com/gmail/nossr50/events/hardcore/McMMOPlayerDeathPenaltyEvent.java
  75. 11 8
      bukkit/src/main/java/com/gmail/nossr50/events/hardcore/McMMOPlayerPreDeathPenaltyEvent.java
  76. 11 8
      bukkit/src/main/java/com/gmail/nossr50/events/items/McMMOItemSpawnEvent.java
  77. 26 23
      bukkit/src/main/java/com/gmail/nossr50/events/party/McMMOPartyAllianceChangeEvent.java
  78. 26 23
      bukkit/src/main/java/com/gmail/nossr50/events/party/McMMOPartyChangeEvent.java
  79. 11 8
      bukkit/src/main/java/com/gmail/nossr50/events/party/McMMOPartyLevelUpEvent.java
  80. 8 7
      bukkit/src/main/java/com/gmail/nossr50/events/party/McMMOPartyTeleportEvent.java
  81. 18 15
      bukkit/src/main/java/com/gmail/nossr50/events/party/McMMOPartyXpGainEvent.java
  82. 25 20
      bukkit/src/main/java/com/gmail/nossr50/events/scoreboard/McMMOScoreboardEvent.java
  83. 3 2
      bukkit/src/main/java/com/gmail/nossr50/events/scoreboard/McMMOScoreboardObjectiveEvent.java
  84. 13 14
      bukkit/src/main/java/com/gmail/nossr50/events/skills/McMMOPlayerNotificationEvent.java
  85. 9 8
      bukkit/src/main/java/com/gmail/nossr50/events/skills/McMMOPlayerSkillEvent.java
  86. 3 1
      bukkit/src/main/java/com/gmail/nossr50/events/skills/repair/McMMOPlayerRepairCheckEvent.java
  87. 3 1
      bukkit/src/main/java/com/gmail/nossr50/events/skills/salvage/McMMOPlayerSalvageCheckEvent.java
  88. 4 3
      bukkit/src/main/java/com/gmail/nossr50/events/skills/secondaryabilities/SubSkillEvent.java
  89. 1 2
      bukkit/src/main/java/com/gmail/nossr50/events/skills/secondaryabilities/SubSkillRandomCheckEvent.java
  90. 3 1
      bukkit/src/main/java/com/gmail/nossr50/events/skills/unarmed/McMMOPlayerDisarmEvent.java
  91. 55 80
      bukkit/src/main/java/com/gmail/nossr50/listeners/BlockListener.java
  92. 101 142
      bukkit/src/main/java/com/gmail/nossr50/listeners/EntityListener.java
  93. 21 23
      bukkit/src/main/java/com/gmail/nossr50/listeners/InteractionManager.java
  94. 33 45
      bukkit/src/main/java/com/gmail/nossr50/listeners/InventoryListener.java
  95. 47 61
      bukkit/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java
  96. 17 25
      bukkit/src/main/java/com/gmail/nossr50/listeners/SelfListener.java
  97. 5 5
      bukkit/src/main/java/com/gmail/nossr50/listeners/WorldListener.java
  98. 124 141
      bukkit/src/main/java/com/gmail/nossr50/mcMMO.java
  99. 175 174
      bukkit/src/main/java/util/java/mcMMO/PotionConfigGenerator.java
  100. 4 4
      bukkit/src/main/resources/child.yml

+ 1 - 1
bukkit/src/main/java/com/gmail/nossr50/commands/MHDCommand.java

@@ -1,11 +1,11 @@
 package com.gmail.nossr50.commands;
 
 import com.gmail.nossr50.core.config.skills.Config;
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.data.database.FlatfileDatabaseManager;
 import com.gmail.nossr50.core.data.database.SQLDatabaseManager;
 import com.gmail.nossr50.core.datatypes.player.McMMOPlayer;
 import com.gmail.nossr50.mcMMO;
-import com.gmail.nossr50.core.data.UserManager;
 import com.google.common.collect.ImmutableList;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandSender;

+ 20 - 39
bukkit/src/main/java/com/gmail/nossr50/commands/McImportCommand.java

@@ -1,8 +1,8 @@
 package com.gmail.nossr50.commands;
 
 import com.gmail.nossr50.core.skills.ModConfigType;
-import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.core.util.Misc;
+import com.gmail.nossr50.mcMMO;
 import org.bukkit.Material;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandExecutor;
@@ -71,17 +71,14 @@ public class McImportCommand implements CommandExecutor {
                 materialNames.get(type).add(materialName);
                 continue;
             }
-        }
-        catch (FileNotFoundException e) {
+        } catch (FileNotFoundException e) {
             mcMMO.p.getLogger().warning("Could not find " + importFile.getAbsolutePath() + " ! (No such file or directory)");
             mcMMO.p.getLogger().warning("Copy and paste latest.log to " + importFile.getParentFile().getAbsolutePath() + " and rename it to import.log");
             return false;
-        }
-        catch (Exception e) {
+        } catch (Exception e) {
             e.printStackTrace();
             return false;
-        }
-        finally {
+        } finally {
             tryClose(in);
         }
 
@@ -116,8 +113,7 @@ public class McImportCommand implements CommandExecutor {
         }
         try {
             c.close();
-        }
-        catch (IOException e) {
+        } catch (IOException e) {
             e.printStackTrace();
         }
     }
@@ -169,16 +165,13 @@ public class McImportCommand implements CommandExecutor {
 
                 out = new FileWriter(outputFile);
                 out.write(writer.toString());
-            }
-            catch (IOException e) {
+            } catch (IOException e) {
                 e.printStackTrace();
                 return;
-            }
-            catch (Exception e) {
+            } catch (Exception e) {
                 e.printStackTrace();
                 return;
-            }
-            finally {
+            } finally {
                 tryClose(out);
                 fileAmount++;
             }
@@ -208,14 +201,11 @@ public class McImportCommand implements CommandExecutor {
             String skillName = "UNIDENTIFIED";
             if (materialName.contains("ORE")) {
                 skillName = "Mining";
-            }
-            else if (materialName.contains("LOG") || materialName.contains("LEAVES")) {
+            } else if (materialName.contains("LOG") || materialName.contains("LEAVES")) {
                 skillName = "Woodcutting";
-            }
-            else if (materialName.contains("GRASS") || materialName.contains("FLOWER") || materialName.contains("CROP")) {
+            } else if (materialName.contains("GRASS") || materialName.contains("FLOWER") || materialName.contains("CROP")) {
                 skillName = "Herbalism";
-            }
-            else if (materialName.contains("DIRT") || materialName.contains("SAND")) {
+            } else if (materialName.contains("DIRT") || materialName.contains("SAND")) {
                 skillName = "Excavation";
             }
 
@@ -230,8 +220,7 @@ public class McImportCommand implements CommandExecutor {
 
             if (skillName.equals("Mining")) {
                 skillContents.add("    " + "    " + "Smelting_XP_Gain: 9");
-            }
-            else if (skillName.equals("Woodcutting")) {
+            } else if (skillName.equals("Woodcutting")) {
                 skillContents.add("    " + "    " + "Is_Log: " + materialName.contains("LOG"));
             }
         }
@@ -247,20 +236,15 @@ public class McImportCommand implements CommandExecutor {
             String toolType = "UNIDENTIFIED";
             if (materialName.contains("PICKAXE")) {
                 toolType = "Pickaxes";
-            }
-            else if (materialName.contains("AXE")) {
+            } else if (materialName.contains("AXE")) {
                 toolType = "Axes";
-            }
-            else if (materialName.contains("BOW")) {
+            } else if (materialName.contains("BOW")) {
                 toolType = "Bows";
-            }
-            else if (materialName.contains("HOE")) {
+            } else if (materialName.contains("HOE")) {
                 toolType = "Hoes";
-            }
-            else if (materialName.contains("SHOVEL") || materialName.contains("SPADE")) {
+            } else if (materialName.contains("SHOVEL") || materialName.contains("SPADE")) {
                 toolType = "Shovels";
-            }
-            else if (materialName.contains("SWORD")) {
+            } else if (materialName.contains("SWORD")) {
                 toolType = "Swords";
             }
 
@@ -287,14 +271,11 @@ public class McImportCommand implements CommandExecutor {
             String toolType = "UNIDENTIFIED";
             if (materialName.contains("BOOT") || materialName.contains("SHOE")) {
                 toolType = "Boots";
-            }
-            else if (materialName.contains("CHESTPLATE") || materialName.contains("CHEST")) {
+            } else if (materialName.contains("CHESTPLATE") || materialName.contains("CHEST")) {
                 toolType = "Chestplates";
-            }
-            else if (materialName.contains("HELM") || materialName.contains("HAT")) {
+            } else if (materialName.contains("HELM") || materialName.contains("HAT")) {
                 toolType = "Helmets";
-            }
-            else if (materialName.contains("LEGGINGS") || materialName.contains("LEGS") || materialName.contains("PANTS")) {
+            } else if (materialName.contains("LEGGINGS") || materialName.contains("LEGS") || materialName.contains("PANTS")) {
                 toolType = "Leggings";
             }
 

+ 4 - 5
bukkit/src/main/java/com/gmail/nossr50/commands/McconvertCommand.java

@@ -22,9 +22,6 @@ public class McconvertCommand implements TabExecutor {
     private static final List<String> DATABASE_TYPES;
     private static final List<String> SUBCOMMANDS = ImmutableList.of("database", "experience");
 
-    private CommandExecutor databaseConvertCommand = new ConvertDatabaseCommand();
-    private CommandExecutor experienceConvertCommand = new ConvertExperienceCommand();
-
     static {
         ArrayList<String> formulaTypes = new ArrayList<String>();
         ArrayList<String> databaseTypes = new ArrayList<String>();
@@ -52,14 +49,16 @@ public class McconvertCommand implements TabExecutor {
 
     }
 
+    private CommandExecutor databaseConvertCommand = new ConvertDatabaseCommand();
+    private CommandExecutor experienceConvertCommand = new ConvertExperienceCommand();
+
     @Override
     public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
         switch (args.length) {
             case 2:
                 if (args[0].equalsIgnoreCase("database") || args[0].equalsIgnoreCase("db")) {
                     return databaseConvertCommand.onCommand(sender, command, label, args);
-                }
-                else if (args[0].equalsIgnoreCase("experience") || args[0].equalsIgnoreCase("xp") || args[1].equalsIgnoreCase("exp")) {
+                } else if (args[0].equalsIgnoreCase("experience") || args[0].equalsIgnoreCase("xp") || args[1].equalsIgnoreCase("exp")) {
                     return experienceConvertCommand.onCommand(sender, command, label, args);
                 }
 

+ 2 - 2
bukkit/src/main/java/com/gmail/nossr50/commands/McmmoCommand.java

@@ -3,8 +3,8 @@ package com.gmail.nossr50.commands;
 import com.gmail.nossr50.commands.party.PartySubcommandType;
 import com.gmail.nossr50.core.config.skills.Config;
 import com.gmail.nossr50.core.locale.LocaleLoader;
-import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.core.util.Permissions;
+import com.gmail.nossr50.mcMMO;
 import org.bukkit.ChatColor;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandExecutor;
@@ -71,7 +71,7 @@ public class McmmoCommand implements CommandExecutor {
 
     private void displayOtherCommands(CommandSender sender) {
         //Don't show them this category if they have none of the permissions
-        if(!Permissions.skillreset(sender) && !Permissions.mmoedit(sender) && !Permissions.adminChat(sender) && !Permissions.mcgod(sender))
+        if (!Permissions.skillreset(sender) && !Permissions.mmoedit(sender) && !Permissions.adminChat(sender) && !Permissions.mcgod(sender))
             return;
 
         sender.sendMessage(LocaleLoader.getString("Commands.Other"));

+ 1 - 1
bukkit/src/main/java/com/gmail/nossr50/commands/McnotifyCommand.java

@@ -1,8 +1,8 @@
 package com.gmail.nossr50.commands;
 
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.player.McMMOPlayer;
 import com.gmail.nossr50.core.locale.LocaleLoader;
-import com.gmail.nossr50.core.data.UserManager;
 import com.google.common.collect.ImmutableList;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandSender;

+ 4 - 1
bukkit/src/main/java/com/gmail/nossr50/commands/ToggleCommand.java

@@ -1,8 +1,8 @@
 package com.gmail.nossr50.commands;
 
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.player.McMMOPlayer;
 import com.gmail.nossr50.core.util.commands.CommandUtils;
-import com.gmail.nossr50.core.data.UserManager;
 import com.google.common.collect.ImmutableList;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandSender;
@@ -71,7 +71,10 @@ public abstract class ToggleCommand implements TabExecutor {
     }
 
     protected abstract boolean hasOtherPermission(CommandSender sender);
+
     protected abstract boolean hasSelfPermission(CommandSender sender);
+
     protected abstract void applyCommandAction(McMMOPlayer mcMMOPlayer);
+
     protected abstract void sendSuccessMessage(CommandSender sender, String playerName);
 }

+ 12 - 18
bukkit/src/main/java/com/gmail/nossr50/commands/XprateCommand.java

@@ -1,13 +1,13 @@
 package com.gmail.nossr50.commands;
 
-import com.gmail.nossr50.core.config.skills.AdvancedConfig;
 import com.gmail.nossr50.config.experience.ExperienceConfig;
+import com.gmail.nossr50.core.config.skills.AdvancedConfig;
 import com.gmail.nossr50.core.locale.LocaleLoader;
-import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.core.util.Permissions;
 import com.gmail.nossr50.core.util.StringUtils;
 import com.gmail.nossr50.core.util.commands.CommandUtils;
 import com.gmail.nossr50.core.util.player.NotificationManager;
+import com.gmail.nossr50.mcMMO;
 import com.google.common.collect.ImmutableList;
 import org.bukkit.ChatColor;
 import org.bukkit.command.Command;
@@ -25,7 +25,7 @@ public class XprateCommand implements TabExecutor {
     public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
         switch (args.length) {
             case 1:
-                if (!args[0].equalsIgnoreCase("reset") &&  !args[0].equalsIgnoreCase("clear")) {
+                if (!args[0].equalsIgnoreCase("reset") && !args[0].equalsIgnoreCase("clear")) {
                     return false;
                 }
 
@@ -36,12 +36,11 @@ public class XprateCommand implements TabExecutor {
 
                 if (mcMMO.p.isXPEventEnabled()) {
 
-                    if(AdvancedConfig.getInstance().useTitlesForXPEvent())
-                    {
+                    if (AdvancedConfig.getInstance().useTitlesForXPEvent()) {
                         NotificationManager.broadcastTitle(mcMMO.p.getServer(),
                                 LocaleLoader.getString("Commands.Event.Stop"),
                                 LocaleLoader.getString("Commands.Event.Stop.Subtitle"),
-                                10, 10*20, 20);
+                                10, 10 * 20, 20);
                     }
 
                     mcMMO.p.getServer().broadcastMessage(LocaleLoader.getString("Commands.Event.Stop"));
@@ -65,36 +64,31 @@ public class XprateCommand implements TabExecutor {
 
                 if (CommandUtils.shouldDisableToggle(args[1])) {
                     mcMMO.p.setXPEventEnabled(false);
-                }
-                else if (CommandUtils.shouldEnableToggle(args[1])) {
+                } else if (CommandUtils.shouldEnableToggle(args[1])) {
                     mcMMO.p.setXPEventEnabled(true);
-                }
-                else {
+                } else {
                     return false;
                 }
 
                 int newXpRate = Integer.parseInt(args[0]);
 
-                if(newXpRate < 0)
-                {
-                    sender.sendMessage(ChatColor.RED+LocaleLoader.getString("Commands.NegativeNumberWarn"));
+                if (newXpRate < 0) {
+                    sender.sendMessage(ChatColor.RED + LocaleLoader.getString("Commands.NegativeNumberWarn"));
                     return true;
                 }
 
                 ExperienceConfig.getInstance().setExperienceGainsGlobalMultiplier(newXpRate);
 
                 if (mcMMO.p.isXPEventEnabled()) {
-                    if(AdvancedConfig.getInstance().useTitlesForXPEvent())
-                    {
+                    if (AdvancedConfig.getInstance().useTitlesForXPEvent()) {
                         NotificationManager.broadcastTitle(mcMMO.p.getServer(),
                                 LocaleLoader.getString("Commands.Event.Start"),
                                 LocaleLoader.getString("Commands.Event.XP", newXpRate),
-                                10, 10*20, 20);
+                                10, 10 * 20, 20);
                     }
                     mcMMO.p.getServer().broadcastMessage(LocaleLoader.getString("Commands.Event.Start"));
                     mcMMO.p.getServer().broadcastMessage(LocaleLoader.getString("Commands.Event.XP", newXpRate));
-                }
-                else {
+                } else {
                     sender.sendMessage(LocaleLoader.getString("Commands.xprate.modified", newXpRate));
                 }
 

+ 4 - 5
bukkit/src/main/java/com/gmail/nossr50/commands/chat/ChatCommand.java

@@ -3,13 +3,13 @@ package com.gmail.nossr50.commands.chat;
 import com.gmail.nossr50.core.chat.ChatManager;
 import com.gmail.nossr50.core.chat.ChatManagerFactory;
 import com.gmail.nossr50.core.config.skills.Config;
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.chat.ChatMode;
 import com.gmail.nossr50.core.datatypes.party.PartyFeature;
 import com.gmail.nossr50.core.datatypes.player.McMMOPlayer;
 import com.gmail.nossr50.core.locale.LocaleLoader;
-import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.core.util.commands.CommandUtils;
-import com.gmail.nossr50.core.data.UserManager;
+import com.gmail.nossr50.mcMMO;
 import com.google.common.collect.ImmutableList;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandSender;
@@ -21,8 +21,8 @@ import java.util.ArrayList;
 import java.util.List;
 
 public abstract class ChatCommand implements TabExecutor {
-    private ChatMode chatMode;
     protected ChatManager chatManager;
+    private ChatMode chatMode;
 
     public ChatCommand(ChatMode chatMode) {
         this.chatMode = chatMode;
@@ -47,8 +47,7 @@ public abstract class ChatCommand implements TabExecutor {
 
                 if (mcMMOPlayer.isChatEnabled(chatMode)) {
                     disableChatMode(mcMMOPlayer, sender);
-                }
-                else {
+                } else {
                     enableChatMode(mcMMOPlayer, sender);
                 }
 

+ 2 - 3
bukkit/src/main/java/com/gmail/nossr50/commands/chat/PartyChatCommand.java

@@ -2,12 +2,12 @@ package com.gmail.nossr50.commands.chat;
 
 import com.gmail.nossr50.core.chat.PartyChatManager;
 import com.gmail.nossr50.core.config.skills.Config;
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.chat.ChatMode;
 import com.gmail.nossr50.core.datatypes.party.Party;
 import com.gmail.nossr50.core.datatypes.party.PartyFeature;
 import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.party.PartyManager;
-import com.gmail.nossr50.core.data.UserManager;
 import org.bukkit.command.CommandSender;
 import org.bukkit.entity.Player;
 
@@ -35,8 +35,7 @@ public class PartyChatCommand extends ChatCommand {
             }
 
             message = buildChatMessage(args, 0);
-        }
-        else {
+        } else {
             if (args.length < 2) {
                 sender.sendMessage(LocaleLoader.getString("Party.Specify"));
                 return;

+ 3 - 4
bukkit/src/main/java/com/gmail/nossr50/commands/database/ConvertDatabaseCommand.java

@@ -1,14 +1,14 @@
 package com.gmail.nossr50.commands.database;
 
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.data.database.DatabaseManager;
 import com.gmail.nossr50.core.data.database.DatabaseManagerFactory;
 import com.gmail.nossr50.core.datatypes.database.DatabaseType;
 import com.gmail.nossr50.core.datatypes.player.PlayerProfile;
 import com.gmail.nossr50.core.locale.LocaleLoader;
-import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.core.runnables.database.DatabaseConversionTask;
 import com.gmail.nossr50.core.runnables.player.PlayerProfileLoadingTask;
-import com.gmail.nossr50.core.data.UserManager;
+import com.gmail.nossr50.mcMMO;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandExecutor;
 import org.bukkit.command.CommandSender;
@@ -41,8 +41,7 @@ public class ConvertDatabaseCommand implements CommandExecutor {
                         }
 
                         oldDatabase = DatabaseManagerFactory.createCustomDatabaseManager((Class<? extends DatabaseManager>) clazz);
-                    }
-                    catch (Throwable e) {
+                    } catch (Throwable e) {
                         e.printStackTrace();
                         sender.sendMessage(LocaleLoader.getString("Commands.mcconvert.Database.InvalidType", args[1]));
                         return true;

+ 3 - 4
bukkit/src/main/java/com/gmail/nossr50/commands/database/McremoveCommand.java

@@ -1,9 +1,9 @@
 package com.gmail.nossr50.commands.database;
 
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.locale.LocaleLoader;
-import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.core.util.commands.CommandUtils;
-import com.gmail.nossr50.core.data.UserManager;
+import com.gmail.nossr50.mcMMO;
 import com.google.common.collect.ImmutableList;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandSender;
@@ -26,8 +26,7 @@ public class McremoveCommand implements TabExecutor {
 
                 if (mcMMO.getDatabaseManager().removeUser(playerName)) {
                     sender.sendMessage(LocaleLoader.getString("Commands.mcremove.Success", playerName));
-                }
-                else {
+                } else {
                     sender.sendMessage(playerName + " could not be removed from the database."); // Pretty sure this should NEVER happen.
                 }
 

+ 1 - 1
bukkit/src/main/java/com/gmail/nossr50/commands/experience/AddlevelsCommand.java

@@ -2,8 +2,8 @@ package com.gmail.nossr50.commands.experience;
 
 import com.gmail.nossr50.core.datatypes.experience.XPGainReason;
 import com.gmail.nossr50.core.datatypes.player.PlayerProfile;
-import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.locale.LocaleLoader;
+import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.util.EventUtils;
 import com.gmail.nossr50.core.util.Permissions;
 import org.bukkit.command.CommandSender;

+ 3 - 4
bukkit/src/main/java/com/gmail/nossr50/commands/experience/AddxpCommand.java

@@ -1,12 +1,12 @@
 package com.gmail.nossr50.commands.experience;
 
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.experience.XPGainReason;
 import com.gmail.nossr50.core.datatypes.experience.XPGainSource;
 import com.gmail.nossr50.core.datatypes.player.PlayerProfile;
-import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.locale.LocaleLoader;
+import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.util.Permissions;
-import com.gmail.nossr50.core.data.UserManager;
 import org.bukkit.command.CommandSender;
 import org.bukkit.entity.Player;
 
@@ -25,8 +25,7 @@ public class AddxpCommand extends ExperienceCommand {
     protected void handleCommand(Player player, PlayerProfile profile, PrimarySkillType skill, int value) {
         if (player != null) {
             UserManager.getPlayer(player).applyXpGain(skill, value, XPGainReason.COMMAND, XPGainSource.COMMAND);
-        }
-        else {
+        } else {
             profile.addXp(skill, value);
             profile.scheduleAsyncSave();
         }

+ 2 - 2
bukkit/src/main/java/com/gmail/nossr50/commands/experience/ConvertExperienceCommand.java

@@ -1,11 +1,11 @@
 package com.gmail.nossr50.commands.experience;
 
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.experience.FormulaType;
 import com.gmail.nossr50.core.locale.LocaleLoader;
-import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.core.runnables.database.FormulaConversionTask;
 import com.gmail.nossr50.core.runnables.player.PlayerProfileLoadingTask;
-import com.gmail.nossr50.core.data.UserManager;
+import com.gmail.nossr50.mcMMO;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandExecutor;
 import org.bukkit.command.CommandSender;

+ 19 - 20
bukkit/src/main/java/com/gmail/nossr50/commands/experience/ExperienceCommand.java

@@ -1,12 +1,12 @@
 package com.gmail.nossr50.commands.experience;
 
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.player.McMMOPlayer;
 import com.gmail.nossr50.core.datatypes.player.PlayerProfile;
-import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.locale.LocaleLoader;
-import com.gmail.nossr50.mcMMO;
+import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.util.commands.CommandUtils;
-import com.gmail.nossr50.core.data.UserManager;
+import com.gmail.nossr50.mcMMO;
 import com.google.common.collect.ImmutableList;
 import org.bukkit.OfflinePlayer;
 import org.bukkit.command.Command;
@@ -20,6 +20,14 @@ import java.util.List;
 import java.util.UUID;
 
 public abstract class ExperienceCommand implements TabExecutor {
+    protected static void handleSenderMessage(CommandSender sender, String playerName, PrimarySkillType skill) {
+        if (skill == null) {
+            sender.sendMessage(LocaleLoader.getString("Commands.addlevels.AwardAll.2", playerName));
+        } else {
+            sender.sendMessage(LocaleLoader.getString("Commands.addlevels.AwardSkill.2", skill.getName(), playerName));
+        }
+    }
+
     @Override
     public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
         PrimarySkillType skill;
@@ -45,8 +53,7 @@ public abstract class ExperienceCommand implements TabExecutor {
                     skill = null;
                 }
 
-                if (skill != null && skill.isChildSkill())
-                {
+                if (skill != null && skill.isChildSkill()) {
                     sender.sendMessage(LocaleLoader.getString("Commands.Skill.ChildSkill"));
                     return true;
                 }
@@ -70,8 +77,7 @@ public abstract class ExperienceCommand implements TabExecutor {
                     skill = null;
                 }
 
-                if (skill != null && skill.isChildSkill())
-                {
+                if (skill != null && skill.isChildSkill()) {
                     sender.sendMessage(LocaleLoader.getString("Commands.Skill.ChildSkill"));
                     return true;
                 }
@@ -95,8 +101,7 @@ public abstract class ExperienceCommand implements TabExecutor {
                     }
 
                     editValues(null, profile, skill, value);
-                }
-                else {
+                } else {
                     editValues(mcMMOPlayer.getPlayer(), mcMMOPlayer.getProfile(), skill, value);
                 }
 
@@ -122,24 +127,19 @@ public abstract class ExperienceCommand implements TabExecutor {
     }
 
     protected abstract boolean permissionsCheckSelf(CommandSender sender);
+
     protected abstract boolean permissionsCheckOthers(CommandSender sender);
+
     protected abstract void handleCommand(Player player, PlayerProfile profile, PrimarySkillType skill, int value);
+
     protected abstract void handlePlayerMessageAll(Player player, int value);
+
     protected abstract void handlePlayerMessageSkill(Player player, int value, PrimarySkillType skill);
 
     private boolean validateArguments(CommandSender sender, String skillName, String value) {
         return !(CommandUtils.isInvalidInteger(sender, value) || (!skillName.equalsIgnoreCase("all") && CommandUtils.isInvalidSkill(sender, skillName)));
     }
 
-    protected static void handleSenderMessage(CommandSender sender, String playerName, PrimarySkillType skill) {
-        if (skill == null) {
-            sender.sendMessage(LocaleLoader.getString("Commands.addlevels.AwardAll.2", playerName));
-        }
-        else {
-            sender.sendMessage(LocaleLoader.getString("Commands.addlevels.AwardSkill.2", skill.getName(), playerName));
-        }
-    }
-
     protected void editValues(Player player, PlayerProfile profile, PrimarySkillType skill, int value) {
         if (skill == null) {
             for (PrimarySkillType primarySkillType : PrimarySkillType.NON_CHILD_SKILLS) {
@@ -149,8 +149,7 @@ public abstract class ExperienceCommand implements TabExecutor {
             if (player != null) {
                 handlePlayerMessageAll(player, value);
             }
-        }
-        else {
+        } else {
             handleCommand(player, profile, skill, value);
 
             if (player != null) {

+ 1 - 1
bukkit/src/main/java/com/gmail/nossr50/commands/experience/MmoeditCommand.java

@@ -2,8 +2,8 @@ package com.gmail.nossr50.commands.experience;
 
 import com.gmail.nossr50.core.datatypes.experience.XPGainReason;
 import com.gmail.nossr50.core.datatypes.player.PlayerProfile;
-import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.locale.LocaleLoader;
+import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.util.EventUtils;
 import com.gmail.nossr50.core.util.Permissions;
 import org.bukkit.command.CommandSender;

+ 15 - 20
bukkit/src/main/java/com/gmail/nossr50/commands/experience/SkillresetCommand.java

@@ -1,15 +1,15 @@
 package com.gmail.nossr50.commands.experience;
 
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.experience.XPGainReason;
 import com.gmail.nossr50.core.datatypes.player.McMMOPlayer;
 import com.gmail.nossr50.core.datatypes.player.PlayerProfile;
-import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.locale.LocaleLoader;
-import com.gmail.nossr50.mcMMO;
+import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.util.EventUtils;
 import com.gmail.nossr50.core.util.Permissions;
 import com.gmail.nossr50.core.util.commands.CommandUtils;
-import com.gmail.nossr50.core.data.UserManager;
+import com.gmail.nossr50.mcMMO;
 import com.google.common.collect.ImmutableList;
 import org.bukkit.OfflinePlayer;
 import org.bukkit.command.Command;
@@ -27,6 +27,14 @@ import java.util.UUID;
  * value/quantity argument is removed.
  */
 public class SkillresetCommand implements TabExecutor {
+    protected static void handleSenderMessage(CommandSender sender, String playerName, PrimarySkillType skill) {
+        if (skill == null) {
+            sender.sendMessage(LocaleLoader.getString("Commands.addlevels.AwardAll.2", playerName));
+        } else {
+            sender.sendMessage(LocaleLoader.getString("Commands.addlevels.AwardSkill.2", skill.getName(), playerName));
+        }
+    }
+
     @Override
     public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
         PrimarySkillType skill;
@@ -47,8 +55,7 @@ public class SkillresetCommand implements TabExecutor {
 
                 if (args[0].equalsIgnoreCase("all")) {
                     skill = null;
-                }
-                else {
+                } else {
                     skill = PrimarySkillType.getSkill(args[1]);
                 }
 
@@ -67,8 +74,7 @@ public class SkillresetCommand implements TabExecutor {
 
                 if (args[1].equalsIgnoreCase("all")) {
                     skill = null;
-                }
-                else {
+                } else {
                     skill = PrimarySkillType.getSkill(args[1]);
                 }
 
@@ -89,8 +95,7 @@ public class SkillresetCommand implements TabExecutor {
                     }
 
                     editValues(null, profile, skill);
-                }
-                else {
+                } else {
                     editValues(mcMMOPlayer.getPlayer(), mcMMOPlayer.getProfile(), skill);
                 }
 
@@ -149,15 +154,6 @@ public class SkillresetCommand implements TabExecutor {
         return skillName.equalsIgnoreCase("all") || !CommandUtils.isInvalidSkill(sender, skillName);
     }
 
-    protected static void handleSenderMessage(CommandSender sender, String playerName, PrimarySkillType skill) {
-        if (skill == null) {
-            sender.sendMessage(LocaleLoader.getString("Commands.addlevels.AwardAll.2", playerName));
-        }
-        else {
-            sender.sendMessage(LocaleLoader.getString("Commands.addlevels.AwardSkill.2", skill.getName(), playerName));
-        }
-    }
-
     protected void editValues(Player player, PlayerProfile profile, PrimarySkillType skill) {
         if (skill == null) {
             for (PrimarySkillType primarySkillType : PrimarySkillType.NON_CHILD_SKILLS) {
@@ -167,8 +163,7 @@ public class SkillresetCommand implements TabExecutor {
             if (player != null) {
                 handlePlayerMessageAll(player);
             }
-        }
-        else {
+        } else {
             handleCommand(player, profile, skill);
 
             if (player != null) {

+ 3 - 4
bukkit/src/main/java/com/gmail/nossr50/commands/hardcore/HardcoreCommand.java

@@ -1,10 +1,10 @@
 package com.gmail.nossr50.commands.hardcore;
 
 import com.gmail.nossr50.core.config.skills.Config;
-import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.locale.LocaleLoader;
-import com.gmail.nossr50.mcMMO;
+import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.util.Permissions;
+import com.gmail.nossr50.mcMMO;
 import org.bukkit.command.CommandSender;
 
 public class HardcoreCommand extends HardcoreModeCommand {
@@ -54,8 +54,7 @@ public class HardcoreCommand extends HardcoreModeCommand {
             for (PrimarySkillType primarySkillType : PrimarySkillType.NON_CHILD_SKILLS) {
                 primarySkillType.setHardcoreStatLossEnabled(enable);
             }
-        }
-        else {
+        } else {
             skill.setHardcoreStatLossEnabled(enable);
         }
 

+ 6 - 2
bukkit/src/main/java/com/gmail/nossr50/commands/hardcore/HardcoreModeCommand.java

@@ -28,8 +28,7 @@ public abstract class HardcoreModeCommand implements TabExecutor {
 
                 if (checkEnabled(null)) {
                     disable(null);
-                }
-                else {
+                } else {
                     enable(null);
                 }
 
@@ -122,9 +121,14 @@ public abstract class HardcoreModeCommand implements TabExecutor {
     }
 
     protected abstract boolean checkTogglePermissions(CommandSender sender);
+
     protected abstract boolean checkModifyPermissions(CommandSender sender);
+
     protected abstract boolean checkEnabled(PrimarySkillType skill);
+
     protected abstract void enable(PrimarySkillType skill);
+
     protected abstract void disable(PrimarySkillType skill);
+
     protected abstract void modify(CommandSender sender, double newPercentage);
 }

+ 3 - 4
bukkit/src/main/java/com/gmail/nossr50/commands/hardcore/VampirismCommand.java

@@ -1,10 +1,10 @@
 package com.gmail.nossr50.commands.hardcore;
 
 import com.gmail.nossr50.core.config.skills.Config;
-import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.locale.LocaleLoader;
-import com.gmail.nossr50.mcMMO;
+import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.util.Permissions;
+import com.gmail.nossr50.mcMMO;
 import org.bukkit.command.CommandSender;
 
 public class VampirismCommand extends HardcoreModeCommand {
@@ -54,8 +54,7 @@ public class VampirismCommand extends HardcoreModeCommand {
             for (PrimarySkillType primarySkillType : PrimarySkillType.NON_CHILD_SKILLS) {
                 primarySkillType.setHardcoreVampirismEnabled(enable);
             }
-        }
-        else {
+        } else {
             skill.setHardcoreVampirismEnabled(enable);
         }
 

+ 1 - 1
bukkit/src/main/java/com/gmail/nossr50/commands/party/PartyAcceptCommand.java

@@ -1,9 +1,9 @@
 package com.gmail.nossr50.commands.party;
 
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.player.McMMOPlayer;
 import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.party.PartyManager;
-import com.gmail.nossr50.core.data.UserManager;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandExecutor;
 import org.bukkit.command.CommandSender;

+ 2 - 2
bukkit/src/main/java/com/gmail/nossr50/commands/party/PartyChangeOwnerCommand.java

@@ -1,11 +1,11 @@
 package com.gmail.nossr50.commands.party;
 
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.party.Party;
 import com.gmail.nossr50.core.locale.LocaleLoader;
-import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.core.party.PartyManager;
 import com.gmail.nossr50.core.util.commands.CommandUtils;
-import com.gmail.nossr50.core.data.UserManager;
+import com.gmail.nossr50.mcMMO;
 import org.bukkit.OfflinePlayer;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandExecutor;

+ 1 - 1
bukkit/src/main/java/com/gmail/nossr50/commands/party/PartyChangePasswordCommand.java

@@ -1,8 +1,8 @@
 package com.gmail.nossr50.commands.party;
 
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.party.Party;
 import com.gmail.nossr50.core.locale.LocaleLoader;
-import com.gmail.nossr50.core.data.UserManager;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandExecutor;
 import org.bukkit.command.CommandSender;

+ 18 - 18
bukkit/src/main/java/com/gmail/nossr50/commands/party/PartyCommand.java

@@ -3,12 +3,12 @@ package com.gmail.nossr50.commands.party;
 import com.gmail.nossr50.commands.chat.PartyChatCommand;
 import com.gmail.nossr50.commands.party.alliance.PartyAllianceCommand;
 import com.gmail.nossr50.commands.party.teleport.PtpCommand;
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.party.Party;
 import com.gmail.nossr50.core.datatypes.player.McMMOPlayer;
 import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.util.Permissions;
 import com.gmail.nossr50.core.util.commands.CommandUtils;
-import com.gmail.nossr50.core.data.UserManager;
 import com.google.common.collect.ImmutableList;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandExecutor;
@@ -38,24 +38,24 @@ public class PartyCommand implements TabExecutor {
         PARTY_SUBCOMMANDS = ImmutableList.copyOf(subcommands);
     }
 
-    private CommandExecutor partyJoinCommand           = new PartyJoinCommand();
-    private CommandExecutor partyAcceptCommand         = new PartyAcceptCommand();
-    private CommandExecutor partyCreateCommand         = new PartyCreateCommand();
-    private CommandExecutor partyQuitCommand           = new PartyQuitCommand();
-    private CommandExecutor partyXpShareCommand        = new PartyXpShareCommand();
-    private CommandExecutor partyItemShareCommand      = new PartyItemShareCommand();
-    private CommandExecutor partyInviteCommand         = new PartyInviteCommand();
-    private CommandExecutor partyKickCommand           = new PartyKickCommand();
-    private CommandExecutor partyDisbandCommand        = new PartyDisbandCommand();
-    private CommandExecutor partyChangeOwnerCommand    = new PartyChangeOwnerCommand();
-    private CommandExecutor partyLockCommand           = new PartyLockCommand();
+    private CommandExecutor partyJoinCommand = new PartyJoinCommand();
+    private CommandExecutor partyAcceptCommand = new PartyAcceptCommand();
+    private CommandExecutor partyCreateCommand = new PartyCreateCommand();
+    private CommandExecutor partyQuitCommand = new PartyQuitCommand();
+    private CommandExecutor partyXpShareCommand = new PartyXpShareCommand();
+    private CommandExecutor partyItemShareCommand = new PartyItemShareCommand();
+    private CommandExecutor partyInviteCommand = new PartyInviteCommand();
+    private CommandExecutor partyKickCommand = new PartyKickCommand();
+    private CommandExecutor partyDisbandCommand = new PartyDisbandCommand();
+    private CommandExecutor partyChangeOwnerCommand = new PartyChangeOwnerCommand();
+    private CommandExecutor partyLockCommand = new PartyLockCommand();
     private CommandExecutor partyChangePasswordCommand = new PartyChangePasswordCommand();
-    private CommandExecutor partyRenameCommand         = new PartyRenameCommand();
-    private CommandExecutor partyInfoCommand           = new PartyInfoCommand();
-    private CommandExecutor partyHelpCommand           = new PartyHelpCommand();
-    private CommandExecutor partyTeleportCommand       = new PtpCommand();
-    private CommandExecutor partyChatCommand           = new PartyChatCommand();
-    private CommandExecutor partyAllianceCommand       = new PartyAllianceCommand();
+    private CommandExecutor partyRenameCommand = new PartyRenameCommand();
+    private CommandExecutor partyInfoCommand = new PartyInfoCommand();
+    private CommandExecutor partyHelpCommand = new PartyHelpCommand();
+    private CommandExecutor partyTeleportCommand = new PtpCommand();
+    private CommandExecutor partyChatCommand = new PartyChatCommand();
+    private CommandExecutor partyAllianceCommand = new PartyAllianceCommand();
 
     @Override
     public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {

+ 1 - 1
bukkit/src/main/java/com/gmail/nossr50/commands/party/PartyCreateCommand.java

@@ -1,9 +1,9 @@
 package com.gmail.nossr50.commands.party;
 
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.player.McMMOPlayer;
 import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.party.PartyManager;
-import com.gmail.nossr50.core.data.UserManager;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandExecutor;
 import org.bukkit.command.CommandSender;

+ 2 - 2
bukkit/src/main/java/com/gmail/nossr50/commands/party/PartyDisbandCommand.java

@@ -1,10 +1,10 @@
 package com.gmail.nossr50.commands.party;
 
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.party.Party;
-import com.gmail.nossr50.events.party.McMMOPartyChangeEvent.EventReason;
 import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.party.PartyManager;
-import com.gmail.nossr50.core.data.UserManager;
+import com.gmail.nossr50.events.party.McMMOPartyChangeEvent.EventReason;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandExecutor;
 import org.bukkit.command.CommandSender;

+ 3 - 4
bukkit/src/main/java/com/gmail/nossr50/commands/party/PartyInfoCommand.java

@@ -1,13 +1,13 @@
 package com.gmail.nossr50.commands.party;
 
 import com.gmail.nossr50.core.config.skills.Config;
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.party.Party;
 import com.gmail.nossr50.core.datatypes.party.PartyFeature;
 import com.gmail.nossr50.core.datatypes.party.ShareMode;
 import com.gmail.nossr50.core.datatypes.player.McMMOPlayer;
 import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.party.PartyManager;
-import com.gmail.nossr50.core.data.UserManager;
 import org.bukkit.ChatColor;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandExecutor;
@@ -65,8 +65,7 @@ public class PartyInfoCommand implements CommandExecutor {
 
             if (isUnlockedFeature(party, partyFeature)) {
                 unlockedPartyFeatures.add(partyFeature.getLocaleString());
-            }
-            else {
+            } else {
                 lockedPartyFeatures.add(partyFeature.getFeatureLockedLocaleString());
             }
         }
@@ -123,7 +122,7 @@ public class PartyInfoCommand implements CommandExecutor {
         int membersOnline = party.getVisibleMembers(player).size();
 
         player.sendMessage(LocaleLoader.getString("Commands.Party.Members.Header"));
-        player.sendMessage(LocaleLoader.getString("Commands.Party.MembersNear", nearMembers.size()+1, membersOnline));
+        player.sendMessage(LocaleLoader.getString("Commands.Party.MembersNear", nearMembers.size() + 1, membersOnline));
         player.sendMessage(party.createMembersList(player));
     }
 }

+ 2 - 3
bukkit/src/main/java/com/gmail/nossr50/commands/party/PartyInviteCommand.java

@@ -1,12 +1,12 @@
 package com.gmail.nossr50.commands.party;
 
 import com.gmail.nossr50.core.config.skills.Config;
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.party.Party;
 import com.gmail.nossr50.core.datatypes.player.McMMOPlayer;
 import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.party.PartyManager;
 import com.gmail.nossr50.core.util.commands.CommandUtils;
-import com.gmail.nossr50.core.data.UserManager;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandExecutor;
 import org.bukkit.command.CommandSender;
@@ -46,8 +46,7 @@ public class PartyInviteCommand implements CommandExecutor {
 
                 Party playerParty = mcMMOPlayer.getParty();
 
-                if(PartyManager.isPartyFull(target, playerParty))
-                {
+                if (PartyManager.isPartyFull(target, playerParty)) {
                     player.sendMessage(LocaleLoader.getString("Commands.Party.PartyFull.Invite", target.getName(), playerParty.toString(), Config.getInstance().getPartyMaxSize()));
                     return true;
                 }

+ 4 - 7
bukkit/src/main/java/com/gmail/nossr50/commands/party/PartyItemShareCommand.java

@@ -1,6 +1,7 @@
 package com.gmail.nossr50.commands.party;
 
 import com.gmail.nossr50.core.config.skills.Config;
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.party.ItemShareType;
 import com.gmail.nossr50.core.datatypes.party.Party;
 import com.gmail.nossr50.core.datatypes.party.PartyFeature;
@@ -8,7 +9,6 @@ import com.gmail.nossr50.core.datatypes.party.ShareMode;
 import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.util.StringUtils;
 import com.gmail.nossr50.core.util.commands.CommandUtils;
-import com.gmail.nossr50.core.data.UserManager;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandExecutor;
 import org.bukkit.command.CommandSender;
@@ -41,19 +41,16 @@ public class PartyItemShareCommand implements CommandExecutor {
 
                 if (CommandUtils.shouldEnableToggle(args[2])) {
                     toggle = true;
-                }
-                else if (CommandUtils.shouldDisableToggle(args[2])) {
+                } else if (CommandUtils.shouldDisableToggle(args[2])) {
                     toggle = false;
-                }
-                else {
+                } else {
                     sender.sendMessage(LocaleLoader.getString("Commands.Usage.2", "party", "itemshare", "<loot | mining | herbalism | woodcutting | misc> <true | false>"));
                     return true;
                 }
 
                 try {
                     handleToggleItemShareCategory(party, ItemShareType.valueOf(args[1].toUpperCase()), toggle);
-                }
-                catch (IllegalArgumentException ex) {
+                } catch (IllegalArgumentException ex) {
                     sender.sendMessage(LocaleLoader.getString("Commands.Usage.2", "party", "itemshare", "<loot | mining | herbalism | woodcutting | misc> <true | false>"));
                 }
 

+ 2 - 3
bukkit/src/main/java/com/gmail/nossr50/commands/party/PartyJoinCommand.java

@@ -1,11 +1,11 @@
 package com.gmail.nossr50.commands.party;
 
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.party.Party;
 import com.gmail.nossr50.core.datatypes.player.McMMOPlayer;
 import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.party.PartyManager;
 import com.gmail.nossr50.core.util.commands.CommandUtils;
-import com.gmail.nossr50.core.data.UserManager;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandExecutor;
 import org.bukkit.command.CommandSender;
@@ -54,8 +54,7 @@ public class PartyJoinCommand implements CommandExecutor {
                     return true;
                 }
 
-                if(PartyManager.isPartyFull(player, targetParty))
-                {
+                if (PartyManager.isPartyFull(player, targetParty)) {
                     player.sendMessage(LocaleLoader.getString("Commands.Party.PartyFull", targetParty.toString()));
                     return true;
                 }

+ 3 - 3
bukkit/src/main/java/com/gmail/nossr50/commands/party/PartyKickCommand.java

@@ -1,12 +1,12 @@
 package com.gmail.nossr50.commands.party;
 
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.party.Party;
-import com.gmail.nossr50.events.party.McMMOPartyChangeEvent.EventReason;
 import com.gmail.nossr50.core.locale.LocaleLoader;
-import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.core.party.PartyManager;
 import com.gmail.nossr50.core.util.commands.CommandUtils;
-import com.gmail.nossr50.core.data.UserManager;
+import com.gmail.nossr50.events.party.McMMOPartyChangeEvent.EventReason;
+import com.gmail.nossr50.mcMMO;
 import org.bukkit.OfflinePlayer;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandExecutor;

+ 4 - 7
bukkit/src/main/java/com/gmail/nossr50/commands/party/PartyLockCommand.java

@@ -1,10 +1,10 @@
 package com.gmail.nossr50.commands.party;
 
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.party.Party;
 import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.util.Permissions;
 import com.gmail.nossr50.core.util.commands.CommandUtils;
-import com.gmail.nossr50.core.data.UserManager;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandExecutor;
 import org.bukkit.command.CommandSender;
@@ -17,8 +17,7 @@ public class PartyLockCommand implements CommandExecutor {
             case 1:
                 if (args[0].equalsIgnoreCase("lock")) {
                     togglePartyLock(sender, true);
-                }
-                else if (args[0].equalsIgnoreCase("unlock")) {
+                } else if (args[0].equalsIgnoreCase("unlock")) {
                     togglePartyLock(sender, false);
                 }
 
@@ -32,11 +31,9 @@ public class PartyLockCommand implements CommandExecutor {
 
                 if (CommandUtils.shouldEnableToggle(args[1])) {
                     togglePartyLock(sender, true);
-                }
-                else if (CommandUtils.shouldDisableToggle(args[1])) {
+                } else if (CommandUtils.shouldDisableToggle(args[1])) {
                     togglePartyLock(sender, false);
-                }
-                else {
+                } else {
                     sendUsageStrings(sender);
                 }
 

+ 2 - 2
bukkit/src/main/java/com/gmail/nossr50/commands/party/PartyQuitCommand.java

@@ -1,11 +1,11 @@
 package com.gmail.nossr50.commands.party;
 
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.party.Party;
 import com.gmail.nossr50.core.datatypes.player.McMMOPlayer;
-import com.gmail.nossr50.events.party.McMMOPartyChangeEvent.EventReason;
 import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.party.PartyManager;
-import com.gmail.nossr50.core.data.UserManager;
+import com.gmail.nossr50.events.party.McMMOPartyChangeEvent.EventReason;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandExecutor;
 import org.bukkit.command.CommandSender;

+ 2 - 2
bukkit/src/main/java/com/gmail/nossr50/commands/party/PartyRenameCommand.java

@@ -1,11 +1,11 @@
 package com.gmail.nossr50.commands.party;
 
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.party.Party;
 import com.gmail.nossr50.core.datatypes.player.McMMOPlayer;
-import com.gmail.nossr50.events.party.McMMOPartyChangeEvent.EventReason;
 import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.party.PartyManager;
-import com.gmail.nossr50.core.data.UserManager;
+import com.gmail.nossr50.events.party.McMMOPartyChangeEvent.EventReason;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandExecutor;
 import org.bukkit.command.CommandSender;

+ 5 - 10
bukkit/src/main/java/com/gmail/nossr50/commands/party/PartySubcommandType.java

@@ -30,20 +30,15 @@ public enum PartySubcommandType {
 
         if (commandName.equalsIgnoreCase("?")) {
             return HELP;
-        }
-        else if (commandName.equalsIgnoreCase("q") || commandName.equalsIgnoreCase("leave")) {
+        } else if (commandName.equalsIgnoreCase("q") || commandName.equalsIgnoreCase("leave")) {
             return QUIT;
-        }
-        else if (commandName.equalsIgnoreCase("leader")) {
+        } else if (commandName.equalsIgnoreCase("leader")) {
             return OWNER;
-        }
-        else if (commandName.equalsIgnoreCase("xpshare") || commandName.equalsIgnoreCase("shareexp") || commandName.equalsIgnoreCase("sharexp")) {
+        } else if (commandName.equalsIgnoreCase("xpshare") || commandName.equalsIgnoreCase("shareexp") || commandName.equalsIgnoreCase("sharexp")) {
             return XPSHARE;
-        }
-        else if (commandName.equalsIgnoreCase("shareitem") || commandName.equalsIgnoreCase("shareitems")) {
+        } else if (commandName.equalsIgnoreCase("shareitem") || commandName.equalsIgnoreCase("shareitems")) {
             return ITEMSHARE;
-        }
-        else if (commandName.equalsIgnoreCase("ally")) {
+        } else if (commandName.equalsIgnoreCase("ally")) {
             return ALLIANCE;
         }
 

+ 3 - 5
bukkit/src/main/java/com/gmail/nossr50/commands/party/PartyXpShareCommand.java

@@ -1,13 +1,13 @@
 package com.gmail.nossr50.commands.party;
 
 import com.gmail.nossr50.core.config.skills.Config;
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.party.Party;
 import com.gmail.nossr50.core.datatypes.party.PartyFeature;
 import com.gmail.nossr50.core.datatypes.party.ShareMode;
 import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.util.StringUtils;
 import com.gmail.nossr50.core.util.commands.CommandUtils;
-import com.gmail.nossr50.core.data.UserManager;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandExecutor;
 import org.bukkit.command.CommandSender;
@@ -27,11 +27,9 @@ public class PartyXpShareCommand implements CommandExecutor {
             case 2:
                 if (args[1].equalsIgnoreCase("none") || CommandUtils.shouldDisableToggle(args[1])) {
                     handleChangingShareMode(party, ShareMode.NONE);
-                }
-                else if (args[1].equalsIgnoreCase("equal") || args[1].equalsIgnoreCase("even") || CommandUtils.shouldEnableToggle(args[1])) {
+                } else if (args[1].equalsIgnoreCase("equal") || args[1].equalsIgnoreCase("even") || CommandUtils.shouldEnableToggle(args[1])) {
                     handleChangingShareMode(party, ShareMode.EQUAL);
-                }
-                else {
+                } else {
                     sender.sendMessage(LocaleLoader.getString("Commands.Usage.2", "party", "xpshare", "<NONE | EQUAL>"));
                 }
 

+ 1 - 1
bukkit/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceAcceptCommand.java

@@ -1,9 +1,9 @@
 package com.gmail.nossr50.commands.party.alliance;
 
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.player.McMMOPlayer;
 import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.party.PartyManager;
-import com.gmail.nossr50.core.data.UserManager;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandExecutor;
 import org.bukkit.command.CommandSender;

+ 2 - 4
bukkit/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceCommand.java

@@ -1,13 +1,13 @@
 package com.gmail.nossr50.commands.party.alliance;
 
 import com.gmail.nossr50.core.config.skills.Config;
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.party.Party;
 import com.gmail.nossr50.core.datatypes.party.PartyFeature;
 import com.gmail.nossr50.core.datatypes.player.McMMOPlayer;
 import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.party.PartyManager;
 import com.gmail.nossr50.core.util.commands.CommandUtils;
-import com.gmail.nossr50.core.data.UserManager;
 import com.google.common.collect.ImmutableList;
 import org.bukkit.ChatColor;
 import org.bukkit.command.Command;
@@ -21,12 +21,10 @@ import java.util.ArrayList;
 import java.util.List;
 
 public class PartyAllianceCommand implements TabExecutor {
+    public static final List<String> ALLIANCE_SUBCOMMANDS = ImmutableList.of("invite", "accept", "disband");
     private Player player;
     private Party playerParty;
     private Party targetParty;
-
-    public static final List<String> ALLIANCE_SUBCOMMANDS = ImmutableList.of("invite", "accept", "disband");
-
     private CommandExecutor partyAllianceInviteCommand = new PartyAllianceInviteCommand();
     private CommandExecutor partyAllianceAcceptCommand = new PartyAllianceAcceptCommand();
     private CommandExecutor partyAllianceDisbandCommand = new PartyAllianceDisbandCommand();

+ 1 - 1
bukkit/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceDisbandCommand.java

@@ -1,10 +1,10 @@
 package com.gmail.nossr50.commands.party.alliance;
 
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.party.Party;
 import com.gmail.nossr50.core.datatypes.player.McMMOPlayer;
 import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.party.PartyManager;
-import com.gmail.nossr50.core.data.UserManager;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandExecutor;
 import org.bukkit.command.CommandSender;

+ 1 - 1
bukkit/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceInviteCommand.java

@@ -1,11 +1,11 @@
 package com.gmail.nossr50.commands.party.alliance;
 
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.party.Party;
 import com.gmail.nossr50.core.datatypes.player.McMMOPlayer;
 import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.party.PartyManager;
 import com.gmail.nossr50.core.util.commands.CommandUtils;
-import com.gmail.nossr50.core.data.UserManager;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandExecutor;
 import org.bukkit.command.CommandSender;

+ 2 - 3
bukkit/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpAcceptAnyCommand.java

@@ -1,9 +1,9 @@
 package com.gmail.nossr50.commands.party.teleport;
 
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.party.PartyTeleportRecord;
 import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.util.Permissions;
-import com.gmail.nossr50.core.data.UserManager;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandExecutor;
 import org.bukkit.command.CommandSender;
@@ -20,8 +20,7 @@ public class PtpAcceptAnyCommand implements CommandExecutor {
 
         if (ptpRecord.isConfirmRequired()) {
             sender.sendMessage(LocaleLoader.getString("Commands.ptp.AcceptAny.Disabled"));
-        }
-        else {
+        } else {
             sender.sendMessage(LocaleLoader.getString("Commands.ptp.AcceptAny.Enabled"));
         }
 

+ 2 - 3
bukkit/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpAcceptCommand.java

@@ -1,10 +1,10 @@
 package com.gmail.nossr50.commands.party.teleport;
 
 import com.gmail.nossr50.core.config.skills.Config;
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.party.PartyTeleportRecord;
 import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.util.Permissions;
-import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.util.skills.SkillUtils;
 import org.bukkit.World;
 import org.bukkit.command.Command;
@@ -49,8 +49,7 @@ public class PtpAcceptCommand implements CommandExecutor {
                 if (!Permissions.partyTeleportWorld(target, targetWorld)) {
                     target.sendMessage(LocaleLoader.getString("Commands.ptp.NoWorldPermissions", targetWorld.getName()));
                     return true;
-                }
-                else if (targetWorld != playerWorld && !Permissions.partyTeleportWorld(target, playerWorld)) {
+                } else if (targetWorld != playerWorld && !Permissions.partyTeleportWorld(target, playerWorld)) {
                     target.sendMessage(LocaleLoader.getString("Commands.ptp.NoWorldPermissions", playerWorld.getName()));
                     return true;
                 }

+ 53 - 55
bukkit/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpCommand.java

@@ -2,22 +2,22 @@ package com.gmail.nossr50.commands.party.teleport;
 
 import com.gmail.nossr50.core.config.skills.Config;
 import com.gmail.nossr50.core.config.skills.WorldBlacklist;
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.party.Party;
 import com.gmail.nossr50.core.datatypes.party.PartyFeature;
 import com.gmail.nossr50.core.datatypes.party.PartyTeleportRecord;
 import com.gmail.nossr50.core.datatypes.player.McMMOPlayer;
 import com.gmail.nossr50.core.locale.LocaleLoader;
-import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.core.party.PartyManager;
 import com.gmail.nossr50.core.runnables.items.TeleportationWarmup;
 import com.gmail.nossr50.core.util.EventUtils;
 import com.gmail.nossr50.core.util.Misc;
 import com.gmail.nossr50.core.util.Permissions;
 import com.gmail.nossr50.core.util.commands.CommandUtils;
-import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.util.skills.SkillUtils;
 import com.gmail.nossr50.core.worldguard.WorldGuardManager;
 import com.gmail.nossr50.core.worldguard.WorldGuardUtils;
+import com.gmail.nossr50.mcMMO;
 import com.google.common.collect.ImmutableList;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandExecutor;
@@ -36,6 +36,54 @@ public class PtpCommand implements TabExecutor {
     private CommandExecutor ptpAcceptAnyCommand = new PtpAcceptAnyCommand();
     private CommandExecutor ptpAcceptCommand = new PtpAcceptCommand();
 
+    protected static boolean canTeleport(CommandSender sender, Player player, String targetName) {
+        McMMOPlayer mcMMOTarget = UserManager.getPlayer(targetName);
+
+        if (!CommandUtils.checkPlayerExistence(sender, targetName, mcMMOTarget)) {
+            return false;
+        }
+
+        Player target = mcMMOTarget.getPlayer();
+
+        if (player.equals(target)) {
+            player.sendMessage(LocaleLoader.getString("Party.Teleport.Self"));
+            return false;
+        }
+
+        if (!PartyManager.inSameParty(player, target)) {
+            player.sendMessage(LocaleLoader.getString("Party.NotInYourParty", targetName));
+            return false;
+        }
+
+        if (!mcMMOTarget.getPartyTeleportRecord().isEnabled()) {
+            player.sendMessage(LocaleLoader.getString("Party.Teleport.Disabled", targetName));
+            return false;
+        }
+
+        if (!target.isValid()) {
+            player.sendMessage(LocaleLoader.getString("Party.Teleport.Dead"));
+            return false;
+        }
+
+        return true;
+    }
+
+    protected static void handleTeleportWarmup(Player teleportingPlayer, Player targetPlayer) {
+        McMMOPlayer mcMMOPlayer = UserManager.getPlayer(teleportingPlayer);
+        McMMOPlayer mcMMOTarget = UserManager.getPlayer(targetPlayer);
+
+        long warmup = Config.getInstance().getPTPCommandWarmup();
+
+        mcMMOPlayer.actualizeTeleportCommenceLocation(teleportingPlayer);
+
+        if (warmup > 0) {
+            teleportingPlayer.sendMessage(LocaleLoader.getString("Teleport.Commencing", warmup));
+            new TeleportationWarmup(mcMMOPlayer, mcMMOTarget).runTaskLater(mcMMO.p, 20 * warmup);
+        } else {
+            EventUtils.handlePartyTeleportEvent(teleportingPlayer, targetPlayer);
+        }
+    }
+
     @Override
     public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
         if (CommandUtils.noConsoleUsage(sender)) {
@@ -45,14 +93,13 @@ public class PtpCommand implements TabExecutor {
         Player player = (Player) sender;
 
         /* WORLD GUARD MAIN FLAG CHECK */
-        if(WorldGuardUtils.isWorldGuardLoaded())
-        {
-            if(!WorldGuardManager.getInstance().hasMainFlag(player))
+        if (WorldGuardUtils.isWorldGuardLoaded()) {
+            if (!WorldGuardManager.getInstance().hasMainFlag(player))
                 return true;
         }
 
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(player.getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(player.getWorld()))
             return true;
 
         if (!UserManager.hasPlayerDataKey(player)) {
@@ -171,53 +218,4 @@ public class PtpCommand implements TabExecutor {
         target.sendMessage(LocaleLoader.getString("Commands.ptp.Request1", player.getName()));
         target.sendMessage(LocaleLoader.getString("Commands.ptp.Request2", Config.getInstance().getPTPCommandTimeout()));
     }
-
-    protected static boolean canTeleport(CommandSender sender, Player player, String targetName) {
-        McMMOPlayer mcMMOTarget = UserManager.getPlayer(targetName);
-
-        if (!CommandUtils.checkPlayerExistence(sender, targetName, mcMMOTarget)) {
-            return false;
-        }
-
-        Player target = mcMMOTarget.getPlayer();
-
-        if (player.equals(target)) {
-            player.sendMessage(LocaleLoader.getString("Party.Teleport.Self"));
-            return false;
-        }
-
-        if (!PartyManager.inSameParty(player, target)) {
-            player.sendMessage(LocaleLoader.getString("Party.NotInYourParty", targetName));
-            return false;
-        }
-
-        if (!mcMMOTarget.getPartyTeleportRecord().isEnabled()) {
-            player.sendMessage(LocaleLoader.getString("Party.Teleport.Disabled", targetName));
-            return false;
-        }
-
-        if (!target.isValid()) {
-            player.sendMessage(LocaleLoader.getString("Party.Teleport.Dead"));
-            return false;
-        }
-
-        return true;
-    }
-
-    protected static void handleTeleportWarmup(Player teleportingPlayer, Player targetPlayer) {
-        McMMOPlayer mcMMOPlayer = UserManager.getPlayer(teleportingPlayer);
-        McMMOPlayer mcMMOTarget = UserManager.getPlayer(targetPlayer);
-
-        long warmup = Config.getInstance().getPTPCommandWarmup();
-
-        mcMMOPlayer.actualizeTeleportCommenceLocation(teleportingPlayer);
-
-        if (warmup > 0) {
-            teleportingPlayer.sendMessage(LocaleLoader.getString("Teleport.Commencing", warmup));
-            new TeleportationWarmup(mcMMOPlayer, mcMMOTarget).runTaskLater(mcMMO.p, 20 * warmup);
-        }
-        else {
-            EventUtils.handlePartyTeleportEvent(teleportingPlayer, targetPlayer);
-        }
-    }
 }

+ 2 - 3
bukkit/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpToggleCommand.java

@@ -1,9 +1,9 @@
 package com.gmail.nossr50.commands.party.teleport;
 
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.party.PartyTeleportRecord;
 import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.util.Permissions;
-import com.gmail.nossr50.core.data.UserManager;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandExecutor;
 import org.bukkit.command.CommandSender;
@@ -20,8 +20,7 @@ public class PtpToggleCommand implements CommandExecutor {
 
         if (ptpRecord.isEnabled()) {
             sender.sendMessage(LocaleLoader.getString("Commands.ptp.Disabled"));
-        }
-        else {
+        } else {
             sender.sendMessage(LocaleLoader.getString("Commands.ptp.Enabled"));
         }
 

+ 5 - 7
bukkit/src/main/java/com/gmail/nossr50/commands/player/InspectCommand.java

@@ -1,15 +1,15 @@
 package com.gmail.nossr50.commands.player;
 
 import com.gmail.nossr50.core.config.skills.Config;
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.player.McMMOPlayer;
 import com.gmail.nossr50.core.datatypes.player.PlayerProfile;
-import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.locale.LocaleLoader;
-import com.gmail.nossr50.mcMMO;
+import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.util.Permissions;
 import com.gmail.nossr50.core.util.commands.CommandUtils;
-import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.util.scoreboards.ScoreboardManager;
+import com.gmail.nossr50.mcMMO;
 import com.google.common.collect.ImmutableList;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandSender;
@@ -65,8 +65,7 @@ public class InspectCommand implements TabExecutor {
                         sender.sendMessage(CommandUtils.displaySkill(profile, skill));
                     }
 
-                }
-                else {
+                } else {
                     Player target = mcMMOPlayer.getPlayer();
 
                     if (CommandUtils.hidden(sender, target, Permissions.inspectHidden(sender))) {
@@ -74,8 +73,7 @@ public class InspectCommand implements TabExecutor {
                             sender.sendMessage(LocaleLoader.getString("Inspect.Offline"));
                             return true;
                         }
-                    }
-                    else if (CommandUtils.tooFar(sender, target, Permissions.inspectFar(sender))) {
+                    } else if (CommandUtils.tooFar(sender, target, Permissions.inspectFar(sender))) {
                         return true;
                     }
 

+ 3 - 4
bukkit/src/main/java/com/gmail/nossr50/commands/player/MccooldownCommand.java

@@ -1,11 +1,11 @@
 package com.gmail.nossr50.commands.player;
 
 import com.gmail.nossr50.core.config.skills.Config;
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.player.McMMOPlayer;
-import com.gmail.nossr50.core.skills.SuperAbilityType;
 import com.gmail.nossr50.core.locale.LocaleLoader;
+import com.gmail.nossr50.core.skills.SuperAbilityType;
 import com.gmail.nossr50.core.util.commands.CommandUtils;
-import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.util.scoreboards.ScoreboardManager;
 import com.google.common.collect.ImmutableList;
 import org.bukkit.command.Command;
@@ -52,8 +52,7 @@ public class MccooldownCommand implements TabExecutor {
 
                     if (seconds <= 0) {
                         player.sendMessage(LocaleLoader.getString("Commands.Cooldowns.Row.Y", ability.getName()));
-                    }
-                    else {
+                    } else {
                         player.sendMessage(LocaleLoader.getString("Commands.Cooldowns.Row.N", ability.getName(), seconds));
                     }
                 }

+ 3 - 4
bukkit/src/main/java/com/gmail/nossr50/commands/player/McrankCommand.java

@@ -1,13 +1,13 @@
 package com.gmail.nossr50.commands.player;
 
 import com.gmail.nossr50.core.config.skills.Config;
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.player.McMMOPlayer;
 import com.gmail.nossr50.core.locale.LocaleLoader;
-import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.core.runnables.commands.McrankCommandAsyncTask;
 import com.gmail.nossr50.core.util.Permissions;
 import com.gmail.nossr50.core.util.commands.CommandUtils;
-import com.gmail.nossr50.core.data.UserManager;
+import com.gmail.nossr50.mcMMO;
 import com.google.common.collect.ImmutableList;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandSender;
@@ -61,8 +61,7 @@ public class McrankCommand implements TabExecutor {
                     if (CommandUtils.tooFar(sender, player, Permissions.mcrankFar(sender))) {
                         return true;
                     }
-                }
-                else if (CommandUtils.inspectOffline(sender, mcMMO.getDatabaseManager().loadPlayerProfile(playerName, false), Permissions.mcrankOffline(sender))) {
+                } else if (CommandUtils.inspectOffline(sender, mcMMO.getDatabaseManager().loadPlayerProfile(playerName, false), Permissions.mcrankOffline(sender))) {
                     return true;
                 }
 

+ 2 - 3
bukkit/src/main/java/com/gmail/nossr50/commands/player/McstatsCommand.java

@@ -1,9 +1,9 @@
 package com.gmail.nossr50.commands.player;
 
 import com.gmail.nossr50.core.config.skills.Config;
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.util.commands.CommandUtils;
-import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.util.scoreboards.ScoreboardManager;
 import com.google.common.collect.ImmutableList;
 import org.bukkit.command.Command;
@@ -47,8 +47,7 @@ public class McstatsCommand implements TabExecutor {
 
                 if (powerLevelCap != Integer.MAX_VALUE) {
                     player.sendMessage(LocaleLoader.getString("Commands.PowerLevel.Capped", UserManager.getPlayer(player).getPowerLevel(), powerLevelCap));
-                }
-                else {
+                } else {
                     player.sendMessage(LocaleLoader.getString("Commands.PowerLevel", UserManager.getPlayer(player).getPowerLevel()));
                 }
 

+ 3 - 3
bukkit/src/main/java/com/gmail/nossr50/commands/player/MctopCommand.java

@@ -1,15 +1,15 @@
 package com.gmail.nossr50.commands.player;
 
 import com.gmail.nossr50.core.config.skills.Config;
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.player.McMMOPlayer;
-import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.locale.LocaleLoader;
-import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.core.runnables.commands.MctopCommandAsyncTask;
+import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.util.Permissions;
 import com.gmail.nossr50.core.util.StringUtils;
 import com.gmail.nossr50.core.util.commands.CommandUtils;
-import com.gmail.nossr50.core.data.UserManager;
+import com.gmail.nossr50.mcMMO;
 import com.google.common.collect.ImmutableList;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandSender;

+ 8 - 9
bukkit/src/main/java/com/gmail/nossr50/commands/skills/AcrobaticsCommand.java

@@ -1,14 +1,14 @@
 package com.gmail.nossr50.commands.skills;
 
+import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.skills.SubSkillType;
 import com.gmail.nossr50.core.skills.subskills.AbstractSubSkill;
-import com.gmail.nossr50.listeners.InteractionManager;
-import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.util.TextComponentFactory;
 import com.gmail.nossr50.core.util.random.RandomChanceSkill;
 import com.gmail.nossr50.core.util.random.RandomChanceUtil;
 import com.gmail.nossr50.core.util.skills.SkillActivationType;
+import com.gmail.nossr50.listeners.InteractionManager;
 import net.md_5.bungee.api.chat.TextComponent;
 import org.bukkit.entity.Player;
 
@@ -50,31 +50,30 @@ public class AcrobaticsCommand extends SkillCommand {
             messages.add(getStatMessage(SubSkillType.ACROBATICS_DODGE, dodgeChance)
                     + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", dodgeChanceLucky) : ""));
         }
-        
+
         if (canRoll) {
 
             AbstractSubSkill abstractSubSkill = InteractionManager.getAbstractByName("Roll");
 
-            if(abstractSubSkill != null)
-            {
+            if (abstractSubSkill != null) {
                 double rollChance, graceChance;
 
                 //Chance to roll at half
-                RandomChanceSkill roll_rcs  = new RandomChanceSkill(player, SubSkillType.ACROBATICS_ROLL);
+                RandomChanceSkill roll_rcs = new RandomChanceSkill(player, SubSkillType.ACROBATICS_ROLL);
 
                 //Chance to graceful roll
                 RandomChanceSkill grace_rcs = new RandomChanceSkill(player, SubSkillType.ACROBATICS_ROLL);
                 grace_rcs.setSkillLevel(grace_rcs.getSkillLevel() * 2); //Double Odds
 
                 //Chance Stat Calculations
-                rollChance       = RandomChanceUtil.getRandomChanceExecutionChance(roll_rcs);
-                graceChance      = RandomChanceUtil.getRandomChanceExecutionChance(grace_rcs);
+                rollChance = RandomChanceUtil.getRandomChanceExecutionChance(roll_rcs);
+                graceChance = RandomChanceUtil.getRandomChanceExecutionChance(grace_rcs);
                 //damageThreshold  = AdvancedConfig.getInstance().getRollDamageThreshold();
 
                 String rollStrings[] = getAbilityDisplayValues(SkillActivationType.RANDOM_LINEAR_100_SCALE_WITH_CAP, player, SubSkillType.ACROBATICS_ROLL);
 
                 //Format
-                double rollChanceLucky  = rollChance * 1.333D;
+                double rollChanceLucky = rollChance * 1.333D;
                 double graceChanceLucky = graceChance * 1.333D;
 
                 messages.add(getStatMessage(SubSkillType.ACROBATICS_ROLL, rollStrings[0])

+ 4 - 4
bukkit/src/main/java/com/gmail/nossr50/commands/skills/AlchemyCommand.java

@@ -1,12 +1,12 @@
 package com.gmail.nossr50.commands.skills;
 
+import com.gmail.nossr50.core.data.UserManager;
+import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.skills.SubSkillType;
-import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.skills.primary.alchemy.AlchemyManager;
 import com.gmail.nossr50.core.util.Permissions;
 import com.gmail.nossr50.core.util.TextComponentFactory;
-import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.util.skills.RankUtils;
 import net.md_5.bungee.api.chat.TextComponent;
 import org.bukkit.entity.Player;
@@ -18,8 +18,8 @@ public class AlchemyCommand extends SkillCommand {
     private String brewSpeed;
     private String brewSpeedLucky;
 
-    private int    tier;
-    private int    ingredientCount;
+    private int tier;
+    private int ingredientCount;
     private String ingredientList;
 
     private boolean canCatalysis;

+ 1 - 2
bukkit/src/main/java/com/gmail/nossr50/commands/skills/AprilCommand.java

@@ -16,10 +16,9 @@ import java.util.ArrayList;
 import java.util.List;
 
 public class AprilCommand implements TabExecutor {
-    private String skillName;
-
     protected DecimalFormat percent = new DecimalFormat("##0.00%");
     protected DecimalFormat decimal = new DecimalFormat("##0.00");
+    private String skillName;
 
     @Override
     public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {

+ 5 - 5
bukkit/src/main/java/com/gmail/nossr50/commands/skills/ArcheryCommand.java

@@ -1,8 +1,8 @@
 package com.gmail.nossr50.commands.skills;
 
+import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.skills.SubSkillType;
-import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.skills.primary.archery.Archery;
 import com.gmail.nossr50.core.util.TextComponentFactory;
 import com.gmail.nossr50.core.util.skills.SkillActivationType;
@@ -35,14 +35,14 @@ public class ArcheryCommand extends SkillCommand {
             retrieveChance = retrieveStrings[0];
             retrieveChanceLucky = retrieveStrings[1];
         }
-        
+
         // ARCHERY_DAZE
         if (canDaze) {
             String[] dazeStrings = getAbilityDisplayValues(SkillActivationType.RANDOM_LINEAR_100_SCALE_WITH_CAP, player, SubSkillType.ARCHERY_DAZE);
             dazeChance = dazeStrings[0];
             dazeChanceLucky = dazeStrings[1];
         }
-        
+
         // SKILL SHOT
         if (canSkillShot) {
             skillShotBonus = percent.format(Archery.getDamageBonusPercent(player));
@@ -64,12 +64,12 @@ public class ArcheryCommand extends SkillCommand {
             messages.add(getStatMessage(SubSkillType.ARCHERY_ARROW_RETRIEVAL, retrieveChance)
                     + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", retrieveChanceLucky) : ""));
         }
-        
+
         if (canDaze) {
             messages.add(getStatMessage(SubSkillType.ARCHERY_DAZE, dazeChance)
                     + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", dazeChanceLucky) : ""));
         }
-        
+
         if (canSkillShot) {
             messages.add(getStatMessage(SubSkillType.ARCHERY_SKILL_SHOT, skillShotBonus));
         }

+ 6 - 6
bukkit/src/main/java/com/gmail/nossr50/commands/skills/AxesCommand.java

@@ -1,12 +1,12 @@
 package com.gmail.nossr50.commands.skills;
 
+import com.gmail.nossr50.core.data.UserManager;
+import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.skills.SubSkillType;
-import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.skills.primary.axes.Axes;
 import com.gmail.nossr50.core.util.Permissions;
 import com.gmail.nossr50.core.util.TextComponentFactory;
-import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.util.skills.RankUtils;
 import com.gmail.nossr50.core.util.skills.SkillActivationType;
 import net.md_5.bungee.api.chat.TextComponent;
@@ -44,14 +44,14 @@ public class AxesCommand extends SkillCommand {
         if (canAxeMastery) {
             axeMasteryDamage = Axes.getAxeMasteryBonusDamage(player);
         }
-        
+
         // CRITICAL HIT
         if (canCritical) {
             String[] criticalHitStrings = getAbilityDisplayValues(SkillActivationType.RANDOM_LINEAR_100_SCALE_WITH_CAP, player, SubSkillType.AXES_CRITICAL_STRIKES);
             critChance = criticalHitStrings[0];
             critChanceLucky = criticalHitStrings[1];
         }
-        
+
         // SKULL SPLITTER
         if (canSkullSplitter) {
             String[] skullSplitterStrings = calculateLengthDisplayValues(player, skillValue);
@@ -76,7 +76,7 @@ public class AxesCommand extends SkillCommand {
         if (canImpact) {
             messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Axes.Ability.Bonus.2"), LocaleLoader.getString("Axes.Ability.Bonus.3", impactDamage)));
         }
-        
+
         if (canAxeMastery) {
             messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Axes.Ability.Bonus.0"), LocaleLoader.getString("Axes.Ability.Bonus.1", axeMasteryDamage)));
         }
@@ -85,7 +85,7 @@ public class AxesCommand extends SkillCommand {
             messages.add(getStatMessage(SubSkillType.AXES_CRITICAL_STRIKES, critChance)
                     + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", critChanceLucky) : ""));
         }
-        
+
         if (canGreaterImpact) {
             messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Axes.Ability.Bonus.4"), LocaleLoader.getString("Axes.Ability.Bonus.5", Axes.greaterImpactBonusDamage)));
         }

+ 1 - 1
bukkit/src/main/java/com/gmail/nossr50/commands/skills/ExcavationCommand.java

@@ -1,8 +1,8 @@
 package com.gmail.nossr50.commands.skills;
 
+import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.skills.SubSkillType;
-import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.util.Permissions;
 import com.gmail.nossr50.core.util.TextComponentFactory;
 import com.gmail.nossr50.core.util.skills.RankUtils;

+ 10 - 10
bukkit/src/main/java/com/gmail/nossr50/commands/skills/FishingCommand.java

@@ -2,15 +2,15 @@ package com.gmail.nossr50.commands.skills;
 
 import com.gmail.nossr50.core.config.skills.AdvancedConfig;
 import com.gmail.nossr50.core.config.treasure.TreasureConfig;
+import com.gmail.nossr50.core.data.UserManager;
+import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.skills.SubSkillType;
-import com.gmail.nossr50.core.skills.treasure.Rarity;
-import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.skills.primary.fishing.Fishing;
 import com.gmail.nossr50.core.skills.primary.fishing.FishingManager;
+import com.gmail.nossr50.core.skills.treasure.Rarity;
 import com.gmail.nossr50.core.util.Permissions;
 import com.gmail.nossr50.core.util.TextComponentFactory;
-import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.util.random.RandomChanceUtil;
 import com.gmail.nossr50.core.util.skills.RankUtils;
 import net.md_5.bungee.api.chat.TextComponent;
@@ -74,7 +74,7 @@ public class FishingCommand extends SkillCommand {
                 }
             }
 
-            if(totalEnchantChance >= 1)
+            if (totalEnchantChance >= 1)
                 magicChance = percent.format(totalEnchantChance / 100.0);
             else
                 magicChance = percent.format(0);
@@ -129,15 +129,15 @@ public class FishingCommand extends SkillCommand {
     @Override
     protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) {
         List<String> messages = new ArrayList<String>();
-        
+
         if (canFishermansDiet) {
             messages.add(getStatMessage(false, true, SubSkillType.FISHING_FISHERMANS_DIET, String.valueOf(fishermansDietRank)));
         }
-        
+
         if (canIceFish) {
             messages.add(getStatMessage(SubSkillType.FISHING_ICE_FISHING, SubSkillType.FISHING_ICE_FISHING.getLocaleStatDescription()));
         }
-        
+
         if (canMagicHunt) {
             messages.add(getStatMessage(SubSkillType.FISHING_MAGIC_HUNTER, magicChance));
         }
@@ -146,12 +146,12 @@ public class FishingCommand extends SkillCommand {
             //TODO: Update this with more details
             messages.add(getStatMessage(false, true, SubSkillType.FISHING_MASTER_ANGLER, biteChance));
         }
-        
+
         if (canShake) {
             messages.add(getStatMessage(SubSkillType.FISHING_SHAKE, shakeChance)
-            + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", shakeChanceLucky) : ""));
+                    + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", shakeChanceLucky) : ""));
         }
-        
+
         if (canTreasureHunt) {
             messages.add(getStatMessage(false, true, SubSkillType.FISHING_TREASURE_HUNTER, String.valueOf(lootTier), String.valueOf(RankUtils.getHighestRank(SubSkillType.FISHING_TREASURE_HUNTER))));
             messages.add(getStatMessage(true, true, SubSkillType.FISHING_TREASURE_HUNTER,

+ 9 - 8
bukkit/src/main/java/com/gmail/nossr50/commands/skills/HerbalismCommand.java

@@ -1,8 +1,8 @@
 package com.gmail.nossr50.commands.skills;
 
+import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.skills.SubSkillType;
-import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.util.Permissions;
 import com.gmail.nossr50.core.util.TextComponentFactory;
 import com.gmail.nossr50.core.util.skills.RankUtils;
@@ -42,19 +42,20 @@ public class HerbalismCommand extends SkillCommand {
 
     @Override
     protected void dataCalculations(Player player, float skillValue) {
-        
+
         // DOUBLE DROPS
         if (canDoubleDrop) {
-            String[] doubleDropStrings = getAbilityDisplayValues(SkillActivationType.RANDOM_LINEAR_100_SCALE_WITH_CAP, player, SubSkillType.HERBALISM_DOUBLE_DROPS);;
+            String[] doubleDropStrings = getAbilityDisplayValues(SkillActivationType.RANDOM_LINEAR_100_SCALE_WITH_CAP, player, SubSkillType.HERBALISM_DOUBLE_DROPS);
+            ;
             doubleDropChance = doubleDropStrings[0];
             doubleDropChanceLucky = doubleDropStrings[1];
         }
-        
+
         // FARMERS DIET
         if (canFarmersDiet) {
             farmersDietRank = RankUtils.getRank(player, SubSkillType.HERBALISM_FARMERS_DIET);
         }
-        
+
         // GREEN TERRA
         if (canGreenTerra) {
             String[] greenTerraStrings = calculateLengthDisplayValues(player, skillValue);
@@ -105,11 +106,11 @@ public class HerbalismCommand extends SkillCommand {
             messages.add(getStatMessage(SubSkillType.HERBALISM_DOUBLE_DROPS, doubleDropChance)
                     + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", doubleDropChanceLucky) : ""));
         }
-        
+
         if (canFarmersDiet) {
             messages.add(getStatMessage(false, true, SubSkillType.HERBALISM_FARMERS_DIET, String.valueOf(farmersDietRank)));
         }
-        
+
         if (canGreenTerra) {
             messages.add(getStatMessage(SubSkillType.HERBALISM_GREEN_TERRA, greenTerraLength)
                     + (hasEndurance ? LocaleLoader.getString("Perks.ActivationTime.Bonus", greenTerraLengthEndurance) : ""));
@@ -124,7 +125,7 @@ public class HerbalismCommand extends SkillCommand {
         }
 
         if (canGreenThumbPlants) {
-            messages.add(getStatMessage(true, true,SubSkillType.HERBALISM_GREEN_THUMB, String.valueOf(greenThumbStage)));
+            messages.add(getStatMessage(true, true, SubSkillType.HERBALISM_GREEN_THUMB, String.valueOf(greenThumbStage)));
         }
 
         if (hasHylianLuck) {

+ 8 - 8
bukkit/src/main/java/com/gmail/nossr50/commands/skills/MiningCommand.java

@@ -1,12 +1,12 @@
 package com.gmail.nossr50.commands.skills;
 
+import com.gmail.nossr50.core.data.UserManager;
+import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.skills.SubSkillType;
-import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.skills.primary.mining.MiningManager;
 import com.gmail.nossr50.core.util.Permissions;
 import com.gmail.nossr50.core.util.TextComponentFactory;
-import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.util.skills.RankUtils;
 import com.gmail.nossr50.core.util.skills.SkillActivationType;
 import net.md_5.bungee.api.chat.TextComponent;
@@ -51,14 +51,14 @@ public class MiningCommand extends SkillCommand {
             blastDamageDecrease = percent.format(miningManager.getBlastDamageModifier() / 100.0D);
             blastRadiusIncrease = miningManager.getBlastRadiusModifier();
         }
-        
+
         // DOUBLE DROPS
         if (canDoubleDrop) {
             String[] doubleDropStrings = getAbilityDisplayValues(SkillActivationType.RANDOM_LINEAR_100_SCALE_WITH_CAP, player, SubSkillType.MINING_DOUBLE_DROPS);
             doubleDropChance = doubleDropStrings[0];
             doubleDropChanceLucky = doubleDropStrings[1];
         }
-        
+
         // SUPER BREAKER
         if (canSuperBreaker) {
             String[] superBreakerStrings = calculateLengthDisplayValues(player, skillValue);
@@ -84,17 +84,17 @@ public class MiningCommand extends SkillCommand {
             messages.add(getStatMessage(true, true, SubSkillType.MINING_BLAST_MINING, String.valueOf(blastRadiusIncrease)));
             //messages.add(LocaleLoader.getString("Mining.Blast.Radius.Increase", blastRadiusIncrease));
         }
-        
+
         if (canBlast) {
             messages.add(getStatMessage(false, true, SubSkillType.MINING_BLAST_MINING, String.valueOf(blastMiningRank), String.valueOf(RankUtils.getHighestRank(SubSkillType.MINING_BLAST_MINING)), LocaleLoader.getString("Mining.Blast.Effect", oreBonus, debrisReduction, bonusTNTDrops)));
             //messages.add(LocaleLoader.getString("Mining.Blast.Rank", blastMiningRank, RankUtils.getHighestRank(SubSkillType.MINING_BLAST_MINING), LocaleLoader.getString("Mining.Blast.Effect", oreBonus, debrisReduction, bonusTNTDrops)));
         }
-        
-         if (canDemoExpert) {
+
+        if (canDemoExpert) {
             messages.add(getStatMessage(SubSkillType.MINING_DEMOLITIONS_EXPERTISE, blastDamageDecrease));
             //messages.add(LocaleLoader.getString("Mining.Effect.Decrease", blastDamageDecrease));
         }
-        
+
         if (canDoubleDrop) {
             messages.add(getStatMessage(SubSkillType.HERBALISM_DOUBLE_DROPS, doubleDropChance)
                     + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", doubleDropChanceLucky) : ""));

+ 12 - 19
bukkit/src/main/java/com/gmail/nossr50/commands/skills/MmoInfoCommand.java

@@ -1,12 +1,12 @@
 package com.gmail.nossr50.commands.skills;
 
+import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.skills.SubSkillType;
 import com.gmail.nossr50.core.skills.subskills.AbstractSubSkill;
-import com.gmail.nossr50.listeners.InteractionManager;
-import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.util.Permissions;
 import com.gmail.nossr50.core.util.TextComponentFactory;
+import com.gmail.nossr50.listeners.InteractionManager;
 import com.google.common.collect.ImmutableList;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandSender;
@@ -27,26 +27,22 @@ public class MmoInfoCommand implements TabExecutor {
         /*
          * Only allow players to use this command
          */
-        if(commandSender instanceof Player)
-        {
-            if(args.length < 1)
+        if (commandSender instanceof Player) {
+            if (args.length < 1)
                 return false;
 
             Player player = (Player) commandSender;
-            if(Permissions.mmoinfo(player))
-            {
-                if(args == null || args[0] == null)
+            if (Permissions.mmoinfo(player)) {
+                if (args == null || args[0] == null)
                     return false;
 
-                if(args[0].equalsIgnoreCase( "???"))
-                {
+                if (args[0].equalsIgnoreCase("???")) {
                     player.sendMessage(LocaleLoader.getString("Commands.MmoInfo.Header"));
                     player.sendMessage(LocaleLoader.getString("Commands.MmoInfo.SubSkillHeader", "???"));
                     player.sendMessage(LocaleLoader.getString("Commands.MmoInfo.DetailsHeader"));
                     player.sendMessage(LocaleLoader.getString("Commands.MmoInfo.Mystery"));
                     return true;
-                } else if(InteractionManager.getAbstractByName(args[0]) != null || PrimarySkillType.SUBSKILL_NAMES.contains(args[0]))
-                {
+                } else if (InteractionManager.getAbstractByName(args[0]) != null || PrimarySkillType.SUBSKILL_NAMES.contains(args[0])) {
                     displayInfo(player, args[0]);
                     return true;
                 }
@@ -70,12 +66,10 @@ public class MmoInfoCommand implements TabExecutor {
         }
     }
 
-    private void displayInfo(Player player, String subSkillName)
-    {
+    private void displayInfo(Player player, String subSkillName) {
         //Check to see if the skill exists in the new system
         AbstractSubSkill abstractSubSkill = InteractionManager.getAbstractByName(subSkillName);
-        if(abstractSubSkill != null)
-        {
+        if (abstractSubSkill != null) {
             /* New System Skills are programmable */
             abstractSubSkill.printInfo(player);
             //TextComponentFactory.sendPlayerUrlHeader(player);
@@ -89,9 +83,8 @@ public class MmoInfoCommand implements TabExecutor {
             player.sendMessage(LocaleLoader.getString("Commands.MmoInfo.OldSkill"));
         }
 
-        for(SubSkillType subSkillType : SubSkillType.values())
-        {
-            if(subSkillType.getNiceNameNoSpaces(subSkillType).equalsIgnoreCase(subSkillName))
+        for (SubSkillType subSkillType : SubSkillType.values()) {
+            if (subSkillType.getNiceNameNoSpaces(subSkillType).equalsIgnoreCase(subSkillName))
                 subSkillName = subSkillType.getWikiName(subSkillType.toString());
         }
 

+ 4 - 4
bukkit/src/main/java/com/gmail/nossr50/commands/skills/RepairCommand.java

@@ -1,19 +1,19 @@
 package com.gmail.nossr50.commands.skills;
 
+import com.gmail.nossr50.core.data.UserManager;
+import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.skills.MaterialType;
 import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.skills.SubSkillType;
-import com.gmail.nossr50.core.locale.LocaleLoader;
-import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.core.skills.primary.repair.ArcaneForging;
 import com.gmail.nossr50.core.skills.primary.repair.Repair;
 import com.gmail.nossr50.core.skills.primary.repair.RepairManager;
 import com.gmail.nossr50.core.skills.primary.repair.repairables.Repairable;
 import com.gmail.nossr50.core.util.Permissions;
 import com.gmail.nossr50.core.util.TextComponentFactory;
-import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.util.skills.RankUtils;
 import com.gmail.nossr50.core.util.skills.SkillActivationType;
+import com.gmail.nossr50.mcMMO;
 import net.md_5.bungee.api.chat.TextComponent;
 import org.bukkit.Material;
 import org.bukkit.entity.Player;
@@ -107,7 +107,7 @@ public class RepairCommand extends SkillCommand {
                         String.valueOf(arcaneBypass ? 0 : repairManager.getDowngradeEnchantChance()))); //Jesus those parentheses
             }
         }
-        
+
         if (canMasterRepair) {
             messages.add(getStatMessage(false, true, SubSkillType.REPAIR_REPAIR_MASTERY, repairMasteryBonus));
         }

+ 2 - 2
bukkit/src/main/java/com/gmail/nossr50/commands/skills/SalvageCommand.java

@@ -1,12 +1,12 @@
 package com.gmail.nossr50.commands.skills;
 
+import com.gmail.nossr50.core.data.UserManager;
+import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.skills.SubSkillType;
-import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.skills.child.salvage.Salvage;
 import com.gmail.nossr50.core.skills.child.salvage.SalvageManager;
 import com.gmail.nossr50.core.util.TextComponentFactory;
-import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.util.skills.RankUtils;
 import net.md_5.bungee.api.chat.TextComponent;
 import org.bukkit.entity.Player;

+ 31 - 43
bukkit/src/main/java/com/gmail/nossr50/commands/skills/SkillCommand.java

@@ -2,16 +2,16 @@ package com.gmail.nossr50.commands.skills;
 
 import com.gmail.nossr50.core.config.skills.AdvancedConfig;
 import com.gmail.nossr50.core.config.skills.Config;
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.player.McMMOPlayer;
+import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.skills.SubSkillType;
-import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.skills.child.FamilyTree;
 import com.gmail.nossr50.core.util.Permissions;
 import com.gmail.nossr50.core.util.StringUtils;
 import com.gmail.nossr50.core.util.TextComponentFactory;
 import com.gmail.nossr50.core.util.commands.CommandUtils;
-import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.util.random.RandomChanceUtil;
 import com.gmail.nossr50.core.util.scoreboards.ScoreboardManager;
 import com.gmail.nossr50.core.util.skills.PerksUtils;
@@ -33,11 +33,9 @@ import java.util.Set;
 
 public abstract class SkillCommand implements TabExecutor {
     protected PrimarySkillType skill;
-    private String skillName;
-
     protected DecimalFormat percent = new DecimalFormat("##0.00%");
     protected DecimalFormat decimal = new DecimalFormat("##0.00");
-
+    private String skillName;
     private CommandExecutor skillGuideCommand;
 
     public SkillCommand(PrimarySkillType skill) {
@@ -46,6 +44,15 @@ public abstract class SkillCommand implements TabExecutor {
         skillGuideCommand = new SkillGuideCommand(skill);
     }
 
+    public static String[] addItemToFirstPositionOfArray(String itemToAdd, String... existingArray) {
+        String[] newArray = new String[existingArray.length + 1];
+        newArray[0] = itemToAdd;
+
+        System.arraycopy(existingArray, 0, newArray, 1, existingArray.length);
+
+        return newArray;
+    }
+
     @Override
     public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
         if (CommandUtils.noConsoleUsage(sender)) {
@@ -66,9 +73,8 @@ public abstract class SkillCommand implements TabExecutor {
                 float skillValue = mcMMOPlayer.getSkillLevel(skill);
 
                 //Send the players a few blank lines to make finding the top of the skill command easier
-                if(AdvancedConfig.getInstance().doesSkillCommandSendBlankLines())
-                    for(int i = 0; i < 2; i++)
-                    {
+                if (AdvancedConfig.getInstance().doesSkillCommandSendBlankLines())
+                    for (int i = 0; i < 2; i++) {
                         player.sendMessage("");
                     }
 
@@ -99,8 +105,7 @@ public abstract class SkillCommand implements TabExecutor {
 
 
                 //Link Header
-                if(Config.getInstance().getUrlLinksEnabled())
-                {
+                if (Config.getInstance().getUrlLinksEnabled()) {
                     player.sendMessage(LocaleLoader.getString("Overhaul.mcMMO.Header"));
                     TextComponentFactory.sendPlayerUrlHeader(player);
                 }
@@ -138,8 +143,7 @@ public abstract class SkillCommand implements TabExecutor {
 
         player.sendMessage(LocaleLoader.getString("Skills.Overhaul.Header", skillName));
 
-        if(!skill.isChildSkill())
-        {
+        if (!skill.isChildSkill()) {
             /*
              * NON-CHILD SKILLS
              */
@@ -162,17 +166,16 @@ public abstract class SkillCommand implements TabExecutor {
             //TODO: Add JSON here
             for (PrimarySkillType parent : parents) {
                 parentList.add(parent);
-                /*player.sendMessage(parent.getName() + " - " + LocaleLoader.getString("Effects.Level.Overhaul", mcMMOPlayer.getSkillLevel(parent), mcMMOPlayer.getSkillXpLevel(parent), mcMMOPlayer.getXpToLevel(parent)))*/;
+                /*player.sendMessage(parent.getName() + " - " + LocaleLoader.getString("Effects.Level.Overhaul", mcMMOPlayer.getSkillLevel(parent), mcMMOPlayer.getSkillXpLevel(parent), mcMMOPlayer.getXpToLevel(parent)))*/
+                ;
             }
 
             String parentMessage = "";
 
-            for(int i = 0; i < parentList.size(); i++)
-            {
-                if(i+1 < parentList.size())
-                {
+            for (int i = 0; i < parentList.size(); i++) {
+                if (i + 1 < parentList.size()) {
                     parentMessage += LocaleLoader.getString("Effects.Child.ParentList", parentList.get(i).getName(), mcMMOPlayer.getSkillLevel(parentList.get(i)));
-                    parentMessage += ChatColor.GRAY+", ";
+                    parentMessage += ChatColor.GRAY + ", ";
                 } else {
                     parentMessage += LocaleLoader.getString("Effects.Child.ParentList", parentList.get(i).getName(), mcMMOPlayer.getSkillLevel(parentList.get(i)));
                 }
@@ -231,11 +234,9 @@ public abstract class SkillCommand implements TabExecutor {
 
         int length;
 
-        if(abilityLengthCap <= 0)
-        {
+        if (abilityLengthCap <= 0) {
             length = 2 + (int) (skillValue / abilityLengthVar);
-        }
-        else {
+        } else {
             length = 2 + (int) (Math.min(abilityLengthCap, skillValue) / abilityLengthVar);
         }
 
@@ -245,40 +246,27 @@ public abstract class SkillCommand implements TabExecutor {
             length = Math.min(length, maxLength);
         }
 
-        return new String[] { String.valueOf(length), String.valueOf(enduranceLength) };
+        return new String[]{String.valueOf(length), String.valueOf(enduranceLength)};
     }
 
-    protected String getStatMessage(SubSkillType subSkillType, String... vars)
-    {
+    protected String getStatMessage(SubSkillType subSkillType, String... vars) {
         return getStatMessage(false, false, subSkillType, vars);
     }
 
-    protected String getStatMessage(boolean isExtra, boolean isCustom, SubSkillType subSkillType, String... vars)
-    {
+    protected String getStatMessage(boolean isExtra, boolean isCustom, SubSkillType subSkillType, String... vars) {
         String templateKey = isCustom ? "Ability.Generic.Template.Custom" : "Ability.Generic.Template";
         String statDescriptionKey = !isExtra ? subSkillType.getLocaleKeyStatDescription() : subSkillType.getLocaleKeyStatExtraDescription();
 
-        if(isCustom)
+        if (isCustom)
             //Cast to Object[] to suppress warnings
             return LocaleLoader.getString(templateKey, LocaleLoader.getString(statDescriptionKey, (Object[]) vars));
-        else
-        {
+        else {
             String[] mergedList = addItemToFirstPositionOfArray(LocaleLoader.getString(statDescriptionKey), vars);
             //Cast to Object[] to suppress warnings
             return LocaleLoader.getString(templateKey, (Object[]) mergedList);
         }
     }
 
-
-    public static String[] addItemToFirstPositionOfArray(String itemToAdd, String... existingArray) {
-        String[] newArray = new String[existingArray.length + 1];
-        newArray[0] = itemToAdd;
-
-        System.arraycopy(existingArray, 0, newArray, 1, existingArray.length);
-
-        return newArray;
-    }
-
     protected abstract void dataCalculations(Player player, float skillValue);
 
     protected abstract void permissionsCheck(Player player);
@@ -291,12 +279,12 @@ public abstract class SkillCommand implements TabExecutor {
 
     /**
      * Checks if a player can use a skill
-     * @param player target player
+     *
+     * @param player       target player
      * @param subSkillType target subskill
      * @return true if the player has permission and has the skill unlocked
      */
-    protected boolean canUseSubskill(Player player, SubSkillType subSkillType)
-    {
+    protected boolean canUseSubskill(Player player, SubSkillType subSkillType) {
         return Permissions.isSubSkillEnabled(player, subSkillType) && RankUtils.hasUnlockedSubskill(player, subSkillType);
     }
 }

+ 2 - 3
bukkit/src/main/java/com/gmail/nossr50/commands/skills/SkillGuideCommand.java

@@ -1,7 +1,7 @@
 package com.gmail.nossr50.commands.skills;
 
-import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.locale.LocaleLoader;
+import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.util.StringUtils;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandExecutor;
@@ -75,8 +75,7 @@ public class SkillGuideCommand implements CommandExecutor {
         while (allStrings.size() < 9) {
             if (pageIndexStart + allStrings.size() > guide.size()) {
                 allStrings.add("");
-            }
-            else {
+            } else {
                 allStrings.add(guide.get(pageIndexStart + (allStrings.size() - 1)));
             }
         }

+ 4 - 4
bukkit/src/main/java/com/gmail/nossr50/commands/skills/SmeltingCommand.java

@@ -1,12 +1,12 @@
 package com.gmail.nossr50.commands.skills;
 
+import com.gmail.nossr50.core.data.UserManager;
+import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.skills.SubSkillType;
-import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.skills.child.smelting.Smelting;
 import com.gmail.nossr50.core.util.Permissions;
 import com.gmail.nossr50.core.util.TextComponentFactory;
-import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.util.skills.RankUtils;
 import com.gmail.nossr50.core.util.skills.SkillActivationType;
 import net.md_5.bungee.api.chat.TextComponent;
@@ -44,7 +44,7 @@ public class SmeltingCommand extends SkillCommand {
             str_fluxMiningChance = fluxMiningStrings[0];
             str_fluxMiningChanceLucky = fluxMiningStrings[1];
         }*/
-        
+
         // SECOND SMELT
         if (canSecondSmelt) {
             String[] secondSmeltStrings = getAbilityDisplayValues(SkillActivationType.RANDOM_LINEAR_100_SCALE_WITH_CAP, player, SubSkillType.SMELTING_SECOND_SMELT);
@@ -70,7 +70,7 @@ public class SmeltingCommand extends SkillCommand {
                     + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", str_fluxMiningChanceLucky) : ""));
             //messages.add(LocaleLoader.getString("Smelting.Ability.FluxMining", str_fluxMiningChance) + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", str_fluxMiningChanceLucky) : ""));
         }*/
-        
+
         if (canFuelEfficiency) {
             messages.add(getStatMessage(false, true, SubSkillType.SMELTING_FUEL_EFFICIENCY, burnTimeModifier));
         }

+ 5 - 5
bukkit/src/main/java/com/gmail/nossr50/commands/skills/SwordsCommand.java

@@ -1,12 +1,12 @@
 package com.gmail.nossr50.commands.skills;
 
 import com.gmail.nossr50.core.config.skills.AdvancedConfig;
+import com.gmail.nossr50.core.data.UserManager;
+import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.skills.SubSkillType;
-import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.util.Permissions;
 import com.gmail.nossr50.core.util.TextComponentFactory;
-import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.util.skills.RankUtils;
 import com.gmail.nossr50.core.util.skills.SkillActivationType;
 import net.md_5.bungee.api.chat.TextComponent;
@@ -49,7 +49,7 @@ public class SwordsCommand extends SkillCommand {
             bleedChance = bleedStrings[0];
             bleedChanceLucky = bleedStrings[1];
         }
-        
+
         // SERRATED STRIKES
         if (canSerratedStrike) {
             String[] serratedStrikesStrings = calculateLengthDisplayValues(player, skillValue);
@@ -70,8 +70,8 @@ public class SwordsCommand extends SkillCommand {
         List<String> messages = new ArrayList<String>();
 
         int ruptureTicks = UserManager.getPlayer(player).getSwordsManager().getRuptureBleedTicks();
-        double ruptureDamagePlayers =  RankUtils.getRank(player, SubSkillType.SWORDS_RUPTURE) >= 3 ? AdvancedConfig.getInstance().getRuptureDamagePlayer() * 1.5D : AdvancedConfig.getInstance().getRuptureDamagePlayer();
-        double ruptureDamageMobs =  RankUtils.getRank(player, SubSkillType.SWORDS_RUPTURE) >= 3 ? AdvancedConfig.getInstance().getRuptureDamageMobs() * 1.5D : AdvancedConfig.getInstance().getRuptureDamageMobs();
+        double ruptureDamagePlayers = RankUtils.getRank(player, SubSkillType.SWORDS_RUPTURE) >= 3 ? AdvancedConfig.getInstance().getRuptureDamagePlayer() * 1.5D : AdvancedConfig.getInstance().getRuptureDamagePlayer();
+        double ruptureDamageMobs = RankUtils.getRank(player, SubSkillType.SWORDS_RUPTURE) >= 3 ? AdvancedConfig.getInstance().getRuptureDamageMobs() * 1.5D : AdvancedConfig.getInstance().getRuptureDamageMobs();
 
         if (canCounter) {
             messages.add(getStatMessage(SubSkillType.SWORDS_COUNTER_ATTACK, counterChance)

+ 6 - 6
bukkit/src/main/java/com/gmail/nossr50/commands/skills/TamingCommand.java

@@ -1,8 +1,8 @@
 package com.gmail.nossr50.commands.skills;
 
+import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.skills.SubSkillType;
-import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.skills.primary.taming.Taming;
 import com.gmail.nossr50.core.util.Permissions;
 import com.gmail.nossr50.core.util.TextComponentFactory;
@@ -61,17 +61,17 @@ public class TamingCommand extends SkillCommand {
         if (canEnvironmentallyAware) {
             messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Taming.Ability.Bonus.0"), LocaleLoader.getString("Taming.Ability.Bonus.1")));
         }
-        
+
         if (canFastFood) {
             messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Taming.Ability.Bonus.8"), LocaleLoader.getString("Taming.Ability.Bonus.9", percent.format(Taming.fastFoodServiceActivationChance / 100D))));
         }
-        
+
         if (canGore) {
             messages.add(LocaleLoader.getString("Ability.Generic.Template",
                     LocaleLoader.getString("Taming.Combat.Chance.Gore"),
                     goreChance) + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", goreChanceLucky) : ""));
         }
-        
+
         if (canHolyHound) {
             messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Taming.Ability.Bonus.10"), LocaleLoader.getString("Taming.Ability.Bonus.11")));
         }
@@ -79,11 +79,11 @@ public class TamingCommand extends SkillCommand {
         if (canSharpenedClaws) {
             messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Taming.Ability.Bonus.6"), LocaleLoader.getString("Taming.Ability.Bonus.7", Taming.sharpenedClawsBonusDamage)));
         }
-        
+
         if (canShockProof) {
             messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Taming.Ability.Bonus.4"), LocaleLoader.getString("Taming.Ability.Bonus.5", Taming.shockProofModifier)));
         }
-        
+
         if (canThickFur) {
             messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Taming.Ability.Bonus.2"), LocaleLoader.getString("Taming.Ability.Bonus.3", Taming.thickFurModifier)));
         }

+ 10 - 8
bukkit/src/main/java/com/gmail/nossr50/commands/skills/UnarmedCommand.java

@@ -1,11 +1,11 @@
 package com.gmail.nossr50.commands.skills;
 
+import com.gmail.nossr50.core.data.UserManager;
+import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.skills.SubSkillType;
-import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.util.Permissions;
 import com.gmail.nossr50.core.util.TextComponentFactory;
-import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.util.skills.RankUtils;
 import com.gmail.nossr50.core.util.skills.SkillActivationType;
 import net.md_5.bungee.api.chat.TextComponent;
@@ -39,11 +39,12 @@ public class UnarmedCommand extends SkillCommand {
     protected void dataCalculations(Player player, float skillValue) {
         // UNARMED_ARROW_DEFLECT
         if (canDeflect) {
-            String[] deflectStrings = getAbilityDisplayValues(SkillActivationType.RANDOM_LINEAR_100_SCALE_WITH_CAP, player, SubSkillType.UNARMED_ARROW_DEFLECT);;
+            String[] deflectStrings = getAbilityDisplayValues(SkillActivationType.RANDOM_LINEAR_100_SCALE_WITH_CAP, player, SubSkillType.UNARMED_ARROW_DEFLECT);
+            ;
             deflectChance = deflectStrings[0];
             deflectChanceLucky = deflectStrings[1];
         }
-        
+
         // BERSERK
         if (canBerserk) {
             String[] berserkStrings = calculateLengthDisplayValues(player, skillValue);
@@ -53,7 +54,8 @@ public class UnarmedCommand extends SkillCommand {
 
         // UNARMED_DISARM
         if (canDisarm) {
-            String[] disarmStrings = getAbilityDisplayValues(SkillActivationType.RANDOM_LINEAR_100_SCALE_WITH_CAP, player, SubSkillType.UNARMED_DISARM);;
+            String[] disarmStrings = getAbilityDisplayValues(SkillActivationType.RANDOM_LINEAR_100_SCALE_WITH_CAP, player, SubSkillType.UNARMED_DISARM);
+            ;
             disarmChance = disarmStrings[0];
             disarmChanceLucky = disarmStrings[1];
         }
@@ -90,19 +92,19 @@ public class UnarmedCommand extends SkillCommand {
                     + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", deflectChanceLucky) : ""));
             //messages.add(LocaleLoader.getString("Unarmed.Ability.Chance.ArrowDeflect", deflectChance) + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", deflectChanceLucky) : ""));
         }
-        
+
         if (canBerserk) {
             messages.add(getStatMessage(SubSkillType.UNARMED_BERSERK, berserkLength)
                     + (hasEndurance ? LocaleLoader.getString("Perks.ActivationTime.Bonus", berserkLengthEndurance) : ""));
             //messages.add(LocaleLoader.getString("Unarmed.Ability.Berserk.Length", berserkLength) + (hasEndurance ? LocaleLoader.getString("Perks.ActivationTime.Bonus", berserkLengthEndurance) : ""));
         }
-        
+
         if (canDisarm) {
             messages.add(getStatMessage(SubSkillType.UNARMED_DISARM, disarmChance)
                     + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", disarmChanceLucky) : ""));
             //messages.add(LocaleLoader.getString("Unarmed.Ability.Chance.Disarm", disarmChance) + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", disarmChanceLucky) : ""));
         }
-        
+
         if (canIronArm) {
             messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Unarmed.Ability.Bonus.0"), LocaleLoader.getString("Unarmed.Ability.Bonus.1", ironArmBonus)));
         }

+ 5 - 4
bukkit/src/main/java/com/gmail/nossr50/commands/skills/WoodcuttingCommand.java

@@ -1,8 +1,8 @@
 package com.gmail.nossr50.commands.skills;
 
+import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.skills.SubSkillType;
-import com.gmail.nossr50.core.locale.LocaleLoader;
 import com.gmail.nossr50.core.util.Permissions;
 import com.gmail.nossr50.core.util.TextComponentFactory;
 import com.gmail.nossr50.core.util.skills.RankUtils;
@@ -36,7 +36,7 @@ public class WoodcuttingCommand extends SkillCommand {
         if (canDoubleDrop) {
             setDoubleDropClassicChanceStrings(player);
         }
-        
+
         // TREE FELLER
         if (canTreeFell) {
             String[] treeFellerStrings = calculateLengthDisplayValues(player, skillValue);
@@ -46,7 +46,8 @@ public class WoodcuttingCommand extends SkillCommand {
     }
 
     private void setDoubleDropClassicChanceStrings(Player player) {
-        String[] doubleDropStrings = getAbilityDisplayValues(SkillActivationType.RANDOM_LINEAR_100_SCALE_WITH_CAP, player, SubSkillType.WOODCUTTING_HARVEST_LUMBER);;
+        String[] doubleDropStrings = getAbilityDisplayValues(SkillActivationType.RANDOM_LINEAR_100_SCALE_WITH_CAP, player, SubSkillType.WOODCUTTING_HARVEST_LUMBER);
+        ;
         doubleDropChance = doubleDropStrings[0];
         doubleDropChanceLucky = doubleDropStrings[1];
     }
@@ -69,7 +70,7 @@ public class WoodcuttingCommand extends SkillCommand {
             messages.add(getStatMessage(SubSkillType.WOODCUTTING_HARVEST_LUMBER, doubleDropChance)
                     + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", doubleDropChanceLucky) : ""));
         }
-        
+
         if (canLeafBlow) {
             messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Woodcutting.Ability.0"), LocaleLoader.getString("Woodcutting.Ability.1")));
         }

+ 17 - 14
bukkit/src/main/java/com/gmail/nossr50/events/chat/McMMOChatEvent.java

@@ -6,6 +6,10 @@ import org.bukkit.event.HandlerList;
 import org.bukkit.plugin.Plugin;
 
 public abstract class McMMOChatEvent extends Event implements Cancellable {
+    /**
+     * Rest of file is required boilerplate for custom events
+     **/
+    private static final HandlerList handlers = new HandlerList();
     private boolean cancelled;
     private Plugin plugin;
     private String sender;
@@ -27,6 +31,10 @@ public abstract class McMMOChatEvent extends Event implements Cancellable {
         this.message = message;
     }
 
+    public static HandlerList getHandlerList() {
+        return handlers;
+    }
+
     /**
      * @return The plugin responsible for this event, note this can be null
      */
@@ -49,17 +57,17 @@ public abstract class McMMOChatEvent extends Event implements Cancellable {
     }
 
     /**
-     * @return String message that will be sent
+     * @param displayName String display name of the player who sent the chat
      */
-    public String getMessage() {
-        return message;
+    public void setDisplayName(String displayName) {
+        this.displayName = displayName;
     }
 
     /**
-     * @param displayName String display name of the player who sent the chat
+     * @return String message that will be sent
      */
-    public void setDisplayName(String displayName) {
-        this.displayName = displayName;
+    public String getMessage() {
+        return message;
     }
 
     /**
@@ -69,7 +77,9 @@ public abstract class McMMOChatEvent extends Event implements Cancellable {
         this.message = message;
     }
 
-    /** Following are required for Cancellable **/
+    /**
+     * Following are required for Cancellable
+     **/
     @Override
     public boolean isCancelled() {
         return cancelled;
@@ -80,15 +90,8 @@ public abstract class McMMOChatEvent extends Event implements Cancellable {
         this.cancelled = cancelled;
     }
 
-    /** Rest of file is required boilerplate for custom events **/
-    private static final HandlerList handlers = new HandlerList();
-
     @Override
     public HandlerList getHandlers() {
         return handlers;
     }
-
-    public static HandlerList getHandlerList() {
-        return handlers;
-    }
 }

+ 10 - 9
bukkit/src/main/java/com/gmail/nossr50/events/experience/McMMOPlayerExperienceEvent.java

@@ -1,8 +1,8 @@
 package com.gmail.nossr50.events.experience;
 
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.experience.XPGainReason;
 import com.gmail.nossr50.core.skills.PrimarySkillType;
-import com.gmail.nossr50.core.data.UserManager;
 import org.bukkit.entity.Player;
 import org.bukkit.event.Cancellable;
 import org.bukkit.event.HandlerList;
@@ -12,10 +12,11 @@ import org.bukkit.event.player.PlayerEvent;
  * Generic event for mcMMO experience events.
  */
 public abstract class McMMOPlayerExperienceEvent extends PlayerEvent implements Cancellable {
-    private boolean cancelled;
+    private static final HandlerList handlers = new HandlerList();
     protected PrimarySkillType skill;
     protected int skillLevel;
     protected XPGainReason xpGainReason;
+    private boolean cancelled;
 
     @Deprecated
     protected McMMOPlayerExperienceEvent(Player player, PrimarySkillType skill) {
@@ -32,6 +33,10 @@ public abstract class McMMOPlayerExperienceEvent extends PlayerEvent implements
         this.xpGainReason = xpGainReason;
     }
 
+    public static HandlerList getHandlerList() {
+        return handlers;
+    }
+
     /**
      * @return The skill involved in this event
      */
@@ -53,7 +58,9 @@ public abstract class McMMOPlayerExperienceEvent extends PlayerEvent implements
         return xpGainReason;
     }
 
-    /** Following are required for Cancellable **/
+    /**
+     * Following are required for Cancellable
+     **/
     @Override
     public boolean isCancelled() {
         return cancelled;
@@ -63,15 +70,9 @@ public abstract class McMMOPlayerExperienceEvent extends PlayerEvent implements
     public void setCancelled(boolean cancelled) {
         this.cancelled = cancelled;
     }
-    
-    private static final HandlerList handlers = new HandlerList();
 
     @Override
     public HandlerList getHandlers() {
         return handlers;
     }
-
-    public static HandlerList getHandlerList() {
-        return handlers;
-    }
 }

+ 9 - 10
bukkit/src/main/java/com/gmail/nossr50/events/experience/McMMOPlayerLevelDownEvent.java

@@ -9,6 +9,7 @@ import org.bukkit.event.HandlerList;
  * Called when a user loses levels in a skill
  */
 public class McMMOPlayerLevelDownEvent extends McMMOPlayerLevelChangeEvent {
+    private static final HandlerList handlers = new HandlerList();
     private int levelsLost;
 
     @Deprecated
@@ -33,11 +34,8 @@ public class McMMOPlayerLevelDownEvent extends McMMOPlayerLevelChangeEvent {
         this.levelsLost = levelsLost;
     }
 
-    /**
-     * @param levelsLost Set the number of levels lost in this event
-     */
-    public void setLevelsLost(int levelsLost) {
-        this.levelsLost = levelsLost;
+    public static HandlerList getHandlerList() {
+        return handlers;
     }
 
     /**
@@ -47,14 +45,15 @@ public class McMMOPlayerLevelDownEvent extends McMMOPlayerLevelChangeEvent {
         return levelsLost;
     }
 
-    private static final HandlerList handlers = new HandlerList();
+    /**
+     * @param levelsLost Set the number of levels lost in this event
+     */
+    public void setLevelsLost(int levelsLost) {
+        this.levelsLost = levelsLost;
+    }
 
     @Override
     public HandlerList getHandlers() {
         return handlers;
     }
-
-    public static HandlerList getHandlerList() {
-        return handlers;
-    }
 }

+ 9 - 10
bukkit/src/main/java/com/gmail/nossr50/events/experience/McMMOPlayerLevelUpEvent.java

@@ -9,6 +9,7 @@ import org.bukkit.event.HandlerList;
  * Called when a user levels up in a skill
  */
 public class McMMOPlayerLevelUpEvent extends McMMOPlayerLevelChangeEvent {
+    private static final HandlerList handlers = new HandlerList();
     private int levelsGained;
 
     @Deprecated
@@ -33,11 +34,8 @@ public class McMMOPlayerLevelUpEvent extends McMMOPlayerLevelChangeEvent {
         this.levelsGained = levelsGained;
     }
 
-    /**
-     * @param levelsGained Set the number of levels gained in this event
-     */
-    public void setLevelsGained(int levelsGained) {
-        this.levelsGained = levelsGained;
+    public static HandlerList getHandlerList() {
+        return handlers;
     }
 
     /**
@@ -47,14 +45,15 @@ public class McMMOPlayerLevelUpEvent extends McMMOPlayerLevelChangeEvent {
         return levelsGained;
     }
 
-    private static final HandlerList handlers = new HandlerList();
+    /**
+     * @param levelsGained Set the number of levels gained in this event
+     */
+    public void setLevelsGained(int levelsGained) {
+        this.levelsGained = levelsGained;
+    }
 
     @Override
     public HandlerList getHandlers() {
         return handlers;
     }
-
-    public static HandlerList getHandlerList() {
-        return handlers;
-    }
 }

+ 12 - 13
bukkit/src/main/java/com/gmail/nossr50/events/experience/McMMOPlayerXpGainEvent.java

@@ -9,6 +9,7 @@ import org.bukkit.event.HandlerList;
  * Called when a player gains XP in a skill
  */
 public class McMMOPlayerXpGainEvent extends McMMOPlayerExperienceEvent {
+    private static final HandlerList handlers = new HandlerList();
     private float xpGained;
 
     @Deprecated
@@ -22,6 +23,10 @@ public class McMMOPlayerXpGainEvent extends McMMOPlayerExperienceEvent {
         this.xpGained = xpGained;
     }
 
+    public static HandlerList getHandlerList() {
+        return handlers;
+    }
+
     /**
      * @return The amount of experience gained in this event
      */
@@ -30,18 +35,18 @@ public class McMMOPlayerXpGainEvent extends McMMOPlayerExperienceEvent {
     }
 
     /**
-     * @return int amount of experience gained in this event
+     * @param xpGained int amount of experience gained in this event
      */
-    @Deprecated
-    public int getXpGained() {
-        return (int) xpGained;
+    public void setRawXpGained(float xpGained) {
+        this.xpGained = xpGained;
     }
 
     /**
-     * @param xpGained int amount of experience gained in this event
+     * @return int amount of experience gained in this event
      */
-    public void setRawXpGained(float xpGained) {
-        this.xpGained = xpGained;
+    @Deprecated
+    public int getXpGained() {
+        return (int) xpGained;
     }
 
     /**
@@ -52,14 +57,8 @@ public class McMMOPlayerXpGainEvent extends McMMOPlayerExperienceEvent {
         this.xpGained = xpGained;
     }
 
-    private static final HandlerList handlers = new HandlerList();
-
     @Override
     public HandlerList getHandlers() {
         return handlers;
     }
-
-    public static HandlerList getHandlerList() {
-        return handlers;
-    }
 }

+ 11 - 9
bukkit/src/main/java/com/gmail/nossr50/events/hardcore/McMMOPlayerDeathPenaltyEvent.java

@@ -8,9 +8,12 @@ import org.bukkit.event.player.PlayerEvent;
 import java.util.HashMap;
 
 public class McMMOPlayerDeathPenaltyEvent extends PlayerEvent implements Cancellable {
+    /**
+     * Rest of file is required boilerplate for custom events
+     **/
+    private static final HandlerList handlers = new HandlerList();
     private HashMap<String, Integer> levelChanged;
     private HashMap<String, Float> experienceChanged;
-
     private boolean cancelled;
 
     public McMMOPlayerDeathPenaltyEvent(Player player, HashMap<String, Integer> levelChanged, HashMap<String, Float> experienceChanged) {
@@ -26,6 +29,10 @@ public class McMMOPlayerDeathPenaltyEvent extends PlayerEvent implements Cancell
         this.cancelled = false;
     }
 
+    public static HandlerList getHandlerList() {
+        return handlers;
+    }
+
     public HashMap<String, Integer> getLevelChanged() {
         return levelChanged;
     }
@@ -42,7 +49,9 @@ public class McMMOPlayerDeathPenaltyEvent extends PlayerEvent implements Cancell
         this.experienceChanged = experienceChanged;
     }
 
-    /** Following are required for Cancellable **/
+    /**
+     * Following are required for Cancellable
+     **/
     @Override
     public boolean isCancelled() {
         return cancelled;
@@ -53,15 +62,8 @@ public class McMMOPlayerDeathPenaltyEvent extends PlayerEvent implements Cancell
         this.cancelled = cancelled;
     }
 
-    /** Rest of file is required boilerplate for custom events **/
-    private static final HandlerList handlers = new HandlerList();
-
     @Override
     public HandlerList getHandlers() {
         return handlers;
     }
-
-    public static HandlerList getHandlerList() {
-        return handlers;
-    }
 }

+ 11 - 8
bukkit/src/main/java/com/gmail/nossr50/events/hardcore/McMMOPlayerPreDeathPenaltyEvent.java

@@ -6,6 +6,10 @@ import org.bukkit.event.HandlerList;
 import org.bukkit.event.player.PlayerEvent;
 
 public class McMMOPlayerPreDeathPenaltyEvent extends PlayerEvent implements Cancellable {
+    /**
+     * Rest of file is required boilerplate for custom events
+     **/
+    private static final HandlerList handlers = new HandlerList();
     private boolean cancelled;
 
     public McMMOPlayerPreDeathPenaltyEvent(Player player) {
@@ -13,7 +17,13 @@ public class McMMOPlayerPreDeathPenaltyEvent extends PlayerEvent implements Canc
         this.cancelled = false;
     }
 
-    /** Following are required for Cancellable **/
+    public static HandlerList getHandlerList() {
+        return handlers;
+    }
+
+    /**
+     * Following are required for Cancellable
+     **/
     @Override
     public boolean isCancelled() {
         return cancelled;
@@ -24,15 +34,8 @@ public class McMMOPlayerPreDeathPenaltyEvent extends PlayerEvent implements Canc
         this.cancelled = cancelled;
     }
 
-    /** Rest of file is required boilerplate for custom events **/
-    private static final HandlerList handlers = new HandlerList();
-
     @Override
     public HandlerList getHandlers() {
         return handlers;
     }
-
-    public static HandlerList getHandlerList() {
-        return handlers;
-    }
 }

+ 11 - 8
bukkit/src/main/java/com/gmail/nossr50/events/items/McMMOItemSpawnEvent.java

@@ -10,6 +10,10 @@ import org.bukkit.inventory.ItemStack;
  * Called when mcMMO is preparing to drop an item.
  */
 public class McMMOItemSpawnEvent extends Event implements Cancellable {
+    /**
+     * Rest of file is required boilerplate for custom events
+     **/
+    private static final HandlerList handlers = new HandlerList();
     private Location location;
     private ItemStack itemStack;
     private boolean cancelled;
@@ -20,6 +24,10 @@ public class McMMOItemSpawnEvent extends Event implements Cancellable {
         this.cancelled = false;
     }
 
+    public static HandlerList getHandlerList() {
+        return handlers;
+    }
+
     /**
      * @return Location where the item will be dropped
      */
@@ -48,7 +56,9 @@ public class McMMOItemSpawnEvent extends Event implements Cancellable {
         this.itemStack = itemStack;
     }
 
-    /** Following are required for Cancellable **/
+    /**
+     * Following are required for Cancellable
+     **/
     @Override
     public boolean isCancelled() {
         return cancelled;
@@ -59,15 +69,8 @@ public class McMMOItemSpawnEvent extends Event implements Cancellable {
         this.cancelled = cancelled;
     }
 
-    /** Rest of file is required boilerplate for custom events **/
-    private static final HandlerList handlers = new HandlerList();
-
     @Override
     public HandlerList getHandlers() {
         return handlers;
     }
-
-    public static HandlerList getHandlerList() {
-        return handlers;
-    }
 }

+ 26 - 23
bukkit/src/main/java/com/gmail/nossr50/events/party/McMMOPartyAllianceChangeEvent.java

@@ -6,6 +6,10 @@ import org.bukkit.event.HandlerList;
 import org.bukkit.event.player.PlayerEvent;
 
 public class McMMOPartyAllianceChangeEvent extends PlayerEvent implements Cancellable {
+    /**
+     * Rest of file is required boilerplate for custom events
+     **/
+    private static final HandlerList handlers = new HandlerList();
     private String oldAlly;
     private String newAlly;
     private EventReason reason;
@@ -24,6 +28,10 @@ public class McMMOPartyAllianceChangeEvent extends PlayerEvent implements Cancel
         this.cancelled = false;
     }
 
+    public static HandlerList getHandlerList() {
+        return handlers;
+    }
+
     /**
      * @return The party being left, or null if the player was not in a party
      */
@@ -45,6 +53,24 @@ public class McMMOPartyAllianceChangeEvent extends PlayerEvent implements Cancel
         return reason;
     }
 
+    /**
+     * Following are required for Cancellable
+     **/
+    @Override
+    public boolean isCancelled() {
+        return cancelled;
+    }
+
+    @Override
+    public void setCancelled(boolean cancelled) {
+        this.cancelled = cancelled;
+    }
+
+    @Override
+    public HandlerList getHandlers() {
+        return handlers;
+    }
+
     /**
      * A list of reasons why the event may have been fired
      */
@@ -64,27 +90,4 @@ public class McMMOPartyAllianceChangeEvent extends PlayerEvent implements Cancel
          */
         CUSTOM;
     }
-
-    /** Following are required for Cancellable **/
-    @Override
-    public boolean isCancelled() {
-        return cancelled;
-    }
-
-    @Override
-    public void setCancelled(boolean cancelled) {
-        this.cancelled = cancelled;
-    }
-
-    /** Rest of file is required boilerplate for custom events **/
-    private static final HandlerList handlers = new HandlerList();
-
-    @Override
-    public HandlerList getHandlers() {
-        return handlers;
-    }
-
-    public static HandlerList getHandlerList() {
-        return handlers;
-    }
 }

+ 26 - 23
bukkit/src/main/java/com/gmail/nossr50/events/party/McMMOPartyChangeEvent.java

@@ -9,6 +9,10 @@ import org.bukkit.event.player.PlayerEvent;
  * Called when a player attempts to join, leave, or change parties.
  */
 public class McMMOPartyChangeEvent extends PlayerEvent implements Cancellable {
+    /**
+     * Rest of file is required boilerplate for custom events
+     **/
+    private static final HandlerList handlers = new HandlerList();
     private String oldParty;
     private String newParty;
     private EventReason reason;
@@ -27,6 +31,10 @@ public class McMMOPartyChangeEvent extends PlayerEvent implements Cancellable {
         this.cancelled = false;
     }
 
+    public static HandlerList getHandlerList() {
+        return handlers;
+    }
+
     /**
      * @return The party being left, or null if the player was not in a party
      */
@@ -48,6 +56,24 @@ public class McMMOPartyChangeEvent extends PlayerEvent implements Cancellable {
         return reason;
     }
 
+    /**
+     * Following are required for Cancellable
+     **/
+    @Override
+    public boolean isCancelled() {
+        return cancelled;
+    }
+
+    @Override
+    public void setCancelled(boolean cancelled) {
+        this.cancelled = cancelled;
+    }
+
+    @Override
+    public HandlerList getHandlers() {
+        return handlers;
+    }
+
     /**
      * A list of reasons why the event may have been fired
      */
@@ -77,27 +103,4 @@ public class McMMOPartyChangeEvent extends PlayerEvent implements Cancellable {
          */
         CUSTOM;
     }
-
-    /** Following are required for Cancellable **/
-    @Override
-    public boolean isCancelled() {
-        return cancelled;
-    }
-
-    @Override
-    public void setCancelled(boolean cancelled) {
-        this.cancelled = cancelled;
-    }
-
-    /** Rest of file is required boilerplate for custom events **/
-    private static final HandlerList handlers = new HandlerList();
-
-    @Override
-    public HandlerList getHandlers() {
-        return handlers;
-    }
-
-    public static HandlerList getHandlerList() {
-        return handlers;
-    }
 }

+ 11 - 8
bukkit/src/main/java/com/gmail/nossr50/events/party/McMMOPartyLevelUpEvent.java

@@ -6,6 +6,10 @@ import org.bukkit.event.Event;
 import org.bukkit.event.HandlerList;
 
 public class McMMOPartyLevelUpEvent extends Event implements Cancellable {
+    /**
+     * Rest of file is required boilerplate for custom events
+     **/
+    private static final HandlerList handlers = new HandlerList();
     private Party party;
     private int levelsChanged;
     private boolean cancelled;
@@ -16,6 +20,10 @@ public class McMMOPartyLevelUpEvent extends Event implements Cancellable {
         this.cancelled = false;
     }
 
+    public static HandlerList getHandlerList() {
+        return handlers;
+    }
+
     public Party getParty() {
         return party;
     }
@@ -28,7 +36,9 @@ public class McMMOPartyLevelUpEvent extends Event implements Cancellable {
         this.levelsChanged = levelsChanged;
     }
 
-    /** Following are required for Cancellable **/
+    /**
+     * Following are required for Cancellable
+     **/
     @Override
     public boolean isCancelled() {
         return cancelled;
@@ -39,15 +49,8 @@ public class McMMOPartyLevelUpEvent extends Event implements Cancellable {
         this.cancelled = cancelled;
     }
 
-    /** Rest of file is required boilerplate for custom events **/
-    private static final HandlerList handlers = new HandlerList();
-
     @Override
     public HandlerList getHandlers() {
         return handlers;
     }
-
-    public static HandlerList getHandlerList() {
-        return handlers;
-    }
 }

+ 8 - 7
bukkit/src/main/java/com/gmail/nossr50/events/party/McMMOPartyTeleportEvent.java

@@ -8,6 +8,10 @@ import org.bukkit.event.player.PlayerTeleportEvent;
  * Called just before a player teleports using the /ptp command.
  */
 public class McMMOPartyTeleportEvent extends PlayerTeleportEvent {
+    /**
+     * Rest of file is required boilerplate for custom events
+     **/
+    private static final HandlerList handlers = new HandlerList();
     private String party;
     private Player target;
 
@@ -17,6 +21,10 @@ public class McMMOPartyTeleportEvent extends PlayerTeleportEvent {
         this.target = target;
     }
 
+    public static HandlerList getHandlerList() {
+        return handlers;
+    }
+
     /**
      * @return The party the teleporting player is in
      */
@@ -31,15 +39,8 @@ public class McMMOPartyTeleportEvent extends PlayerTeleportEvent {
         return target;
     }
 
-    /** Rest of file is required boilerplate for custom events **/
-    private static final HandlerList handlers = new HandlerList();
-
     @Override
     public HandlerList getHandlers() {
         return handlers;
     }
-
-    public static HandlerList getHandlerList() {
-        return handlers;
-    }
 }

+ 18 - 15
bukkit/src/main/java/com/gmail/nossr50/events/party/McMMOPartyXpGainEvent.java

@@ -6,6 +6,10 @@ import org.bukkit.event.Event;
 import org.bukkit.event.HandlerList;
 
 public class McMMOPartyXpGainEvent extends Event implements Cancellable {
+    /**
+     * Rest of file is required boilerplate for custom events
+     **/
+    private static final HandlerList handlers = new HandlerList();
     private Party party;
     private float xpGained;
     private boolean cancelled;
@@ -16,6 +20,10 @@ public class McMMOPartyXpGainEvent extends Event implements Cancellable {
         this.cancelled = false;
     }
 
+    public static HandlerList getHandlerList() {
+        return handlers;
+    }
+
     public Party getParty() {
         return party;
     }
@@ -28,18 +36,18 @@ public class McMMOPartyXpGainEvent extends Event implements Cancellable {
     }
 
     /**
-     * @return int amount of experience gained in this event
+     * @param xpGained set amount of experience gained in this event
      */
-    @Deprecated
-    public int getXpGained() {
-        return (int) xpGained;
+    public void setRawXpGained(float xpGained) {
+        this.xpGained = xpGained;
     }
 
     /**
-     * @param xpGained set amount of experience gained in this event
+     * @return int amount of experience gained in this event
      */
-    public void setRawXpGained(float xpGained) {
-        this.xpGained = xpGained;
+    @Deprecated
+    public int getXpGained() {
+        return (int) xpGained;
     }
 
     /**
@@ -50,7 +58,9 @@ public class McMMOPartyXpGainEvent extends Event implements Cancellable {
         this.xpGained = xpGained;
     }
 
-    /** Following are required for Cancellable **/
+    /**
+     * Following are required for Cancellable
+     **/
     @Override
     public boolean isCancelled() {
         return cancelled;
@@ -61,15 +71,8 @@ public class McMMOPartyXpGainEvent extends Event implements Cancellable {
         this.cancelled = cancelled;
     }
 
-    /** Rest of file is required boilerplate for custom events **/
-    private static final HandlerList handlers = new HandlerList();
-
     @Override
     public HandlerList getHandlers() {
         return handlers;
     }
-
-    public static HandlerList getHandlerList() {
-        return handlers;
-    }
 }

+ 25 - 20
bukkit/src/main/java/com/gmail/nossr50/events/scoreboard/McMMOScoreboardEvent.java

@@ -11,24 +11,31 @@ import org.bukkit.scoreboard.Scoreboard;
  */
 abstract public class McMMOScoreboardEvent extends Event {
 
-    protected Scoreboard targetBoard; //Scoreboard involved in this event
+    /**
+     * Rest of file is required boilerplate for custom events
+     **/
+    private static final HandlerList handlers = new HandlerList();
     final Scoreboard currentBoard; //Can be null
+    private final ScoreboardEventReason scoreboardEventReason;
+    protected Scoreboard targetBoard; //Scoreboard involved in this event
     protected Player targetPlayer;
 
-    private final ScoreboardEventReason scoreboardEventReason;
+    /** GETTER & SETTER BOILERPLATE **/
 
-    public McMMOScoreboardEvent(Scoreboard targetBoard, Scoreboard currentBoard, Player targetPlayer, ScoreboardEventReason scoreboardEventReason)
-    {
+    public McMMOScoreboardEvent(Scoreboard targetBoard, Scoreboard currentBoard, Player targetPlayer, ScoreboardEventReason scoreboardEventReason) {
         this.scoreboardEventReason = scoreboardEventReason;
         this.targetBoard = targetBoard;
         this.currentBoard = currentBoard;
         this.targetPlayer = targetPlayer;
     }
 
-    /** GETTER & SETTER BOILERPLATE **/
+    public static HandlerList getHandlerList() {
+        return handlers;
+    }
 
     /**
      * This is the scoreboard the player will be assigned to after this event
+     *
      * @return the target board to assign the player after this event fires
      */
     public Scoreboard getTargetBoard() {
@@ -37,6 +44,7 @@ abstract public class McMMOScoreboardEvent extends Event {
 
     /**
      * Change the scoreboard that the player will be assigned to after this event fires
+     *
      * @param targetBoard the new board to assign the player to
      */
     public void setTargetBoard(Scoreboard targetBoard) {
@@ -45,15 +53,26 @@ abstract public class McMMOScoreboardEvent extends Event {
 
     /**
      * The player involved in this event (this can be changed)
+     *
      * @return the player involved in this event
      */
     public Player getTargetPlayer() {
         return targetPlayer;
     }
 
+    /**
+     * Change the target player for this event
+     *
+     * @param targetPlayer the new target for this event
+     */
+    public void setTargetPlayer(Player targetPlayer) {
+        this.targetPlayer = targetPlayer;
+    }
+
     /**
      * This is the scoreboard the player is currently assigned to at the time the event was fired
      * Grabbed via player.getScoreboard()
+     *
      * @return players current scoreboard
      */
     public Scoreboard getCurrentBoard() {
@@ -62,29 +81,15 @@ abstract public class McMMOScoreboardEvent extends Event {
 
     /**
      * The ENUM defining the reason for this event
+     *
      * @return the reason for this event
      */
     public ScoreboardEventReason getScoreboardEventReason() {
         return scoreboardEventReason;
     }
 
-    /**
-     * Change the target player for this event
-     * @param targetPlayer the new target for this event
-     */
-    public void setTargetPlayer(Player targetPlayer) {
-        this.targetPlayer = targetPlayer;
-    }
-
-    /** Rest of file is required boilerplate for custom events **/
-    private static final HandlerList handlers = new HandlerList();
-
     @Override
     public HandlerList getHandlers() {
         return handlers;
     }
-
-    public static HandlerList getHandlerList() {
-        return handlers;
-    }
 }

+ 3 - 2
bukkit/src/main/java/com/gmail/nossr50/events/scoreboard/McMMOScoreboardObjectiveEvent.java

@@ -6,10 +6,9 @@ import org.bukkit.scoreboard.Objective;
 import org.bukkit.scoreboard.Scoreboard;
 
 public class McMMOScoreboardObjectiveEvent extends McMMOScoreboardEvent implements Cancellable {
+    protected final ScoreboardObjectiveEventReason objectiveEventReason;
     protected boolean cancelled;
-
     protected Objective targetObjective;
-    protected final ScoreboardObjectiveEventReason objectiveEventReason;
 
     public McMMOScoreboardObjectiveEvent(Objective targetObjective, ScoreboardObjectiveEventReason objectiveEventReason, Scoreboard scoreboard, Scoreboard oldboard, Player targetPlayer, ScoreboardEventReason scoreboardEventReason) {
         super(scoreboard, oldboard, targetPlayer, scoreboardEventReason);
@@ -20,6 +19,7 @@ public class McMMOScoreboardObjectiveEvent extends McMMOScoreboardEvent implemen
 
     /**
      * The objective that will be modified by this event
+     *
      * @return
      */
     public Objective getTargetObjective() {
@@ -28,6 +28,7 @@ public class McMMOScoreboardObjectiveEvent extends McMMOScoreboardEvent implemen
 
     /**
      * Change the target objective for this event
+     *
      * @param newObjective new target objective
      */
     public void setTargetObjective(Objective newObjective) {

+ 13 - 14
bukkit/src/main/java/com/gmail/nossr50/events/skills/McMMOPlayerNotificationEvent.java

@@ -12,6 +12,10 @@ import org.bukkit.event.player.PlayerEvent;
  * This event is sent for when mcMMO informs a player about various important information
  */
 public class McMMOPlayerNotificationEvent extends PlayerEvent implements Cancellable {
+    private static final HandlerList handlers = new HandlerList();
+    protected final NotificationType notificationType;
+    protected ChatMessageType chatMessageType;
+    protected TextComponent notificationTextComponent;
     private boolean isCancelled;
     /*
      * Messages can be sent to both places, as configured in advanced.yml
@@ -20,12 +24,6 @@ public class McMMOPlayerNotificationEvent extends PlayerEvent implements Cancell
      */
     private boolean isMessageAlsoBeingSentToChat;
 
-    private static final HandlerList handlers = new HandlerList();
-    protected ChatMessageType chatMessageType;
-
-    protected TextComponent notificationTextComponent;
-    protected final NotificationType notificationType;
-
     public McMMOPlayerNotificationEvent(Player who, NotificationType notificationType, TextComponent notificationTextComponent, ChatMessageType chatMessageType, boolean isMessageAlsoBeingSentToChat) {
         super(who);
         this.notificationType = notificationType;
@@ -39,6 +37,10 @@ public class McMMOPlayerNotificationEvent extends PlayerEvent implements Cancell
      * Getters & Setters
      */
 
+    public static HandlerList getHandlerList() {
+        return handlers;
+    }
+
     public boolean isMessageAlsoBeingSentToChat() {
         return isMessageAlsoBeingSentToChat;
     }
@@ -63,27 +65,24 @@ public class McMMOPlayerNotificationEvent extends PlayerEvent implements Cancell
         this.chatMessageType = chatMessageType;
     }
 
+    /*
+     * Custom Event Boilerplate
+     */
+
     /**
      * The notification type for this event
+     *
      * @return this event's notification type
      */
     public NotificationType getEventNotificationType() {
         return notificationType;
     }
 
-    /*
-     * Custom Event Boilerplate
-     */
-
     @Override
     public HandlerList getHandlers() {
         return handlers;
     }
 
-    public static HandlerList getHandlerList() {
-        return handlers;
-    }
-
     /*
      * Cancellable Interface Boilerplate
      */

+ 9 - 8
bukkit/src/main/java/com/gmail/nossr50/events/skills/McMMOPlayerSkillEvent.java

@@ -1,7 +1,7 @@
 package com.gmail.nossr50.events.skills;
 
-import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.data.UserManager;
+import com.gmail.nossr50.core.skills.PrimarySkillType;
 import org.bukkit.entity.Player;
 import org.bukkit.event.HandlerList;
 import org.bukkit.event.player.PlayerEvent;
@@ -10,6 +10,10 @@ import org.bukkit.event.player.PlayerEvent;
  * Generic event for mcMMO skill handling.
  */
 public abstract class McMMOPlayerSkillEvent extends PlayerEvent {
+    /**
+     * Rest of file is required boilerplate for custom events
+     **/
+    private static final HandlerList handlers = new HandlerList();
     protected PrimarySkillType skill;
     protected int skillLevel;
 
@@ -19,6 +23,10 @@ public abstract class McMMOPlayerSkillEvent extends PlayerEvent {
         this.skillLevel = UserManager.getPlayer(player).getSkillLevel(skill);
     }
 
+    public static HandlerList getHandlerList() {
+        return handlers;
+    }
+
     /**
      * @return The skill involved in this event
      */
@@ -33,15 +41,8 @@ public abstract class McMMOPlayerSkillEvent extends PlayerEvent {
         return skillLevel;
     }
 
-    /** Rest of file is required boilerplate for custom events **/
-    private static final HandlerList handlers = new HandlerList();
-
     @Override
     public HandlerList getHandlers() {
         return handlers;
     }
-
-    public static HandlerList getHandlerList() {
-        return handlers;
-    }
 }

+ 3 - 1
bukkit/src/main/java/com/gmail/nossr50/events/skills/repair/McMMOPlayerRepairCheckEvent.java

@@ -44,7 +44,9 @@ public class McMMOPlayerRepairCheckEvent extends McMMOPlayerSkillEvent implement
         return repairedObject;
     }
 
-    /** Following are required for Cancellable **/
+    /**
+     * Following are required for Cancellable
+     **/
     @Override
     public boolean isCancelled() {
         return cancelled;

+ 3 - 1
bukkit/src/main/java/com/gmail/nossr50/events/skills/salvage/McMMOPlayerSalvageCheckEvent.java

@@ -44,7 +44,9 @@ public class McMMOPlayerSalvageCheckEvent extends McMMOPlayerSkillEvent implemen
         return enchantedBook;
     }
 
-    /** Following are required for Cancellable **/
+    /**
+     * Following are required for Cancellable
+     **/
     @Override
     public boolean isCancelled() {
         return cancelled;

+ 4 - 3
bukkit/src/main/java/com/gmail/nossr50/events/skills/secondaryabilities/SubSkillEvent.java

@@ -13,7 +13,8 @@ public class SubSkillEvent extends McMMOPlayerSkillEvent implements Cancellable
 
     /**
      * Only skills using the old system will fire this event
-     * @param player target player
+     *
+     * @param player       target player
      * @param subSkillType target subskill
      * @Deprecated Skills will be using a new system stemming from the AbstractSubSkill class so make sure you check for both events, this event will be removed eventually.
      */
@@ -23,13 +24,13 @@ public class SubSkillEvent extends McMMOPlayerSkillEvent implements Cancellable
         this.subSkillType = subSkillType;
     }
 
-    public SubSkillEvent(Player player, AbstractSubSkill abstractSubSkill)
-    {
+    public SubSkillEvent(Player player, AbstractSubSkill abstractSubSkill) {
         super(player, abstractSubSkill.getPrimarySkill());
     }
 
     /**
      * Gets the SubSkillType involved in the event
+     *
      * @return the SubSkillType
      */
     public SubSkillType getSubSkillType() {

+ 1 - 2
bukkit/src/main/java/com/gmail/nossr50/events/skills/secondaryabilities/SubSkillRandomCheckEvent.java

@@ -12,8 +12,7 @@ public class SubSkillRandomCheckEvent extends SubSkillEvent {
         this.chance = chance;
     }
 
-    public SubSkillRandomCheckEvent(Player player, AbstractSubSkill abstractSubSkill, double chance)
-    {
+    public SubSkillRandomCheckEvent(Player player, AbstractSubSkill abstractSubSkill, double chance) {
         super(player, abstractSubSkill);
         this.chance = chance;
     }

+ 3 - 1
bukkit/src/main/java/com/gmail/nossr50/events/skills/unarmed/McMMOPlayerDisarmEvent.java

@@ -18,7 +18,9 @@ public class McMMOPlayerDisarmEvent extends McMMOPlayerSkillEvent implements Can
         return defender;
     }
 
-    /** Following are required for Cancellable **/
+    /**
+     * Following are required for Cancellable
+     **/
     @Override
     public boolean isCancelled() {
         return cancelled;

+ 55 - 80
bukkit/src/main/java/com/gmail/nossr50/listeners/BlockListener.java

@@ -1,34 +1,34 @@
 package com.gmail.nossr50.listeners;
 
+import com.gmail.nossr50.config.experience.ExperienceConfig;
 import com.gmail.nossr50.core.config.skills.Config;
 import com.gmail.nossr50.core.config.skills.HiddenConfig;
 import com.gmail.nossr50.core.config.skills.WorldBlacklist;
-import com.gmail.nossr50.config.experience.ExperienceConfig;
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.player.McMMOPlayer;
 import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.skills.SuperAbilityType;
 import com.gmail.nossr50.core.skills.ToolType;
-import com.gmail.nossr50.events.fake.FakeBlockBreakEvent;
-import com.gmail.nossr50.events.fake.FakeBlockDamageEvent;
-import com.gmail.nossr50.mcMMO;
+import com.gmail.nossr50.core.skills.child.salvage.Salvage;
 import com.gmail.nossr50.core.skills.primary.alchemy.Alchemy;
 import com.gmail.nossr50.core.skills.primary.excavation.ExcavationManager;
 import com.gmail.nossr50.core.skills.primary.herbalism.Herbalism;
 import com.gmail.nossr50.core.skills.primary.herbalism.HerbalismManager;
 import com.gmail.nossr50.core.skills.primary.mining.MiningManager;
 import com.gmail.nossr50.core.skills.primary.repair.Repair;
-import com.gmail.nossr50.core.skills.child.salvage.Salvage;
 import com.gmail.nossr50.core.skills.primary.woodcutting.WoodcuttingManager;
 import com.gmail.nossr50.core.util.BlockUtils;
 import com.gmail.nossr50.core.util.EventUtils;
 import com.gmail.nossr50.core.util.ItemUtils;
 import com.gmail.nossr50.core.util.Permissions;
-import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.util.skills.SkillUtils;
 import com.gmail.nossr50.core.util.sounds.SoundManager;
 import com.gmail.nossr50.core.util.sounds.SoundType;
 import com.gmail.nossr50.core.worldguard.WorldGuardManager;
 import com.gmail.nossr50.core.worldguard.WorldGuardUtils;
+import com.gmail.nossr50.events.fake.FakeBlockBreakEvent;
+import com.gmail.nossr50.events.fake.FakeBlockDamageEvent;
+import com.gmail.nossr50.mcMMO;
 import org.bukkit.GameMode;
 import org.bukkit.Location;
 import org.bukkit.Material;
@@ -62,7 +62,7 @@ public class BlockListener implements Listener {
     @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
     public void onBlockPistonExtend(BlockPistonExtendEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getBlock().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getBlock().getWorld()))
             return;
 
         BlockFace direction = event.getDirection();
@@ -85,7 +85,7 @@ public class BlockListener implements Listener {
     @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
     public void onBlockPistonRetract(BlockPistonRetractEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getBlock().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getBlock().getWorld()))
             return;
 
         // Get opposite direction so we get correct block
@@ -105,14 +105,12 @@ public class BlockListener implements Listener {
      * @param event The event to watch
      */
     @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
-    public void onEntityBlockFormEvent(EntityBlockFormEvent event)
-    {
+    public void onEntityBlockFormEvent(EntityBlockFormEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getBlock().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getBlock().getWorld()))
             return;
 
-        if(BlockUtils.shouldBeWatched(event.getBlock().getState()))
-        {
+        if (BlockUtils.shouldBeWatched(event.getBlock().getState())) {
             mcMMO.getPlaceStore().setTrue(event.getBlock());
         }
     }
@@ -125,14 +123,14 @@ public class BlockListener implements Listener {
     @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
     public void onFallingBlock(EntityChangeBlockEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getBlock().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getBlock().getWorld()))
             return;
 
         if (BlockUtils.shouldBeWatched(event.getBlock().getState()) && event.getEntityType().equals(EntityType.FALLING_BLOCK)) {
             if (event.getTo().equals(Material.AIR) && mcMMO.getPlaceStore().isTrue(event.getBlock())) {
-                event.getEntity().setMetadata("mcMMOBlockFall", new FixedMetadataValue( plugin, event.getBlock().getLocation()));
+                event.getEntity().setMetadata("mcMMOBlockFall", new FixedMetadataValue(plugin, event.getBlock().getLocation()));
             } else {
-                List<MetadataValue> values = event.getEntity().getMetadata( "mcMMOBlockFall" );
+                List<MetadataValue> values = event.getEntity().getMetadata("mcMMOBlockFall");
 
                 if (!values.isEmpty()) {
 
@@ -140,8 +138,8 @@ public class BlockListener implements Listener {
                     Block spawn = ((org.bukkit.Location) values.get(0).value()).getBlock();
 
 
-                    mcMMO.getPlaceStore().setTrue( event.getBlock() );
-                    mcMMO.getPlaceStore().setFalse( spawn );
+                    mcMMO.getPlaceStore().setTrue(event.getBlock());
+                    mcMMO.getPlaceStore().setFalse(spawn);
 
                 }
             }
@@ -156,7 +154,7 @@ public class BlockListener implements Listener {
     @EventHandler(priority = EventPriority.MONITOR)
     public void onBlockPlace(BlockPlaceEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getBlock().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getBlock().getWorld()))
             return;
 
         Player player = event.getPlayer();
@@ -178,8 +176,7 @@ public class BlockListener implements Listener {
 
         if (blockState.getType() == Repair.anvilMaterial && PrimarySkillType.REPAIR.getPermissions(player)) {
             mcMMOPlayer.getRepairManager().placedAnvilCheck();
-        }
-        else if (blockState.getType() == Salvage.anvilMaterial && PrimarySkillType.SALVAGE.getPermissions(player)) {
+        } else if (blockState.getType() == Salvage.anvilMaterial && PrimarySkillType.SALVAGE.getPermissions(player)) {
             mcMMOPlayer.getSalvageManager().placedAnvilCheck();
         }
     }
@@ -192,7 +189,7 @@ public class BlockListener implements Listener {
     @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
     public void onBlockMultiPlace(BlockMultiPlaceEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getBlock().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getBlock().getWorld()))
             return;
 
         Player player = event.getPlayer();
@@ -201,8 +198,7 @@ public class BlockListener implements Listener {
             return;
         }
 
-        for (BlockState replacedBlockState : event.getReplacedBlockStates())
-        {
+        for (BlockState replacedBlockState : event.getReplacedBlockStates()) {
             BlockState blockState = replacedBlockState.getBlock().getState();
 
             /* Check if the blocks placed should be monitored so they do not give out XP in the future */
@@ -213,10 +209,9 @@ public class BlockListener implements Listener {
     }
 
     @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
-    public void onBlockGrow(BlockGrowEvent event)
-    {
+    public void onBlockGrow(BlockGrowEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getBlock().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getBlock().getWorld()))
             return;
 
         BlockState blockState = event.getBlock().getState();
@@ -236,13 +231,12 @@ public class BlockListener implements Listener {
     @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
     public void onBlockBreak(BlockBreakEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getBlock().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getBlock().getWorld()))
             return;
 
         /* WORLD GUARD MAIN FLAG CHECK */
-        if(WorldGuardUtils.isWorldGuardLoaded())
-        {
-            if(!WorldGuardManager.getInstance().hasMainFlag(event.getPlayer()))
+        if (WorldGuardUtils.isWorldGuardLoaded()) {
+            if (!WorldGuardManager.getInstance().hasMainFlag(event.getPlayer()))
                 return;
         }
 
@@ -300,8 +294,7 @@ public class BlockListener implements Listener {
             WoodcuttingManager woodcuttingManager = mcMMOPlayer.getWoodcuttingManager();
             if (woodcuttingManager.canUseTreeFeller(heldItem)) {
                 woodcuttingManager.processTreeFeller(blockState);
-            }
-            else {
+            } else {
                 woodcuttingManager.woodcuttingBlockCheck(blockState);
             }
         }
@@ -328,13 +321,12 @@ public class BlockListener implements Listener {
     @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
     public void onBlockBreakHigher(BlockBreakEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getBlock().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getBlock().getWorld()))
             return;
 
         /* WORLD GUARD MAIN FLAG CHECK */
-        if(WorldGuardUtils.isWorldGuardLoaded())
-        {
-            if(!WorldGuardManager.getInstance().hasMainFlag(event.getPlayer()))
+        if (WorldGuardUtils.isWorldGuardLoaded()) {
+            if (!WorldGuardManager.getInstance().hasMainFlag(event.getPlayer()))
                 return;
         }
 
@@ -363,8 +355,7 @@ public class BlockListener implements Listener {
                 if (herbalismManager.processHylianLuck(blockState)) {
                     blockState.update(true);
                     event.setCancelled(true);
-                }
-                else if (blockState.getType() == Material.FLOWER_POT) {
+                } else if (blockState.getType() == Material.FLOWER_POT) {
                     blockState.setType(Material.AIR);
                     blockState.update(true);
                     event.setCancelled(true);
@@ -394,13 +385,12 @@ public class BlockListener implements Listener {
         BlockState blockState = event.getBlock().getState();
 
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getBlock().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getBlock().getWorld()))
             return;
 
         /* WORLD GUARD MAIN FLAG CHECK */
-        if(WorldGuardUtils.isWorldGuardLoaded())
-        {
-            if(!WorldGuardManager.getInstance().hasMainFlag(event.getPlayer()))
+        if (WorldGuardUtils.isWorldGuardLoaded()) {
+            if (!WorldGuardManager.getInstance().hasMainFlag(event.getPlayer()))
                 return;
         }
 
@@ -423,17 +413,13 @@ public class BlockListener implements Listener {
 
             if (mcMMOPlayer.getToolPreparationMode(ToolType.HOE) && ItemUtils.isHoe(heldItem) && (BlockUtils.affectedByGreenTerra(blockState) || BlockUtils.canMakeMossy(blockState)) && Permissions.greenTerra(player)) {
                 mcMMOPlayer.checkAbilityActivation(PrimarySkillType.HERBALISM);
-            }
-            else if (mcMMOPlayer.getToolPreparationMode(ToolType.AXE) && ItemUtils.isAxe(heldItem) && BlockUtils.isLog(blockState) && Permissions.treeFeller(player)) {
+            } else if (mcMMOPlayer.getToolPreparationMode(ToolType.AXE) && ItemUtils.isAxe(heldItem) && BlockUtils.isLog(blockState) && Permissions.treeFeller(player)) {
                 mcMMOPlayer.checkAbilityActivation(PrimarySkillType.WOODCUTTING);
-            }
-            else if (mcMMOPlayer.getToolPreparationMode(ToolType.PICKAXE) && ItemUtils.isPickaxe(heldItem) && BlockUtils.affectedBySuperBreaker(blockState) && Permissions.superBreaker(player)) {
+            } else if (mcMMOPlayer.getToolPreparationMode(ToolType.PICKAXE) && ItemUtils.isPickaxe(heldItem) && BlockUtils.affectedBySuperBreaker(blockState) && Permissions.superBreaker(player)) {
                 mcMMOPlayer.checkAbilityActivation(PrimarySkillType.MINING);
-            }
-            else if (mcMMOPlayer.getToolPreparationMode(ToolType.SHOVEL) && ItemUtils.isShovel(heldItem) && BlockUtils.affectedByGigaDrillBreaker(blockState) && Permissions.gigaDrillBreaker(player)) {
+            } else if (mcMMOPlayer.getToolPreparationMode(ToolType.SHOVEL) && ItemUtils.isShovel(heldItem) && BlockUtils.affectedByGigaDrillBreaker(blockState) && Permissions.gigaDrillBreaker(player)) {
                 mcMMOPlayer.checkAbilityActivation(PrimarySkillType.EXCAVATION);
-            }
-            else if (mcMMOPlayer.getToolPreparationMode(ToolType.FISTS) && heldItem.getType() == Material.AIR && (BlockUtils.affectedByGigaDrillBreaker(blockState) || blockState.getType() == Material.SNOW || BlockUtils.affectedByBlockCracker(blockState) && Permissions.berserk(player))) {
+            } else if (mcMMOPlayer.getToolPreparationMode(ToolType.FISTS) && heldItem.getType() == Material.AIR && (BlockUtils.affectedByGigaDrillBreaker(blockState) || blockState.getType() == Material.SNOW || BlockUtils.affectedByBlockCracker(blockState) && Permissions.berserk(player))) {
                 mcMMOPlayer.checkAbilityActivation(PrimarySkillType.UNARMED);
             }
         }
@@ -466,13 +452,12 @@ public class BlockListener implements Listener {
     @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
     public void onBlockDamageHigher(BlockDamageEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getBlock().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getBlock().getWorld()))
             return;
 
         /* WORLD GUARD MAIN FLAG CHECK */
-        if(WorldGuardUtils.isWorldGuardLoaded())
-        {
-            if(!WorldGuardManager.getInstance().hasMainFlag(event.getPlayer()))
+        if (WorldGuardUtils.isWorldGuardLoaded()) {
+            if (!WorldGuardManager.getInstance().hasMainFlag(event.getPlayer()))
                 return;
         }
 
@@ -500,19 +485,16 @@ public class BlockListener implements Listener {
             if (mcMMOPlayer.getHerbalismManager().processGreenTerra(blockState)) {
                 blockState.update(true);
             }
-        }
-        else if (mcMMOPlayer.getAbilityMode(SuperAbilityType.BERSERK) && heldItem.getType() == Material.AIR) {
+        } else if (mcMMOPlayer.getAbilityMode(SuperAbilityType.BERSERK) && heldItem.getType() == Material.AIR) {
             if (SuperAbilityType.BERSERK.blockCheck(block.getState()) && EventUtils.simulateBlockBreak(block, player, true)) {
                 event.setInstaBreak(true);
                 SoundManager.sendSound(player, block.getLocation(), SoundType.POP);
-            }
-            else if (mcMMOPlayer.getUnarmedManager().canUseBlockCracker() && BlockUtils.affectedByBlockCracker(blockState) && EventUtils.simulateBlockBreak(block, player, true)) {
+            } else if (mcMMOPlayer.getUnarmedManager().canUseBlockCracker() && BlockUtils.affectedByBlockCracker(blockState) && EventUtils.simulateBlockBreak(block, player, true)) {
                 if (mcMMOPlayer.getUnarmedManager().blockCrackerCheck(blockState)) {
                     blockState.update();
                 }
             }
-        }
-        else if (mcMMOPlayer.getWoodcuttingManager().canUseLeafBlower(heldItem) && BlockUtils.isLeaves(blockState) && EventUtils.simulateBlockBreak(block, player, true)) {
+        } else if (mcMMOPlayer.getWoodcuttingManager().canUseLeafBlower(heldItem) && BlockUtils.isLeaves(blockState) && EventUtils.simulateBlockBreak(block, player, true)) {
             event.setInstaBreak(true);
             SoundManager.sendSound(player, block.getLocation(), SoundType.POP);
         }
@@ -532,46 +514,39 @@ public class BlockListener implements Listener {
     }
 
     public void debugStickDump(Player player, BlockState blockState) {
-        if(player.getInventory().getItemInMainHand().getType() == Material.DEBUG_STICK)
-        {
-            if(mcMMO.getPlaceStore().isTrue(blockState))
+        if (player.getInventory().getItemInMainHand().getType() == Material.DEBUG_STICK) {
+            if (mcMMO.getPlaceStore().isTrue(blockState))
                 player.sendMessage("[mcMMO DEBUG] This block is not natural and does not reward treasures/XP");
-            else
-            {
+            else {
                 player.sendMessage("[mcMMO DEBUG] This block is considered natural by mcMMO");
                 UserManager.getPlayer(player).getExcavationManager().printExcavationDebug(player, blockState);
             }
 
-            if(WorldGuardUtils.isWorldGuardLoaded())
-            {
-                if(WorldGuardManager.getInstance().hasMainFlag(player))
+            if (WorldGuardUtils.isWorldGuardLoaded()) {
+                if (WorldGuardManager.getInstance().hasMainFlag(player))
                     player.sendMessage("[mcMMO DEBUG] World Guard main flag is permitted for this player in this region");
                 else
                     player.sendMessage("[mcMMO DEBUG] World Guard main flag is DENIED for this player in this region");
 
-                if(WorldGuardManager.getInstance().hasXPFlag(player))
+                if (WorldGuardManager.getInstance().hasXPFlag(player))
                     player.sendMessage("[mcMMO DEBUG] World Guard xp flag is permitted for this player in this region");
                 else
                     player.sendMessage("[mcMMO DEBUG] World Guard xp flag is not permitted for this player in this region");
             }
 
-            if(blockState instanceof Furnace)
-            {
+            if (blockState instanceof Furnace) {
                 Furnace furnace = (Furnace) blockState;
-                if(furnace.hasMetadata(mcMMO.furnaceMetadataKey))
-                {
+                if (furnace.hasMetadata(mcMMO.furnaceMetadataKey)) {
                     player.sendMessage("[mcMMO DEBUG] This furnace has a registered owner");
                     Player furnacePlayer = getPlayerFromFurnace(furnace.getBlock());
-                    if(furnacePlayer != null)
-                    {
-                        player.sendMessage("[mcMMO DEBUG] This furnace is owned by player "+furnacePlayer.getName());
+                    if (furnacePlayer != null) {
+                        player.sendMessage("[mcMMO DEBUG] This furnace is owned by player " + furnacePlayer.getName());
                     }
-                }
-                else
+                } else
                     player.sendMessage("[mcMMO DEBUG] This furnace does not have a registered owner");
             }
 
-            if(ExperienceConfig.getInstance().isExperienceBarsEnabled())
+            if (ExperienceConfig.getInstance().isExperienceBarsEnabled())
                 player.sendMessage("[mcMMO DEBUG] XP bars are enabled, however you should check per-skill settings to make sure those are enabled.");
         }
     }

+ 101 - 142
bukkit/src/main/java/com/gmail/nossr50/listeners/EntityListener.java

@@ -1,31 +1,31 @@
 package com.gmail.nossr50.listeners;
 
+import com.gmail.nossr50.config.experience.ExperienceConfig;
 import com.gmail.nossr50.core.config.skills.AdvancedConfig;
 import com.gmail.nossr50.core.config.skills.Config;
 import com.gmail.nossr50.core.config.skills.WorldBlacklist;
-import com.gmail.nossr50.config.experience.ExperienceConfig;
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.meta.OldName;
 import com.gmail.nossr50.core.datatypes.player.McMMOPlayer;
-import com.gmail.nossr50.core.skills.SubSkillType;
-import com.gmail.nossr50.core.skills.subskills.interfaces.InteractType;
-import com.gmail.nossr50.events.fake.FakeEntityDamageByEntityEvent;
-import com.gmail.nossr50.events.fake.FakeEntityDamageEvent;
-import com.gmail.nossr50.events.fake.FakeEntityTameEvent;
-import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.core.party.PartyManager;
+import com.gmail.nossr50.core.skills.SubSkillType;
 import com.gmail.nossr50.core.skills.primary.archery.Archery;
 import com.gmail.nossr50.core.skills.primary.fishing.Fishing;
 import com.gmail.nossr50.core.skills.primary.mining.BlastMining;
 import com.gmail.nossr50.core.skills.primary.mining.MiningManager;
 import com.gmail.nossr50.core.skills.primary.taming.Taming;
 import com.gmail.nossr50.core.skills.primary.taming.TamingManager;
+import com.gmail.nossr50.core.skills.subskills.interfaces.InteractType;
 import com.gmail.nossr50.core.util.BlockUtils;
 import com.gmail.nossr50.core.util.Misc;
 import com.gmail.nossr50.core.util.Permissions;
-import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.util.skills.CombatUtils;
 import com.gmail.nossr50.core.worldguard.WorldGuardManager;
 import com.gmail.nossr50.core.worldguard.WorldGuardUtils;
+import com.gmail.nossr50.events.fake.FakeEntityDamageByEntityEvent;
+import com.gmail.nossr50.events.fake.FakeEntityDamageEvent;
+import com.gmail.nossr50.events.fake.FakeEntityTameEvent;
+import com.gmail.nossr50.mcMMO;
 import org.bukkit.Material;
 import org.bukkit.OfflinePlayer;
 import org.bukkit.block.Block;
@@ -55,15 +55,13 @@ public class EntityListener implements Listener {
     }
 
     @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
-    public void onEntityTargetEntity(EntityTargetLivingEntityEvent event)
-    {
-        if(!ExperienceConfig.getInstance().isEndermanEndermiteFarmingPrevented())
+    public void onEntityTargetEntity(EntityTargetLivingEntityEvent event) {
+        if (!ExperienceConfig.getInstance().isEndermanEndermiteFarmingPrevented())
             return;
 
         //Prevent entities from giving XP if they target endermite
-        if(event.getTarget() instanceof Endermite)
-        {
-            if(event.getEntity().getMetadata(mcMMO.entityMetadataKey) == null || event.getEntity().getMetadata(mcMMO.entityMetadataKey).size() <= 0)
+        if (event.getTarget() instanceof Endermite) {
+            if (event.getEntity().getMetadata(mcMMO.entityMetadataKey) == null || event.getEntity().getMetadata(mcMMO.entityMetadataKey).size() <= 0)
                 event.getEntity().setMetadata(mcMMO.entityMetadataKey, mcMMO.metadataValue);
         }
     }
@@ -71,17 +69,15 @@ public class EntityListener implements Listener {
     @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
     public void onEntityShootBow(EntityShootBowEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
             return;
 
-        if(event.getEntity() instanceof Player)
-        {
+        if (event.getEntity() instanceof Player) {
             Player player = (Player) event.getEntity();
 
             /* WORLD GUARD MAIN FLAG CHECK */
-            if(WorldGuardUtils.isWorldGuardLoaded())
-            {
-                if(!WorldGuardManager.getInstance().hasMainFlag(player))
+            if (WorldGuardUtils.isWorldGuardLoaded()) {
+                if (!WorldGuardManager.getInstance().hasMainFlag(player))
                     return;
             }
         }
@@ -105,17 +101,15 @@ public class EntityListener implements Listener {
     @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
     public void onProjectileLaunch(ProjectileLaunchEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
             return;
 
-        if(event.getEntity() instanceof Player)
-        {
+        if (event.getEntity() instanceof Player) {
             Player player = (Player) event.getEntity();
 
             /* WORLD GUARD MAIN FLAG CHECK */
-            if(WorldGuardUtils.isWorldGuardLoaded())
-            {
-                if(!WorldGuardManager.getInstance().hasMainFlag(player))
+            if (WorldGuardUtils.isWorldGuardLoaded()) {
+                if (!WorldGuardManager.getInstance().hasMainFlag(player))
                     return;
             }
         }
@@ -133,13 +127,12 @@ public class EntityListener implements Listener {
     /**
      * Monitor EntityChangeBlock events.
      *
-     * @param event
-     *            The event to watch
+     * @param event The event to watch
      */
     @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
     public void onEntityChangeBlock(EntityChangeBlockEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
             return;
 
         Block block = event.getBlock();
@@ -159,14 +152,12 @@ public class EntityListener implements Listener {
             if (mcMMO.getPlaceStore().isTrue(block) && !isTracked) {
                 mcMMO.getPlaceStore().setFalse(block);
                 entity.setMetadata(mcMMO.entityMetadataKey, mcMMO.metadataValue);
-            }
-            else if (isTracked) {
+            } else if (isTracked) {
                 mcMMO.getPlaceStore().setTrue(block);
             }
         } else if ((block.getType() == Material.REDSTONE_ORE)) {
             return;
-        }
-        else {
+        } else {
             if (mcMMO.getPlaceStore().isTrue(block)) {
                 mcMMO.getPlaceStore().setFalse(block);
             }
@@ -176,13 +167,12 @@ public class EntityListener implements Listener {
     /**
      * Handle EntityDamageByEntity events that involve modifying the event.
      *
-     * @param event
-     *            The event to watch
+     * @param event The event to watch
      */
     @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
     public void onEntityDamageByEntity(EntityDamageByEntityEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
             return;
 
         if (event instanceof FakeEntityDamageByEntityEvent) {
@@ -192,9 +182,8 @@ public class EntityListener implements Listener {
         if (event.getEntity() instanceof ArmorStand) {
             return;
         }
-        
-        if (event.getDamager().hasMetadata(mcMMO.funfettiMetadataKey))
-        {
+
+        if (event.getDamager().hasMetadata(mcMMO.funfettiMetadataKey)) {
             event.setCancelled(true);
             return;
         }
@@ -203,14 +192,12 @@ public class EntityListener implements Listener {
         Entity defender = event.getEntity();
         Entity attacker = event.getDamager();
 
-        if(attacker instanceof Player)
-        {
+        if (attacker instanceof Player) {
             Player player = (Player) attacker;
 
             /* WORLD GUARD MAIN FLAG CHECK */
-            if(WorldGuardUtils.isWorldGuardLoaded())
-            {
-                if(!WorldGuardManager.getInstance().hasMainFlag(player))
+            if (WorldGuardUtils.isWorldGuardLoaded()) {
+                if (!WorldGuardManager.getInstance().hasMainFlag(player))
                     return;
             }
         }
@@ -221,7 +208,7 @@ public class EntityListener implements Listener {
                 Player attackingPlayer = (Player) attacker;
                 if (event.getDamage(DamageModifier.ABSORPTION) > 0) {
                     //If friendly fire is off don't allow players to hurt one another
-                    if(!Config.getInstance().getPartyFriendlyFire())
+                    if (!Config.getInstance().getPartyFriendlyFire())
                         if ((PartyManager.inSameParty(defendingPlayer, attackingPlayer) || PartyManager.areAllies(defendingPlayer, attackingPlayer)) && !(Permissions.friendlyFire(attackingPlayer) && Permissions.friendlyFire(defendingPlayer))) {
                             event.setCancelled(true);
                             return;
@@ -252,7 +239,6 @@ public class EntityListener implements Listener {
         }
 
 
-
         if (Misc.isNPCEntity(attacker)) {
             return;
         }
@@ -263,15 +249,13 @@ public class EntityListener implements Listener {
             if (projectileSource instanceof LivingEntity) {
                 attacker = (LivingEntity) projectileSource;
             }
-        }
-        else if (attacker instanceof Tameable) {
+        } else if (attacker instanceof Tameable) {
             AnimalTamer animalTamer = ((Tameable) attacker).getOwner();
 
             if (animalTamer != null && ((OfflinePlayer) animalTamer).isOnline()) {
                 attacker = (Entity) animalTamer;
             }
-        }
-        else if (attacker instanceof TNTPrimed && defender instanceof Player) {
+        } else if (attacker instanceof TNTPrimed && defender instanceof Player) {
             if (BlastMining.processBlastMiningExplosion(event, (TNTPrimed) attacker, (Player) defender)) {
                 return;
             }
@@ -292,7 +276,7 @@ public class EntityListener implements Listener {
             }
 
             //Party Friendly Fire
-            if(!Config.getInstance().getPartyFriendlyFire())
+            if (!Config.getInstance().getPartyFriendlyFire())
                 if ((PartyManager.inSameParty(defendingPlayer, attackingPlayer) || PartyManager.areAllies(defendingPlayer, attackingPlayer)) && !(Permissions.friendlyFire(attackingPlayer) && Permissions.friendlyFire(defendingPlayer))) {
                     event.setCancelled(true);
                     return;
@@ -305,17 +289,14 @@ public class EntityListener implements Listener {
         /**
          * This sets entity names back to whatever they are supposed to be
          */
-        if(!(attacker instanceof Player) && defender instanceof Player)
-        {
-            if(event.getFinalDamage() >= ((LivingEntity) defender).getHealth())
-            {
+        if (!(attacker instanceof Player) && defender instanceof Player) {
+            if (event.getFinalDamage() >= ((LivingEntity) defender).getHealth()) {
                 List<MetadataValue> metadataValue = attacker.getMetadata("mcMMO_oldName");
 
-                if(metadataValue.size() <= 0)
+                if (metadataValue.size() <= 0)
                     return;
 
-                if(metadataValue != null)
-                {
+                if (metadataValue != null) {
                     OldName oldName = (OldName) metadataValue.get(0);
                     attacker.setCustomName(oldName.asString());
                     attacker.setCustomNameVisible(false);
@@ -327,22 +308,19 @@ public class EntityListener implements Listener {
     /**
      * Handle EntityDamage events that involve modifying the event.
      *
-     * @param event
-     *            The event to modify
+     * @param event The event to modify
      */
     @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
     public void onEntityDamage(EntityDamageEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
             return;
 
-        if(event.getEntity() instanceof Player)
-        {
+        if (event.getEntity() instanceof Player) {
             Player player = (Player) event.getEntity();
             /* WORLD GUARD MAIN FLAG CHECK */
-            if(WorldGuardUtils.isWorldGuardLoaded())
-            {
-                if(!WorldGuardManager.getInstance().hasMainFlag(player))
+            if (WorldGuardUtils.isWorldGuardLoaded()) {
+                if (!WorldGuardManager.getInstance().hasMainFlag(player))
                     return;
             }
         }
@@ -408,19 +386,15 @@ public class EntityListener implements Listener {
                 mcMMOPlayer.actualizeRecentlyHurt();
             }
 
-        }
-
-        else if (livingEntity instanceof Tameable) {
+        } else if (livingEntity instanceof Tameable) {
             Tameable pet = (Tameable) livingEntity;
             AnimalTamer owner = pet.getOwner();
 
-            if(owner instanceof Player)
-            {
+            if (owner instanceof Player) {
                 Player player = (Player) owner;
                 /* WORLD GUARD MAIN FLAG CHECK */
-                if(WorldGuardUtils.isWorldGuardLoaded())
-                {
-                    if(!WorldGuardManager.getInstance().hasMainFlag(player))
+                if (WorldGuardUtils.isWorldGuardLoaded()) {
+                    if (!WorldGuardManager.getInstance().hasMainFlag(player))
                         return;
                 }
             }
@@ -493,13 +467,12 @@ public class EntityListener implements Listener {
     /**
      * Monitor EntityDeath events.
      *
-     * @param event
-     *            The event to watch
+     * @param event The event to watch
      */
     @EventHandler(priority = EventPriority.LOWEST)
     public void onEntityDeathLowest(EntityDeathEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
             return;
 
         LivingEntity entity = event.getEntity();
@@ -526,13 +499,12 @@ public class EntityListener implements Listener {
     /**
      * Monitor EntityDeath events.
      *
-     * @param event
-     *            The event to watch
+     * @param event The event to watch
      */
     @EventHandler(priority = EventPriority.MONITOR)
     public void onEntityDeath(EntityDeathEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
             return;
 
         LivingEntity entity = event.getEntity();
@@ -547,13 +519,12 @@ public class EntityListener implements Listener {
     /**
      * Monitor CreatureSpawn events.
      *
-     * @param event
-     *            The event to watch
+     * @param event The event to watch
      */
     @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
     public void onCreatureSpawn(CreatureSpawnEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
             return;
 
         LivingEntity entity = event.getEntity();
@@ -583,13 +554,12 @@ public class EntityListener implements Listener {
     /**
      * Handle ExplosionPrime events that involve modifying the event.
      *
-     * @param event
-     *            The event to modify
+     * @param event The event to modify
      */
     @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
     public void onExplosionPrime(ExplosionPrimeEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
             return;
 
         Entity entity = event.getEntity();
@@ -607,9 +577,8 @@ public class EntityListener implements Listener {
         }
 
         /* WORLD GUARD MAIN FLAG CHECK */
-        if(WorldGuardUtils.isWorldGuardLoaded())
-        {
-            if(!WorldGuardManager.getInstance().hasMainFlag(player))
+        if (WorldGuardUtils.isWorldGuardLoaded()) {
+            if (!WorldGuardManager.getInstance().hasMainFlag(player))
                 return;
         }
 
@@ -623,13 +592,12 @@ public class EntityListener implements Listener {
     /**
      * Handle EntityExplode events that involve modifying the event.
      *
-     * @param event
-     *            The event to modify
+     * @param event The event to modify
      */
     @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
     public void onEnitityExplode(EntityExplodeEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
             return;
 
         Entity entity = event.getEntity();
@@ -647,9 +615,8 @@ public class EntityListener implements Listener {
         }
 
         /* WORLD GUARD MAIN FLAG CHECK */
-        if(WorldGuardUtils.isWorldGuardLoaded())
-        {
-            if(!WorldGuardManager.getInstance().hasMainFlag(player))
+        if (WorldGuardUtils.isWorldGuardLoaded()) {
+            if (!WorldGuardManager.getInstance().hasMainFlag(player))
                 return;
         }
 
@@ -664,13 +631,12 @@ public class EntityListener implements Listener {
     /**
      * Handle EntityExplode events that involve modifying the event.
      *
-     * @param event
-     *            The event to modify
+     * @param event The event to modify
      */
     @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
     public void onEntityExplodeMonitor(EntityExplodeEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
             return;
 
         Entity entity = event.getEntity();
@@ -685,13 +651,12 @@ public class EntityListener implements Listener {
     /**
      * Handle FoodLevelChange events that involve modifying the event.
      *
-     * @param event
-     *            The event to modify
+     * @param event The event to modify
      */
     @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
     public void onFoodLevelChange(FoodLevelChangeEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
             return;
 
         Entity entity = event.getEntity();
@@ -703,9 +668,8 @@ public class EntityListener implements Listener {
         Player player = (Player) entity;
 
         /* WORLD GUARD MAIN FLAG CHECK */
-        if(WorldGuardUtils.isWorldGuardLoaded())
-        {
-            if(!WorldGuardManager.getInstance().hasMainFlag(player))
+        if (WorldGuardUtils.isWorldGuardLoaded()) {
+            if (!WorldGuardManager.getInstance().hasMainFlag(player))
                 return;
         }
 
@@ -728,27 +692,27 @@ public class EntityListener implements Listener {
          */
         switch (player.getInventory().getItemInMainHand().getType()) {
             case BAKED_POTATO: /*
-                                * RESTORES 3 HUNGER - RESTORES 5 1/2 HUNGER @
-                                * 1000
-                                */
+             * RESTORES 3 HUNGER - RESTORES 5 1/2 HUNGER @
+             * 1000
+             */
             case BEETROOT:
             case BREAD: /* RESTORES 2 1/2 HUNGER - RESTORES 5 HUNGER @ 1000 */
             case CARROT: /*
-                               * RESTORES 2 HUNGER - RESTORES 4 1/2 HUNGER @
-                               * 1000
-                               */
+             * RESTORES 2 HUNGER - RESTORES 4 1/2 HUNGER @
+             * 1000
+             */
             case GOLDEN_CARROT: /*
-                                 * RESTORES 3 HUNGER - RESTORES 5 1/2 HUNGER @
-                                 * 1000
-                                 */
+             * RESTORES 3 HUNGER - RESTORES 5 1/2 HUNGER @
+             * 1000
+             */
             case MUSHROOM_STEW: /*
-                                 * RESTORES 4 HUNGER - RESTORES 6 1/2 HUNGER @
-                                 * 1000
-                                 */
+             * RESTORES 4 HUNGER - RESTORES 6 1/2 HUNGER @
+             * 1000
+             */
             case PUMPKIN_PIE: /*
-                               * RESTORES 4 HUNGER - RESTORES 6 1/2 HUNGER @
-                               * 1000
-                               */
+             * RESTORES 4 HUNGER - RESTORES 6 1/2 HUNGER @
+             * 1000
+             */
                 if (Permissions.isSubSkillEnabled(player, SubSkillType.HERBALISM_FARMERS_DIET)) {
                     event.setFoodLevel(UserManager.getPlayer(player).getHerbalismManager().farmersDiet(newFoodLevel));
                 }
@@ -757,9 +721,9 @@ public class EntityListener implements Listener {
             case COOKIE: /* RESTORES 1/2 HUNGER - RESTORES 2 HUNGER @ 1000 */
             case MELON_SLICE: /* RESTORES 1 HUNGER - RESTORES 2 1/2 HUNGER @ 1000 */
             case POISONOUS_POTATO: /*
-                                    * RESTORES 1 HUNGER - RESTORES 2 1/2 HUNGER
-                                    * @ 1000
-                                    */
+             * RESTORES 1 HUNGER - RESTORES 2 1/2 HUNGER
+             * @ 1000
+             */
             case POTATO: /* RESTORES 1/2 HUNGER - RESTORES 2 HUNGER @ 1000 */
                 if (Permissions.isSubSkillEnabled(player, SubSkillType.HERBALISM_FARMERS_DIET)) {
                     event.setFoodLevel(UserManager.getPlayer(player).getHerbalismManager().farmersDiet(newFoodLevel));
@@ -767,9 +731,9 @@ public class EntityListener implements Listener {
                 return;
 
             case COOKED_SALMON: /*
-                               * RESTORES 2 1/2 HUNGER - RESTORES 5 HUNGER @
-                               * 1000
-                               */
+             * RESTORES 2 1/2 HUNGER - RESTORES 5 HUNGER @
+             * 1000
+             */
                 if (Permissions.isSubSkillEnabled(player, SubSkillType.FISHING_FISHERMANS_DIET)) {
                     event.setFoodLevel(UserManager.getPlayer(player).getFishingManager().handleFishermanDiet(Fishing.fishermansDietRankLevel1, newFoodLevel));
                 }
@@ -789,13 +753,12 @@ public class EntityListener implements Listener {
     /**
      * Monitor EntityTame events.
      *
-     * @param event
-     *            The event to watch
+     * @param event The event to watch
      */
     @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
     public void onEntityTame(EntityTameEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
             return;
 
         if (event instanceof FakeEntityTameEvent) {
@@ -805,9 +768,8 @@ public class EntityListener implements Listener {
         Player player = (Player) event.getOwner();
 
         /* WORLD GUARD MAIN FLAG CHECK */
-        if(WorldGuardUtils.isWorldGuardLoaded())
-        {
-            if(!WorldGuardManager.getInstance().hasMainFlag(player))
+        if (WorldGuardUtils.isWorldGuardLoaded()) {
+            if (!WorldGuardManager.getInstance().hasMainFlag(player))
                 return;
         }
 
@@ -824,13 +786,12 @@ public class EntityListener implements Listener {
     /**
      * Handle EntityTarget events.
      *
-     * @param event
-     *            The event to process
+     * @param event The event to process
      */
     @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
     public void onEntityTarget(EntityTargetEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
             return;
 
         Entity entity = event.getEntity();
@@ -843,9 +804,8 @@ public class EntityListener implements Listener {
         Player player = (Player) target;
 
         /* WORLD GUARD MAIN FLAG CHECK */
-        if(WorldGuardUtils.isWorldGuardLoaded())
-        {
-            if(!WorldGuardManager.getInstance().hasMainFlag(player))
+        if (WorldGuardUtils.isWorldGuardLoaded()) {
+            if (!WorldGuardManager.getInstance().hasMainFlag(player))
                 return;
         }
 
@@ -867,13 +827,12 @@ public class EntityListener implements Listener {
      * Handle PotionSplash events in order to fix broken Splash Potion of
      * Saturation.
      *
-     * @param event
-     *            The event to process
+     * @param event The event to process
      */
     @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
     public void onPotionSplash(PotionSplashEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
             return;
 
         for (PotionEffect effect : ((PotionMeta) event.getPotion().getItem().getItemMeta()).getCustomEffects()) {
@@ -887,11 +846,11 @@ public class EntityListener implements Listener {
             }
         }
     }
-    
+
     @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
     public void onPigZapEvent(PigZapEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
             return;
 
         if (event.getEntity().hasMetadata(mcMMO.entityMetadataKey)) {

+ 21 - 23
bukkit/src/main/java/com/gmail/nossr50/listeners/InteractionManager.java

@@ -17,26 +17,26 @@ public class InteractionManager {
 
     /**
      * Registers subskills with the Interaction registration
+     *
      * @param abstractSubSkill the target subskill to register
      */
-    public static void registerSubSkill(AbstractSubSkill abstractSubSkill)
-    {
+    public static void registerSubSkill(AbstractSubSkill abstractSubSkill) {
         /* INIT MAPS */
-        if(interactRegister == null)
+        if (interactRegister == null)
             interactRegister = new HashMap<>();
 
-        if(subSkillList == null)
+        if (subSkillList == null)
             subSkillList = new ArrayList<>();
 
-        if(subSkillNameMap == null)
+        if (subSkillNameMap == null)
             subSkillNameMap = new HashMap<>();
 
         //Store a unique copy of each subskill
-        if(!subSkillList.contains(abstractSubSkill))
+        if (!subSkillList.contains(abstractSubSkill))
             subSkillList.add(abstractSubSkill);
 
         //Init ArrayList
-        if(interactRegister.get(abstractSubSkill.getInteractType()) == null)
+        if (interactRegister.get(abstractSubSkill.getInteractType()) == null)
             interactRegister.put(abstractSubSkill.getInteractType(), new ArrayList<>());
 
         //Registration array reference
@@ -48,33 +48,32 @@ public class InteractionManager {
         String lowerCaseName = abstractSubSkill.getConfigKeyName().toLowerCase();
 
         //Register in name map
-        if(subSkillNameMap.get(lowerCaseName) == null)
+        if (subSkillNameMap.get(lowerCaseName) == null)
             subSkillNameMap.put(lowerCaseName, abstractSubSkill);
 
-        System.out.println("[mcMMO] registered subskill: "+ abstractSubSkill.getConfigKeyName());
+        System.out.println("[mcMMO] registered subskill: " + abstractSubSkill.getConfigKeyName());
     }
 
     /**
      * Grabs the registered abstract skill by its name
      * Is not case sensitive
+     *
      * @param name name of subskill, not case sensitive
      * @return null if the subskill is not registered
      */
-    public static AbstractSubSkill getAbstractByName(String name)
-    {
+    public static AbstractSubSkill getAbstractByName(String name) {
         return subSkillNameMap.get(name.toLowerCase());
     }
 
     /**
      * Processes the associated Interactions for this event
-     * @param event target event
-     * @param plugin instance of mcMMO plugin
+     *
+     * @param event           target event
+     * @param plugin          instance of mcMMO plugin
      * @param curInteractType the associated interaction type
      */
-    public static void processEvent(Event event, mcMMO plugin, InteractType curInteractType)
-    {
-        for(Interaction interaction : interactRegister.get(curInteractType))
-        {
+    public static void processEvent(Event event, mcMMO plugin, InteractType curInteractType) {
+        for (Interaction interaction : interactRegister.get(curInteractType)) {
             interaction.doInteraction(event, plugin);
         }
     }
@@ -82,25 +81,24 @@ public class InteractionManager {
     /**
      * Returns the list that contains all unique instances of registered Interaction classes
      * Interactions are extensions of abstract classes that represent modifying behaviours in Minecraft through events
+     *
      * @return the unique collection of all registered Interaction classes
      */
-    public static ArrayList<AbstractSubSkill> getSubSkillList()
-    {
+    public static ArrayList<AbstractSubSkill> getSubSkillList() {
         return subSkillList;
     }
 
-    public static boolean hasSubSkill(String name)
-    {
+    public static boolean hasSubSkill(String name) {
         return getAbstractByName(name) != null;
     }
 
-    public static boolean hasSubSkill(SubSkillType subSkillType)
-    {
+    public static boolean hasSubSkill(SubSkillType subSkillType) {
         return hasSubSkill(subSkillType.getNiceNameNoSpaces(subSkillType));
     }
 
     /**
      * Returns the associative map which contains all registered interactions
+     *
      * @return the interact register
      */
     public static HashMap<InteractType, ArrayList<Interaction>> getInteractRegister() {

+ 33 - 45
bukkit/src/main/java/com/gmail/nossr50/listeners/InventoryListener.java

@@ -2,19 +2,19 @@ package com.gmail.nossr50.listeners;
 
 import com.gmail.nossr50.core.config.skills.Config;
 import com.gmail.nossr50.core.config.skills.WorldBlacklist;
+import com.gmail.nossr50.core.data.UserManager;
+import com.gmail.nossr50.core.runnables.player.PlayerUpdateInventoryTask;
 import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.skills.SubSkillType;
-import com.gmail.nossr50.events.fake.FakeBrewEvent;
-import com.gmail.nossr50.mcMMO;
-import com.gmail.nossr50.core.runnables.player.PlayerUpdateInventoryTask;
 import com.gmail.nossr50.core.skills.primary.alchemy.Alchemy;
 import com.gmail.nossr50.core.skills.primary.alchemy.AlchemyPotionBrewer;
 import com.gmail.nossr50.core.util.ItemUtils;
 import com.gmail.nossr50.core.util.Permissions;
-import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.util.skills.SkillUtils;
 import com.gmail.nossr50.core.worldguard.WorldGuardManager;
 import com.gmail.nossr50.core.worldguard.WorldGuardUtils;
+import com.gmail.nossr50.events.fake.FakeBrewEvent;
+import com.gmail.nossr50.mcMMO;
 import org.bukkit.Location;
 import org.bukkit.Material;
 import org.bukkit.block.Block;
@@ -42,7 +42,7 @@ public class InventoryListener implements Listener {
     @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
     public void onInventoryOpen(InventoryOpenEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getPlayer().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getPlayer().getWorld()))
             return;
 
         Block furnaceBlock = processInventoryOpenOrCloseEvent(event.getInventory());
@@ -57,14 +57,14 @@ public class InventoryListener implements Listener {
             return;
         }
 
-        if(!furnaceBlock.hasMetadata(mcMMO.furnaceMetadataKey) && furnaceBlock.getMetadata(mcMMO.furnaceMetadataKey).size() == 0)
+        if (!furnaceBlock.hasMetadata(mcMMO.furnaceMetadataKey) && furnaceBlock.getMetadata(mcMMO.furnaceMetadataKey).size() == 0)
             furnaceBlock.setMetadata(mcMMO.furnaceMetadataKey, UserManager.getPlayer((Player) player).getPlayerMetadata());
     }
 
     @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
     public void onInventoryClose(InventoryCloseEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getPlayer().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getPlayer().getWorld()))
             return;
 
         Block furnaceBlock = processInventoryOpenOrCloseEvent(event.getInventory());
@@ -85,7 +85,7 @@ public class InventoryListener implements Listener {
     @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
     public void onFurnaceBurnEvent(FurnaceBurnEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getBlock().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getBlock().getWorld()))
             return;
 
         Block furnaceBlock = event.getBlock();
@@ -99,9 +99,8 @@ public class InventoryListener implements Listener {
         Player player = getPlayerFromFurnace(furnaceBlock);
 
         /* WORLD GUARD MAIN FLAG CHECK */
-        if(WorldGuardUtils.isWorldGuardLoaded())
-        {
-            if(!WorldGuardManager.getInstance().hasMainFlag(player))
+        if (WorldGuardUtils.isWorldGuardLoaded()) {
+            if (!WorldGuardManager.getInstance().hasMainFlag(player))
                 return;
         }
 
@@ -115,7 +114,7 @@ public class InventoryListener implements Listener {
     @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
     public void onFurnaceSmeltEvent(FurnaceSmeltEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getBlock().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getBlock().getWorld()))
             return;
 
         Block furnaceBlock = event.getBlock();
@@ -128,9 +127,8 @@ public class InventoryListener implements Listener {
         Player player = getPlayerFromFurnace(furnaceBlock);
 
         /* WORLD GUARD MAIN FLAG CHECK */
-        if(WorldGuardUtils.isWorldGuardLoaded())
-        {
-            if(!WorldGuardManager.getInstance().hasMainFlag(player))
+        if (WorldGuardUtils.isWorldGuardLoaded()) {
+            if (!WorldGuardManager.getInstance().hasMainFlag(player))
                 return;
         }
 
@@ -144,7 +142,7 @@ public class InventoryListener implements Listener {
     @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
     public void onFurnaceExtractEvent(FurnaceExtractEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getPlayer().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getPlayer().getWorld()))
             return;
 
         Block furnaceBlock = event.getBlock();
@@ -156,9 +154,8 @@ public class InventoryListener implements Listener {
         Player player = getPlayerFromFurnace(furnaceBlock);
 
         /* WORLD GUARD MAIN FLAG CHECK */
-        if(WorldGuardUtils.isWorldGuardLoaded())
-        {
-            if(!WorldGuardManager.getInstance().hasMainFlag(player))
+        if (WorldGuardUtils.isWorldGuardLoaded()) {
+            if (!WorldGuardManager.getInstance().hasMainFlag(player))
                 return;
         }
 
@@ -173,18 +170,16 @@ public class InventoryListener implements Listener {
     @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
     public void onInventoryClickEventNormal(InventoryClickEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getWhoClicked().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getWhoClicked().getWorld()))
             return;
 
         Inventory inventory = event.getInventory();
 
-        if(event.getWhoClicked() instanceof Player)
-        {
+        if (event.getWhoClicked() instanceof Player) {
             Player player = ((Player) event.getWhoClicked()).getPlayer();
             Block furnaceBlock = processInventoryOpenOrCloseEvent(event.getInventory());
 
-            if (furnaceBlock != null)
-            {
+            if (furnaceBlock != null) {
                 if (furnaceBlock.getMetadata(mcMMO.furnaceMetadataKey).size() > 0)
                     furnaceBlock.removeMetadata(mcMMO.furnaceMetadataKey, mcMMO.p);
 
@@ -211,9 +206,8 @@ public class InventoryListener implements Listener {
         Player player = (Player) whoClicked;
 
         /* WORLD GUARD MAIN FLAG CHECK */
-        if(WorldGuardUtils.isWorldGuardLoaded())
-        {
-            if(!WorldGuardManager.getInstance().hasMainFlag(player))
+        if (WorldGuardUtils.isWorldGuardLoaded()) {
+            if (!WorldGuardManager.getInstance().hasMainFlag(player))
                 return;
         }
 
@@ -251,8 +245,7 @@ public class InventoryListener implements Listener {
                 default:
                     return;
             }
-        }
-        else if (slot == InventoryType.SlotType.FUEL) {
+        } else if (slot == InventoryType.SlotType.FUEL) {
             boolean emptyClicked = AlchemyPotionBrewer.isEmpty(clicked);
 
             if (AlchemyPotionBrewer.isEmpty(cursor)) {
@@ -262,8 +255,7 @@ public class InventoryListener implements Listener {
                 }
 
                 AlchemyPotionBrewer.scheduleCheck(player, stand);
-            }
-            else if (emptyClicked) {
+            } else if (emptyClicked) {
                 if (AlchemyPotionBrewer.isValidIngredient(player, cursor)) {
                     int amount = cursor.getAmount();
 
@@ -274,8 +266,7 @@ public class InventoryListener implements Listener {
 
                         AlchemyPotionBrewer.scheduleUpdate(inventory);
                         AlchemyPotionBrewer.scheduleCheck(player, stand);
-                    }
-                    else if (click == ClickType.RIGHT) {
+                    } else if (click == ClickType.RIGHT) {
                         event.setCancelled(true);
 
                         ItemStack one = cursor.clone();
@@ -298,7 +289,7 @@ public class InventoryListener implements Listener {
     @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
     public void onInventoryDragEvent(InventoryDragEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getWhoClicked().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getWhoClicked().getWorld()))
             return;
 
         Inventory inventory = event.getInventory();
@@ -330,9 +321,8 @@ public class InventoryListener implements Listener {
             Player player = (Player) whoClicked;
 
             /* WORLD GUARD MAIN FLAG CHECK */
-            if(WorldGuardUtils.isWorldGuardLoaded())
-            {
-                if(!WorldGuardManager.getInstance().hasMainFlag(player))
+            if (WorldGuardUtils.isWorldGuardLoaded()) {
+                if (!WorldGuardManager.getInstance().hasMainFlag(player))
                     return;
             }
 
@@ -349,10 +339,9 @@ public class InventoryListener implements Listener {
 
     // Apparently sometimes vanilla brewing beats our task listener to the actual brew. We handle this by cancelling the vanilla event and finishing our brew ourselves.
     @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
-    public void onBrew(BrewEvent event)
-    {
+    public void onBrew(BrewEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getBlock().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getBlock().getWorld()))
             return;
 
         if (event instanceof FakeBrewEvent)
@@ -367,7 +356,7 @@ public class InventoryListener implements Listener {
     @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
     public void onInventoryMoveItemEvent(InventoryMoveItemEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getSource().getLocation().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getSource().getLocation().getWorld()))
             return;
 
         Inventory inventory = event.getDestination();
@@ -415,7 +404,7 @@ public class InventoryListener implements Listener {
     @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
     public void onCraftItem(CraftItemEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getWhoClicked().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getWhoClicked().getWorld()))
             return;
 
         final HumanEntity whoClicked = event.getWhoClicked();
@@ -433,9 +422,8 @@ public class InventoryListener implements Listener {
         Player player = (Player) whoClicked;
 
         /* WORLD GUARD MAIN FLAG CHECK */
-        if(WorldGuardUtils.isWorldGuardLoaded())
-        {
-            if(!WorldGuardManager.getInstance().hasMainFlag(player))
+        if (WorldGuardUtils.isWorldGuardLoaded()) {
+            if (!WorldGuardManager.getInstance().hasMainFlag(player))
                 return;
         }
 

+ 47 - 61
bukkit/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java

@@ -1,35 +1,35 @@
 package com.gmail.nossr50.listeners;
 
+import com.gmail.nossr50.config.experience.ExperienceConfig;
 import com.gmail.nossr50.core.chat.ChatManager;
 import com.gmail.nossr50.core.chat.ChatManagerFactory;
 import com.gmail.nossr50.core.chat.PartyChatManager;
 import com.gmail.nossr50.core.config.skills.Config;
 import com.gmail.nossr50.core.config.skills.WorldBlacklist;
-import com.gmail.nossr50.config.experience.ExperienceConfig;
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.chat.ChatMode;
 import com.gmail.nossr50.core.datatypes.party.Party;
 import com.gmail.nossr50.core.datatypes.player.McMMOPlayer;
-import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.locale.LocaleLoader;
-import com.gmail.nossr50.core.util.*;
-import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.core.party.ShareHandler;
 import com.gmail.nossr50.core.runnables.player.PlayerProfileLoadingTask;
+import com.gmail.nossr50.core.skills.PrimarySkillType;
+import com.gmail.nossr50.core.skills.child.salvage.Salvage;
+import com.gmail.nossr50.core.skills.child.salvage.SalvageManager;
 import com.gmail.nossr50.core.skills.primary.fishing.FishingManager;
 import com.gmail.nossr50.core.skills.primary.herbalism.HerbalismManager;
 import com.gmail.nossr50.core.skills.primary.mining.MiningManager;
 import com.gmail.nossr50.core.skills.primary.repair.Repair;
 import com.gmail.nossr50.core.skills.primary.repair.RepairManager;
-import com.gmail.nossr50.core.skills.child.salvage.Salvage;
-import com.gmail.nossr50.core.skills.child.salvage.SalvageManager;
 import com.gmail.nossr50.core.skills.primary.taming.TamingManager;
-import com.gmail.nossr50.util.*;
-import com.gmail.nossr50.core.data.UserManager;
+import com.gmail.nossr50.core.util.*;
 import com.gmail.nossr50.core.util.skills.SkillUtils;
 import com.gmail.nossr50.core.util.sounds.SoundManager;
 import com.gmail.nossr50.core.util.sounds.SoundType;
 import com.gmail.nossr50.core.worldguard.WorldGuardManager;
 import com.gmail.nossr50.core.worldguard.WorldGuardUtils;
+import com.gmail.nossr50.mcMMO;
+import com.gmail.nossr50.util.*;
 import org.bukkit.GameMode;
 import org.bukkit.Material;
 import org.bukkit.block.Block;
@@ -63,15 +63,14 @@ public class PlayerListener implements Listener {
     @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
     public void onPlayerTeleport(PlayerTeleportEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getPlayer().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getPlayer().getWorld()))
             return;
 
         Player player = event.getPlayer();
 
         /* WORLD GUARD MAIN FLAG CHECK */
-        if(WorldGuardUtils.isWorldGuardLoaded())
-        {
-            if(!WorldGuardManager.getInstance().hasMainFlag(player))
+        if (WorldGuardUtils.isWorldGuardLoaded()) {
+            if (!WorldGuardManager.getInstance().hasMainFlag(player))
                 return;
         }
 
@@ -94,15 +93,14 @@ public class PlayerListener implements Listener {
     @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
     public void onPlayerDeathLowest(PlayerDeathEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
             return;
 
         String deathMessage = event.getDeathMessage();
 
         /* WORLD GUARD MAIN FLAG CHECK */
-        if(WorldGuardUtils.isWorldGuardLoaded())
-        {
-            if(!WorldGuardManager.getInstance().hasMainFlag(event.getEntity()))
+        if (WorldGuardUtils.isWorldGuardLoaded()) {
+            if (!WorldGuardManager.getInstance().hasMainFlag(event.getEntity()))
                 return;
         }
 
@@ -127,7 +125,7 @@ public class PlayerListener implements Listener {
     @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
     public void onPlayerDeathMonitor(PlayerDeathEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
             return;
 
         boolean statLossEnabled = HardcoreManager.isStatLossEnabled();
@@ -146,9 +144,8 @@ public class PlayerListener implements Listener {
         Player killer = killedPlayer.getKiller();
 
         /* WORLD GUARD MAIN FLAG CHECK */
-        if(WorldGuardUtils.isWorldGuardLoaded())
-        {
-            if(!WorldGuardManager.getInstance().hasMainFlag(killedPlayer))
+        if (WorldGuardUtils.isWorldGuardLoaded()) {
+            if (!WorldGuardManager.getInstance().hasMainFlag(killedPlayer))
                 return;
         }
 
@@ -202,13 +199,12 @@ public class PlayerListener implements Listener {
     @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
     public void onPlayerDropItem(PlayerDropItemEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getPlayer().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getPlayer().getWorld()))
             return;
 
         /* WORLD GUARD MAIN FLAG CHECK */
-        if(WorldGuardUtils.isWorldGuardLoaded())
-        {
-            if(!WorldGuardManager.getInstance().hasMainFlag(event.getPlayer()))
+        if (WorldGuardUtils.isWorldGuardLoaded()) {
+            if (!WorldGuardManager.getInstance().hasMainFlag(event.getPlayer()))
                 return;
         }
 
@@ -233,15 +229,14 @@ public class PlayerListener implements Listener {
     @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
     public void onPlayerFishHighest(PlayerFishEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getPlayer().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getPlayer().getWorld()))
             return;
 
         Player player = event.getPlayer();
 
         /* WORLD GUARD MAIN FLAG CHECK */
-        if(WorldGuardUtils.isWorldGuardLoaded())
-        {
-            if(!WorldGuardManager.getInstance().hasMainFlag(player))
+        if (WorldGuardUtils.isWorldGuardLoaded()) {
+            if (!WorldGuardManager.getInstance().hasMainFlag(player))
                 return;
         }
 
@@ -266,7 +261,7 @@ public class PlayerListener implements Listener {
 
                 if (Permissions.vanillaXpBoost(player, PrimarySkillType.FISHING)) {
                     //Don't modify XP below vanilla values
-                    if(fishingManager.handleVanillaXpBoost(event.getExpToDrop()) > 1)
+                    if (fishingManager.handleVanillaXpBoost(event.getExpToDrop()) > 1)
                         event.setExpToDrop(fishingManager.handleVanillaXpBoost(event.getExpToDrop()));
                 }
                 return;
@@ -304,15 +299,14 @@ public class PlayerListener implements Listener {
     @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
     public void onPlayerFishMonitor(PlayerFishEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getPlayer().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getPlayer().getWorld()))
             return;
 
         Player player = event.getPlayer();
 
         /* WORLD GUARD MAIN FLAG CHECK */
-        if(WorldGuardUtils.isWorldGuardLoaded())
-        {
-            if(!WorldGuardManager.getInstance().hasMainFlag(player))
+        if (WorldGuardUtils.isWorldGuardLoaded()) {
+            if (!WorldGuardManager.getInstance().hasMainFlag(player))
                 return;
         }
 
@@ -334,7 +328,7 @@ public class PlayerListener implements Listener {
                 return;
 
             case CAUGHT_FISH:
-                if(fishingManager.exploitPrevention(event.getHook().getBoundingBox()))
+                if (fishingManager.exploitPrevention(event.getHook().getBoundingBox()))
                     return;
                 fishingManager.handleFishing((Item) caught);
                 fishingManager.setFishingTarget();
@@ -363,17 +357,15 @@ public class PlayerListener implements Listener {
     @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
     public void onPlayerPickupItem(EntityPickupItemEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
             return;
 
-        if(event.getEntity() instanceof Player)
-        {
+        if (event.getEntity() instanceof Player) {
             Player player = (Player) event.getEntity();
 
             /* WORLD GUARD MAIN FLAG CHECK */
-            if(WorldGuardUtils.isWorldGuardLoaded())
-            {
-                if(!WorldGuardManager.getInstance().hasMainFlag(player))
+            if (WorldGuardUtils.isWorldGuardLoaded()) {
+                if (!WorldGuardManager.getInstance().hasMainFlag(player))
                     return;
             }
 
@@ -493,15 +485,14 @@ public class PlayerListener implements Listener {
     @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
     public void onPlayerInteractLowest(PlayerInteractEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getPlayer().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getPlayer().getWorld()))
             return;
 
         Player player = event.getPlayer();
 
         /* WORLD GUARD MAIN FLAG CHECK */
-        if(WorldGuardUtils.isWorldGuardLoaded())
-        {
-            if(!WorldGuardManager.getInstance().hasMainFlag(player))
+        if (WorldGuardUtils.isWorldGuardLoaded()) {
+            if (!WorldGuardManager.getInstance().hasMainFlag(player))
                 return;
         }
 
@@ -547,8 +538,7 @@ public class PlayerListener implements Listener {
                 else if (miningManager.canDetonate()) {
                     if (type == Material.TNT) {
                         event.setCancelled(true); // Don't detonate the TNT if they're too close
-                    }
-                    else {
+                    } else {
                         miningManager.remoteDetonation();
                     }
                 }
@@ -596,15 +586,14 @@ public class PlayerListener implements Listener {
     @EventHandler(priority = EventPriority.MONITOR)
     public void onPlayerInteractMonitor(PlayerInteractEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getPlayer().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getPlayer().getWorld()))
             return;
 
         Player player = event.getPlayer();
 
         /* WORLD GUARD MAIN FLAG CHECK */
-        if(WorldGuardUtils.isWorldGuardLoaded())
-        {
-            if(!WorldGuardManager.getInstance().hasMainFlag(player))
+        if (WorldGuardUtils.isWorldGuardLoaded()) {
+            if (!WorldGuardManager.getInstance().hasMainFlag(player))
                 return;
         }
 
@@ -617,10 +606,10 @@ public class PlayerListener implements Listener {
 
         switch (event.getAction()) {
             case RIGHT_CLICK_BLOCK:
-                if(player.getInventory().getItemInOffHand().getType() != Material.AIR && !player.isInsideVehicle() && !player.isSneaking()) {
+                if (player.getInventory().getItemInOffHand().getType() != Material.AIR && !player.isInsideVehicle() && !player.isSneaking()) {
                     break;
                 }
-                
+
                 Block block = event.getClickedBlock();
                 BlockState blockState = block.getState();
 
@@ -675,10 +664,10 @@ public class PlayerListener implements Listener {
                 break;
 
             case RIGHT_CLICK_AIR:
-                if(player.getInventory().getItemInOffHand().getType() != Material.AIR && !player.isInsideVehicle() && !player.isSneaking()) {
+                if (player.getInventory().getItemInOffHand().getType() != Material.AIR && !player.isInsideVehicle() && !player.isSneaking()) {
                     break;
                 }
-                
+
                 /* ACTIVATION CHECKS */
                 if (Config.getInstance().getAbilitiesEnabled()) {
                     mcMMOPlayer.processAbilityActivation(PrimarySkillType.AXES);
@@ -714,11 +703,9 @@ public class PlayerListener implements Listener {
 
                 if (type == Config.getInstance().getTamingCOTWMaterial(EntityType.WOLF)) {
                     tamingManager.summonWolf();
-                }
-                else if (type == Config.getInstance().getTamingCOTWMaterial(EntityType.OCELOT)) {
+                } else if (type == Config.getInstance().getTamingCOTWMaterial(EntityType.OCELOT)) {
                     tamingManager.summonOcelot();
-                }
-                else if (type == Config.getInstance().getTamingCOTWMaterial(EntityType.HORSE)) {
+                } else if (type == Config.getInstance().getTamingCOTWMaterial(EntityType.HORSE)) {
                     tamingManager.summonHorse();
                 }
 
@@ -763,8 +750,7 @@ public class PlayerListener implements Listener {
 
             chatManager = ChatManagerFactory.getChatManager(plugin, ChatMode.PARTY);
             ((PartyChatManager) chatManager).setParty(party);
-        }
-        else if (mcMMOPlayer.isChatEnabled(ChatMode.ADMIN)) {
+        } else if (mcMMOPlayer.isChatEnabled(ChatMode.ADMIN)) {
             chatManager = ChatManagerFactory.getChatManager(plugin, ChatMode.ADMIN);
         }
 
@@ -806,7 +792,7 @@ public class PlayerListener implements Listener {
     @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
     public void onPlayerStatisticIncrementEvent(PlayerStatisticIncrementEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getPlayer().getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getPlayer().getWorld()))
             return;
 
         if (!mcMMO.getHolidayManager().isAprilFirst()) {

+ 17 - 25
bukkit/src/main/java/com/gmail/nossr50/listeners/SelfListener.java

@@ -1,18 +1,18 @@
 package com.gmail.nossr50.listeners;
 
-import com.gmail.nossr50.core.config.skills.Config;
 import com.gmail.nossr50.config.experience.ExperienceConfig;
+import com.gmail.nossr50.core.config.skills.Config;
+import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.datatypes.experience.XPGainReason;
 import com.gmail.nossr50.core.datatypes.player.McMMOPlayer;
 import com.gmail.nossr50.core.skills.PrimarySkillType;
+import com.gmail.nossr50.core.util.scoreboards.ScoreboardManager;
+import com.gmail.nossr50.core.worldguard.WorldGuardManager;
+import com.gmail.nossr50.core.worldguard.WorldGuardUtils;
 import com.gmail.nossr50.events.experience.McMMOPlayerLevelUpEvent;
 import com.gmail.nossr50.events.experience.McMMOPlayerXpGainEvent;
 import com.gmail.nossr50.events.skills.abilities.McMMOPlayerAbilityActivateEvent;
 import com.gmail.nossr50.mcMMO;
-import com.gmail.nossr50.core.data.UserManager;
-import com.gmail.nossr50.core.util.scoreboards.ScoreboardManager;
-import com.gmail.nossr50.core.worldguard.WorldGuardManager;
-import com.gmail.nossr50.core.worldguard.WorldGuardUtils;
 import org.bukkit.entity.Player;
 import org.bukkit.event.EventHandler;
 import org.bukkit.event.EventPriority;
@@ -22,8 +22,7 @@ public class SelfListener implements Listener {
     //Used in task scheduling and other things
     private final mcMMO plugin;
 
-    public SelfListener(mcMMO plugin)
-    {
+    public SelfListener(mcMMO plugin) {
         this.plugin = plugin;
     }
 
@@ -33,14 +32,13 @@ public class SelfListener implements Listener {
         PrimarySkillType skill = event.getSkill();
 
         //Players can gain multiple levels especially during xprate events
-        for(int i = 0; i < event.getLevelsGained(); i++)
-        {
+        for (int i = 0; i < event.getLevelsGained(); i++) {
             int previousLevelGained = event.getSkillLevel() - i;
             //Send player skill unlock notifications
             UserManager.getPlayer(player).processUnlockNotifications(plugin, event.getSkill(), previousLevelGained);
         }
 
-        if(Config.getInstance().getScoreboardsEnabled())
+        if (Config.getInstance().getScoreboardsEnabled())
             ScoreboardManager.handleLevelUp(player, skill);
 
         if (!Config.getInstance().getLevelUpEffectsEnabled()) {
@@ -54,13 +52,13 @@ public class SelfListener implements Listener {
 
     @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
     public void onPlayerXp(McMMOPlayerXpGainEvent event) {
-        if(Config.getInstance().getScoreboardsEnabled())
+        if (Config.getInstance().getScoreboardsEnabled())
             ScoreboardManager.handleXp(event.getPlayer(), event.getSkill());
     }
 
     @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
     public void onAbility(McMMOPlayerAbilityActivateEvent event) {
-        if(Config.getInstance().getScoreboardsEnabled())
+        if (Config.getInstance().getScoreboardsEnabled())
             ScoreboardManager.cooldownUpdate(event.getPlayer(), event.getSkill());
     }
 
@@ -71,23 +69,19 @@ public class SelfListener implements Listener {
         PrimarySkillType primarySkillType = event.getSkill();
 
         //WorldGuard XP Check
-        if(event.getXpGainReason() == XPGainReason.PVE ||
+        if (event.getXpGainReason() == XPGainReason.PVE ||
                 event.getXpGainReason() == XPGainReason.PVP ||
                 event.getXpGainReason() == XPGainReason.SHARED_PVE ||
-                event.getXpGainReason() == XPGainReason.SHARED_PVP)
-        {
-            if(WorldGuardUtils.isWorldGuardLoaded())
-            {
-                if(!WorldGuardManager.getInstance().hasXPFlag(player))
-                {
+                event.getXpGainReason() == XPGainReason.SHARED_PVP) {
+            if (WorldGuardUtils.isWorldGuardLoaded()) {
+                if (!WorldGuardManager.getInstance().hasXPFlag(player)) {
                     event.setRawXpGained(0);
                     event.setCancelled(true);
                 }
             }
         }
 
-        if (event.getXpGainReason() == XPGainReason.COMMAND)
-        {
+        if (event.getXpGainReason() == XPGainReason.COMMAND) {
             return;
         }
 
@@ -124,12 +118,10 @@ public class SelfListener implements Listener {
              * Make sure players get a guaranteed minimum of XP
              */
             //If there is no guaranteed minimum proceed, otherwise only proceed if newValue would be higher than our guaranteed minimum
-            if(guaranteedMinimum <= 0 || newValue > guaranteedMinimum)
-            {
+            if (guaranteedMinimum <= 0 || newValue > guaranteedMinimum) {
                 if (newValue > 0) {
                     event.setRawXpGained(newValue);
-                }
-                else {
+                } else {
                     event.setCancelled(true);
                 }
             } else {

+ 5 - 5
bukkit/src/main/java/com/gmail/nossr50/listeners/WorldListener.java

@@ -1,8 +1,8 @@
 package com.gmail.nossr50.listeners;
 
 import com.gmail.nossr50.core.config.skills.WorldBlacklist;
-import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.core.data.blockmeta.conversion.BlockStoreConversionMain;
+import com.gmail.nossr50.mcMMO;
 import org.bukkit.Chunk;
 import org.bukkit.World;
 import org.bukkit.block.BlockState;
@@ -31,7 +31,7 @@ public class WorldListener implements Listener {
     @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
     public void onStructureGrow(StructureGrowEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getWorld()))
             return;
 
         if (!mcMMO.getPlaceStore().isTrue(event.getLocation().getBlock())) {
@@ -51,7 +51,7 @@ public class WorldListener implements Listener {
     @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
     public void onWorldInit(WorldInitEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getWorld()))
             return;
 
         World world = event.getWorld();
@@ -73,7 +73,7 @@ public class WorldListener implements Listener {
     @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
     public void onWorldUnload(WorldUnloadEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getWorld()))
             return;
 
         mcMMO.getPlaceStore().unloadWorld(event.getWorld());
@@ -87,7 +87,7 @@ public class WorldListener implements Listener {
     @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
     public void onChunkUnload(ChunkUnloadEvent event) {
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getWorld()))
+        if (WorldBlacklist.isWorldBlacklisted(event.getWorld()))
             return;
 
         Chunk chunk = event.getChunk();

+ 124 - 141
bukkit/src/main/java/com/gmail/nossr50/mcMMO.java

@@ -8,14 +8,13 @@ import com.gmail.nossr50.config.mods.ToolConfigManager;
 import com.gmail.nossr50.config.skills.alchemy.PotionConfig;
 import com.gmail.nossr50.config.skills.repair.RepairConfigManager;
 import com.gmail.nossr50.config.skills.salvage.SalvageConfigManager;
-import com.gmail.nossr50.core.config.treasure.TreasureConfig;
 import com.gmail.nossr50.core.config.skills.*;
+import com.gmail.nossr50.core.config.treasure.TreasureConfig;
+import com.gmail.nossr50.core.data.UserManager;
+import com.gmail.nossr50.core.data.blockmeta.chunkmeta.ChunkManager;
+import com.gmail.nossr50.core.data.blockmeta.chunkmeta.ChunkManagerFactory;
 import com.gmail.nossr50.core.data.database.DatabaseManager;
 import com.gmail.nossr50.core.data.database.DatabaseManagerFactory;
-import com.gmail.nossr50.core.skills.PrimarySkillType;
-import com.gmail.nossr50.core.skills.subskills.acrobatics.Roll;
-import com.gmail.nossr50.core.util.*;
-import com.gmail.nossr50.listeners.*;
 import com.gmail.nossr50.core.party.PartyManager;
 import com.gmail.nossr50.core.runnables.CheckDateTask;
 import com.gmail.nossr50.core.runnables.SaveTimerTask;
@@ -26,24 +25,25 @@ import com.gmail.nossr50.core.runnables.player.ClearRegisteredXPGainTask;
 import com.gmail.nossr50.core.runnables.player.PlayerProfileLoadingTask;
 import com.gmail.nossr50.core.runnables.player.PowerLevelUpdatingTask;
 import com.gmail.nossr50.core.runnables.skills.BleedTimerTask;
-import com.gmail.nossr50.core.skills.primary.alchemy.Alchemy;
+import com.gmail.nossr50.core.skills.PrimarySkillType;
 import com.gmail.nossr50.core.skills.child.ChildConfig;
-import com.gmail.nossr50.core.skills.primary.repair.repairables.Repairable;
-import com.gmail.nossr50.core.skills.primary.repair.repairables.RepairableManager;
-import com.gmail.nossr50.core.skills.primary.repair.repairables.SimpleRepairableManager;
 import com.gmail.nossr50.core.skills.child.salvage.salvageables.Salvageable;
 import com.gmail.nossr50.core.skills.child.salvage.salvageables.SalvageableManager;
 import com.gmail.nossr50.core.skills.child.salvage.salvageables.SimpleSalvageableManager;
-import com.gmail.nossr50.util.*;
-import com.gmail.nossr50.core.data.blockmeta.chunkmeta.ChunkManager;
-import com.gmail.nossr50.core.data.blockmeta.chunkmeta.ChunkManagerFactory;
+import com.gmail.nossr50.core.skills.primary.alchemy.Alchemy;
+import com.gmail.nossr50.core.skills.primary.repair.repairables.Repairable;
+import com.gmail.nossr50.core.skills.primary.repair.repairables.RepairableManager;
+import com.gmail.nossr50.core.skills.primary.repair.repairables.SimpleRepairableManager;
+import com.gmail.nossr50.core.skills.subskills.acrobatics.Roll;
+import com.gmail.nossr50.core.util.*;
 import com.gmail.nossr50.core.util.commands.CommandRegistrationManager;
 import com.gmail.nossr50.core.util.experience.FormulaManager;
-import com.gmail.nossr50.core.data.UserManager;
 import com.gmail.nossr50.core.util.scoreboards.ScoreboardManager;
 import com.gmail.nossr50.core.util.skills.RankUtils;
 import com.gmail.nossr50.core.util.upgrade.UpgradeManager;
 import com.gmail.nossr50.core.worldguard.WorldGuardManager;
+import com.gmail.nossr50.listeners.*;
+import com.gmail.nossr50.util.*;
 import com.google.common.base.Charsets;
 import net.shatteredlands.shatt.backup.ZipLibrary;
 import org.bstats.bukkit.Metrics;
@@ -61,6 +61,29 @@ import java.util.ArrayList;
 import java.util.List;
 
 public class mcMMO extends JavaPlugin {
+    /* Metadata Values */
+    public final static String entityMetadataKey = "mcMMO: Spawned Entity";
+    public final static String blockMetadataKey = "mcMMO: Piston Tracking";
+    public final static String furnaceMetadataKey = "mcMMO: Tracked Furnace";
+    public final static String tntMetadataKey = "mcMMO: Tracked TNT";
+    public final static String funfettiMetadataKey = "mcMMO: Funfetti";
+    public final static String tntsafeMetadataKey = "mcMMO: Safe TNT";
+    public final static String customNameKey = "mcMMO: Custom Name";
+    public final static String customVisibleKey = "mcMMO: Name Visibility";
+    public final static String droppedItemKey = "mcMMO: Tracked Item";
+    public final static String infiniteArrowKey = "mcMMO: Infinite Arrow";
+    public final static String bowForceKey = "mcMMO: Bow Force";
+    public final static String arrowDistanceKey = "mcMMO: Arrow Distance";
+    //public final static String customDamageKey     = "mcMMO: Custom Damage";
+    public final static String disarmedItemKey = "mcMMO: Disarmed Item";
+    public final static String playerDataKey = "mcMMO: Player Data";
+    public final static String greenThumbDataKey = "mcMMO: Green Thumb";
+    public final static String databaseCommandKey = "mcMMO: Processing Database Command";
+    public final static String bredMetadataKey = "mcMMO: Bred Animal";
+    public static mcMMO p;
+    // Jar Stuff
+    public static File mcmmo;
+    public static FixedMetadataValue metadataValue;
     /* Managers */
     private static ChunkManager placeStore;
     private static RepairableManager repairableManager;
@@ -70,53 +93,92 @@ public class mcMMO extends JavaPlugin {
     private static FormulaManager formulaManager;
     private static HolidayManager holidayManager;
     private static UpgradeManager upgradeManager;
-
     /* Blacklist */
     private static WorldBlacklist worldBlacklist;
-
     /* File Paths */
     private static String mainDirectory;
     private static String flatFileDirectory;
     private static String usersFile;
     private static String modDirectory;
-
-    public static mcMMO p;
-
-    // Jar Stuff
-    public static File mcmmo;
-
     /* Plugin Checks */
     private static boolean healthBarPluginEnabled;
-
+    private static boolean isRetroModeEnabled;
     // Config Validation Check
     public boolean noErrorsInConfigFiles = true;
-
     // XP Event Check
     private boolean xpEventEnabled;
 
-    private static boolean isRetroModeEnabled;
+    public static String getMainDirectory() {
+        return mainDirectory;
+    }
 
-    /* Metadata Values */
-    public final static String entityMetadataKey   = "mcMMO: Spawned Entity";
-    public final static String blockMetadataKey    = "mcMMO: Piston Tracking";
-    public final static String furnaceMetadataKey  = "mcMMO: Tracked Furnace";
-    public final static String tntMetadataKey      = "mcMMO: Tracked TNT";
-    public final static String funfettiMetadataKey = "mcMMO: Funfetti";
-    public final static String tntsafeMetadataKey  = "mcMMO: Safe TNT";
-    public final static String customNameKey       = "mcMMO: Custom Name";
-    public final static String customVisibleKey    = "mcMMO: Name Visibility";
-    public final static String droppedItemKey      = "mcMMO: Tracked Item";
-    public final static String infiniteArrowKey    = "mcMMO: Infinite Arrow";
-    public final static String bowForceKey         = "mcMMO: Bow Force";
-    public final static String arrowDistanceKey    = "mcMMO: Arrow Distance";
-    //public final static String customDamageKey     = "mcMMO: Custom Damage";
-    public final static String disarmedItemKey     = "mcMMO: Disarmed Item";
-    public final static String playerDataKey       = "mcMMO: Player Data";
-    public final static String greenThumbDataKey   = "mcMMO: Green Thumb";
-    public final static String databaseCommandKey  = "mcMMO: Processing Database Command";
-    public final static String bredMetadataKey     = "mcMMO: Bred Animal";
+    public static String getFlatFileDirectory() {
+        return flatFileDirectory;
+    }
 
-    public static FixedMetadataValue metadataValue;
+    public static String getUsersFilePath() {
+        return usersFile;
+    }
+
+    public static String getModDirectory() {
+        return modDirectory;
+    }
+
+    public static FormulaManager getFormulaManager() {
+        return formulaManager;
+    }
+
+    public static HolidayManager getHolidayManager() {
+        return holidayManager;
+    }
+
+    public static ChunkManager getPlaceStore() {
+        return placeStore;
+    }
+
+    public static RepairableManager getRepairableManager() {
+        return repairableManager;
+    }
+
+    public static SalvageableManager getSalvageableManager() {
+        return salvageableManager;
+    }
+
+    public static DatabaseManager getDatabaseManager() {
+        return databaseManager;
+    }
+
+    @Deprecated
+    public static void setDatabaseManager(DatabaseManager databaseManager) {
+        mcMMO.databaseManager = databaseManager;
+    }
+
+    public static ModManager getModManager() {
+        return modManager;
+    }
+
+    public static UpgradeManager getUpgradeManager() {
+        return upgradeManager;
+    }
+
+    public static boolean isHealthBarPluginEnabled() {
+        return healthBarPluginEnabled;
+    }
+
+    /**
+     * Checks if this plugin is using retro mode
+     * Retro mode is a 0-1000 skill system
+     * Standard mode is scaled for 1-100
+     *
+     * @return true if retro mode is enabled
+     */
+    public static boolean isRetroModeEnabled() {
+        return isRetroModeEnabled;
+    }
+
+    public static WorldBlacklist getWorldBlacklist() {
+        return worldBlacklist;
+    }
 
     /**
      * Things to be run when the plugin is enabled.
@@ -192,23 +254,21 @@ public class mcMMO extends JavaPlugin {
 
             Metrics metrics;
 
-            if(Config.getInstance().getIsMetricsEnabled()) {
+            if (Config.getInstance().getIsMetricsEnabled()) {
                 metrics = new Metrics(this);
                 metrics.addCustomChart(new Metrics.SimplePie("version", () -> getDescription().getVersion()));
 
-                if(Config.getInstance().getIsRetroMode())
+                if (Config.getInstance().getIsRetroMode())
                     metrics.addCustomChart(new Metrics.SimplePie("scaling", () -> "Standard"));
                 else
                     metrics.addCustomChart(new Metrics.SimplePie("scaling", () -> "Retro"));
             }
-        }
-        catch (Throwable t) {
+        } catch (Throwable t) {
             getLogger().severe("There was an error while enabling mcMMO!");
 
             if (!(t instanceof ExceptionInInitializerError)) {
                 t.printStackTrace();
-            }
-            else {
+            } else {
                 getLogger().info("Please do not replace the mcMMO jar while the server is running.");
             }
 
@@ -220,9 +280,8 @@ public class mcMMO extends JavaPlugin {
     }
 
     @Override
-    public void onLoad()
-    {
-        if(getServer().getPluginManager().getPlugin("WorldGuard") != null)
+    public void onLoad() {
+        if (getServer().getPluginManager().getPlugin("WorldGuard") != null)
             WorldGuardManager.getInstance().registerFlags();
     }
 
@@ -238,15 +297,16 @@ public class mcMMO extends JavaPlugin {
             PartyManager.saveParties(); // Save our parties
 
             //TODO: Needed?
-            if(Config.getInstance().getScoreboardsEnabled())
+            if (Config.getInstance().getScoreboardsEnabled())
                 ScoreboardManager.teardownAll();
 
             formulaManager.saveFormula();
             holidayManager.saveAnniversaryFiles();
             placeStore.saveAll();       // Save our metadata
             placeStore.cleanUp();       // Cleanup empty metadata stores
+        } catch (NullPointerException e) {
+            e.printStackTrace();
         }
-        catch (NullPointerException e) { e.printStackTrace(); }
 
         debug("Canceling all tasks...");
         getServer().getScheduler().cancelTasks(this); // This removes our tasks
@@ -257,16 +317,13 @@ public class mcMMO extends JavaPlugin {
             // Remove other tasks BEFORE starting the Backup, or we just cancel it straight away.
             try {
                 ZipLibrary.mcMMOBackup();
-            }
-            catch (IOException e) {
+            } catch (IOException e) {
                 getLogger().severe(e.toString());
-            }
-            catch (Throwable e) {
+            } catch (Throwable e) {
                 if (e instanceof NoClassDefFoundError) {
                     getLogger().severe("Backup class not found!");
                     getLogger().info("Please do not replace the mcMMO jar while the server is running.");
-                }
-                else {
+                } else {
                     getLogger().severe(e.toString());
                 }
             }
@@ -276,22 +333,6 @@ public class mcMMO extends JavaPlugin {
         debug("Was disabled."); // How informative!
     }
 
-    public static String getMainDirectory() {
-        return mainDirectory;
-    }
-
-    public static String getFlatFileDirectory() {
-        return flatFileDirectory;
-    }
-
-    public static String getUsersFilePath() {
-        return usersFile;
-    }
-
-    public static String getModDirectory() {
-        return modDirectory;
-    }
-
     public boolean isXPEventEnabled() {
         return xpEventEnabled;
     }
@@ -308,47 +349,6 @@ public class mcMMO extends JavaPlugin {
         getLogger().info("[Debug] " + message);
     }
 
-    public static FormulaManager getFormulaManager() {
-        return formulaManager;
-    }
-
-    public static HolidayManager getHolidayManager() {
-        return holidayManager;
-    }
-
-    public static ChunkManager getPlaceStore() {
-        return placeStore;
-    }
-
-    public static RepairableManager getRepairableManager() {
-        return repairableManager;
-    }
-
-    public static SalvageableManager getSalvageableManager() {
-        return salvageableManager;
-    }
-
-    public static DatabaseManager getDatabaseManager() {
-        return databaseManager;
-    }
-
-    public static ModManager getModManager() {
-        return modManager;
-    }
-
-    public static UpgradeManager getUpgradeManager() {
-        return upgradeManager;
-    }
-
-    @Deprecated
-    public static void setDatabaseManager(DatabaseManager databaseManager) {
-        mcMMO.databaseManager = databaseManager;
-    }
-
-    public static boolean isHealthBarPluginEnabled() {
-        return healthBarPluginEnabled;
-    }
-
     /**
      * Setup the various storage file paths
      */
@@ -377,10 +377,10 @@ public class mcMMO extends JavaPlugin {
             }
         }
 
-        File oldArmorFile    = new File(modDirectory + "armor.yml");
-        File oldBlocksFile   = new File(modDirectory + "blocks.yml");
+        File oldArmorFile = new File(modDirectory + "armor.yml");
+        File oldBlocksFile = new File(modDirectory + "blocks.yml");
         File oldEntitiesFile = new File(modDirectory + "entities.yml");
-        File oldToolsFile    = new File(modDirectory + "tools.yml");
+        File oldToolsFile = new File(modDirectory + "tools.yml");
 
         if (oldArmorFile.exists()) {
             if (!oldArmorFile.renameTo(new File(modDirectory + "armor.default.yml"))) {
@@ -475,8 +475,7 @@ public class mcMMO extends JavaPlugin {
          * Acrobatics skills
          */
 
-        if(CoreSkillsConfig.getInstance().isPrimarySkillEnabled(PrimarySkillType.ACROBATICS))
-        {
+        if (CoreSkillsConfig.getInstance().isPrimarySkillEnabled(PrimarySkillType.ACROBATICS)) {
             System.out.println("[mcMMO]" + " enabling Acrobatics Skills");
 
             //TODO: Should do this differently
@@ -510,8 +509,7 @@ public class mcMMO extends JavaPlugin {
 
         if (purgeIntervalTicks == 0) {
             new UserPurgeTask().runTaskLaterAsynchronously(this, 2 * Misc.TICK_CONVERSION_FACTOR); // Start 2 seconds after startup.
-        }
-        else if (purgeIntervalTicks > 0) {
+        } else if (purgeIntervalTicks > 0) {
             new UserPurgeTask().runTaskTimerAsynchronously(this, purgeIntervalTicks, purgeIntervalTicks);
         }
 
@@ -520,8 +518,7 @@ public class mcMMO extends JavaPlugin {
 
         if (kickIntervalTicks == 0) {
             new PartyAutoKickTask().runTaskLater(this, 2 * Misc.TICK_CONVERSION_FACTOR); // Start 2 seconds after startup.
-        }
-        else if (kickIntervalTicks > 0) {
+        } else if (kickIntervalTicks > 0) {
             new PartyAutoKickTask().runTaskTimer(this, kickIntervalTicks, kickIntervalTicks);
         }
 
@@ -564,18 +561,4 @@ public class mcMMO extends JavaPlugin {
         InputStream in = getResource(fileName);
         return in == null ? null : new InputStreamReader(in, Charsets.UTF_8);
     }
-
-    /**
-     * Checks if this plugin is using retro mode
-     * Retro mode is a 0-1000 skill system
-     * Standard mode is scaled for 1-100
-     * @return true if retro mode is enabled
-     */
-    public static boolean isRetroModeEnabled() {
-        return isRetroModeEnabled;
-    }
-
-    public static WorldBlacklist getWorldBlacklist() {
-        return worldBlacklist;
-    }
 }

+ 175 - 174
bukkit/src/main/java/util/java/mcMMO/PotionConfigGenerator.java

@@ -14,114 +14,6 @@ import java.util.Map.Entry;
 
 public class PotionConfigGenerator {
 
-    public static class Ingredient {
-
-        public Material mat;
-        public int      data;
-        public String   name;
-
-        public Ingredient(Material mat) {
-            this.mat = mat;
-            this.data = 0;
-            name = mat.name();
-        }
-
-    }
-    public static class WriteablePotion {
-
-        public String       name;
-        public Material     mat;
-        public PotionData   data;
-        public PotionEffect effect;
-        public String       baseName;
-
-        public WriteablePotion(PotionData data) {
-            this(Material.POTION, data);
-        }
-
-        public WriteablePotion(Material type, PotionData data) {
-            this(type, data, null, getMCName(data.getType()));
-        }
-
-        public WriteablePotion(Material mat, PotionType type, PotionEffect effect, String baseName) {
-            this(mat, new PotionData(type, false, false), effect, baseName);
-        }
-
-        public WriteablePotion(Material type, PotionData data, PotionEffect effect, String baseName) {
-            this.data = data;
-            this.effect = effect;
-            this.mat = type;
-            this.baseName = baseName;
-            this.name = "POTION_OF_" + baseName;
-            if (mat == Material.SPLASH_POTION) {
-                this.name = "SPLASH_" + this.name;
-            }
-            if (mat == Material.LINGERING_POTION) {
-                this.name = "LINGERING_" + this.name;
-            }
-            if (data.isExtended()) {
-                this.name += "_EXTENDED";
-            }
-            if (data.isUpgraded()) {
-                this.name += "_II";
-            }
-        }
-
-        public WriteablePotion(PotionType type) {
-            this(new PotionData(type, false, false));
-        }
-
-        public WriteablePotion(Material mat, PotionType type) {
-            this(mat, new PotionData(type, false, false));
-        }
-
-        private static String getMCName(PotionType type) {
-            switch (type) {
-                case INSTANT_DAMAGE :
-                    return "HARMING";
-                case INSTANT_HEAL :
-                    return "HEALING";
-                case JUMP :
-                    return "LEAPING";
-                case REGEN :
-                    return "REGENERATION";
-                case SPEED :
-                    return "SWIFTNESS";
-                case UNCRAFTABLE :
-                    return "EMPTY";
-                case LUCK :
-                case MUNDANE :
-                case NIGHT_VISION :
-                case POISON :
-                case INVISIBILITY :
-                case SLOWNESS :
-                case AWKWARD :
-                case STRENGTH :
-                case THICK :
-                case FIRE_RESISTANCE :
-                case WATER :
-                case WATER_BREATHING :
-                case WEAKNESS :
-                case TURTLE_MASTER:
-                case SLOW_FALLING:
-                    return type.name();
-                default :
-                    return "";
-            }
-        }
-
-        public int hashCode() {
-            return name.hashCode();
-        }
-
-        public boolean equals(Object obj) {
-            if (!(obj instanceof WriteablePotion)) {
-                return false;
-            }
-            return name.equals(((WriteablePotion) obj).name);
-        }
-    }
-
     public static void main(String[] args) {
         Map<WriteablePotion, Map<Ingredient, WriteablePotion>> vanillaPotions = new HashMap<>();
         populateVanillaPotions(vanillaPotions);
@@ -250,59 +142,59 @@ public class PotionConfigGenerator {
 
     private static String getName(PotionEffectType type) {
         switch (type.getId()) {
-            case 1 :
+            case 1:
                 return "SPEED";
-            case 2 :
+            case 2:
                 return "SLOW";
-            case 3 :
+            case 3:
                 return "FAST_DIGGING";
-            case 4 :
+            case 4:
                 return "SLOW_DIGGING";
-            case 5 :
+            case 5:
                 return "INCREASE_DAMAGE";
-            case 6 :
+            case 6:
                 return "HEAL";
-            case 7 :
+            case 7:
                 return "HARM";
-            case 8 :
+            case 8:
                 return "JUMP";
-            case 9 :
+            case 9:
                 return "CONFUSION";
-            case 10 :
+            case 10:
                 return "REGENERATION";
-            case 11 :
+            case 11:
                 return "DAMAGE_RESISTANCE";
-            case 12 :
+            case 12:
                 return "FIRE_RESISTANCE";
-            case 13 :
+            case 13:
                 return "WATER_BREATHING";
-            case 14 :
+            case 14:
                 return "INVISIBILITY";
-            case 15 :
+            case 15:
                 return "BLINDNESS";
-            case 16 :
+            case 16:
                 return "NIGHT_VISION";
-            case 17 :
+            case 17:
                 return "HUNGER";
-            case 18 :
+            case 18:
                 return "WEAKNESS";
-            case 19 :
+            case 19:
                 return "POISON";
-            case 20 :
+            case 20:
                 return "WITHER";
-            case 21 :
+            case 21:
                 return "HEALTH_BOOST";
-            case 22 :
+            case 22:
                 return "ABSORPTION";
-            case 23 :
+            case 23:
                 return "SATURATION";
-            case 24 :
+            case 24:
                 return "GLOWING";
-            case 25 :
+            case 25:
                 return "LEVITATION";
-            case 26 :
+            case 26:
                 return "LUCK";
-            case 27 :
+            case 27:
                 return "UNLUCK";
             case 28:
                 return "SLOW_FALLING";
@@ -310,7 +202,7 @@ public class PotionConfigGenerator {
                 return "CONDUIT_POWER";
             case 30:
                 return "DOLPHINS_GRACE";
-            default :
+            default:
                 return "UNKNOWN_EFFECT_TYPE_" + type.getId();
         }
     }
@@ -348,9 +240,9 @@ public class PotionConfigGenerator {
 
     private static void getChildren(WriteablePotion current, HashMap<Ingredient, WriteablePotion> children) {
         switch (current.data.getType()) {
-            case WATER :
-                assert(!current.data.isExtended());
-                assert(!current.data.isUpgraded());
+            case WATER:
+                assert (!current.data.isExtended());
+                assert (!current.data.isUpgraded());
                 children.put(new Ingredient(Material.NETHER_WART), new WriteablePotion(current.mat, PotionType.AWKWARD));
                 children.put(new Ingredient(Material.FERMENTED_SPIDER_EYE), new WriteablePotion(current.mat, PotionType.WEAKNESS));
                 children.put(new Ingredient(Material.REDSTONE), new WriteablePotion(current.mat, PotionType.MUNDANE));
@@ -363,9 +255,9 @@ public class PotionConfigGenerator {
                 children.put(new Ingredient(Material.GLISTERING_MELON_SLICE), new WriteablePotion(current.mat, PotionType.MUNDANE));
                 children.put(new Ingredient(Material.GHAST_TEAR), new WriteablePotion(current.mat, PotionType.MUNDANE));
                 return;
-            case AWKWARD :
-                assert(!current.data.isExtended());
-                assert(!current.data.isUpgraded());
+            case AWKWARD:
+                assert (!current.data.isExtended());
+                assert (!current.data.isUpgraded());
                 children.put(new Ingredient(Material.GOLDEN_CARROT), new WriteablePotion(current.mat, PotionType.NIGHT_VISION));
                 children.put(new Ingredient(Material.RABBIT_FOOT), new WriteablePotion(current.mat, PotionType.JUMP));
                 children.put(new Ingredient(Material.MAGMA_CREAM), new WriteablePotion(current.mat, PotionType.FIRE_RESISTANCE));
@@ -396,8 +288,8 @@ public class PotionConfigGenerator {
                 children.put(new Ingredient(Material.FERN), new WriteablePotion(current.mat, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.SATURATION, (int) (8 * mod), 0), "SATURATION"));
                 children.put(new Ingredient(Material.APPLE), new WriteablePotion(current.mat, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.HEALTH_BOOST, (int) (1800 * mod), 0), "HEALTH_BOOST"));
                 return;
-            case FIRE_RESISTANCE :
-                assert(!current.data.isUpgraded());
+            case FIRE_RESISTANCE:
+                assert (!current.data.isUpgraded());
                 if (current.data.isExtended()) {
                     children.put(new Ingredient(Material.FERMENTED_SPIDER_EYE), new WriteablePotion(current.mat, new PotionData(PotionType.SLOWNESS, true, false)));
                 } else {
@@ -405,14 +297,14 @@ public class PotionConfigGenerator {
                     children.put(new Ingredient(Material.REDSTONE), new WriteablePotion(current.mat, new PotionData(current.data.getType(), true, false)));
                 }
                 return;
-            case INSTANT_DAMAGE :
-                assert(!current.data.isExtended());
+            case INSTANT_DAMAGE:
+                assert (!current.data.isExtended());
                 if (!current.data.isUpgraded()) {
                     children.put(new Ingredient(Material.GLOWSTONE_DUST), new WriteablePotion(current.mat, new PotionData(current.data.getType(), false, true)));
                 }
                 return;
-            case INSTANT_HEAL :
-                assert(!current.data.isExtended());
+            case INSTANT_HEAL:
+                assert (!current.data.isExtended());
                 if (!current.data.isUpgraded()) {
                     children.put(new Ingredient(Material.FERMENTED_SPIDER_EYE), new WriteablePotion(current.mat, PotionType.INSTANT_DAMAGE));
                     children.put(new Ingredient(Material.GLOWSTONE_DUST), new WriteablePotion(current.mat, new PotionData(current.data.getType(), false, true)));
@@ -420,21 +312,21 @@ public class PotionConfigGenerator {
                     children.put(new Ingredient(Material.FERMENTED_SPIDER_EYE), new WriteablePotion(current.mat, new PotionData(PotionType.INSTANT_DAMAGE, false, true)));
                 }
                 return;
-            case INVISIBILITY :
-                assert(!current.data.isUpgraded());
+            case INVISIBILITY:
+                assert (!current.data.isUpgraded());
                 if (!current.data.isExtended()) {
                     children.put(new Ingredient(Material.REDSTONE), new WriteablePotion(current.mat, new PotionData(current.data.getType(), true, false)));
                 }
                 return;
-            case JUMP :
+            case JUMP:
                 if (!current.data.isUpgraded() && !current.data.isExtended()) {
                     children.put(new Ingredient(Material.FERMENTED_SPIDER_EYE), new WriteablePotion(current.mat, PotionType.SLOWNESS));
                     children.put(new Ingredient(Material.GLOWSTONE_DUST), new WriteablePotion(current.mat, new PotionData(current.data.getType(), false, true)));
                     children.put(new Ingredient(Material.REDSTONE), new WriteablePotion(current.mat, new PotionData(current.data.getType(), true, false)));
                 }
                 return;
-            case NIGHT_VISION :
-                assert(!current.data.isUpgraded());
+            case NIGHT_VISION:
+                assert (!current.data.isUpgraded());
                 if (!current.data.isExtended()) {
                     children.put(new Ingredient(Material.FERMENTED_SPIDER_EYE), new WriteablePotion(current.mat, PotionType.INVISIBILITY));
                     children.put(new Ingredient(Material.REDSTONE), new WriteablePotion(current.mat, new PotionData(current.data.getType(), true, false)));
@@ -442,7 +334,7 @@ public class PotionConfigGenerator {
                     children.put(new Ingredient(Material.FERMENTED_SPIDER_EYE), new WriteablePotion(current.mat, new PotionData(PotionType.INVISIBILITY, true, false)));
                 }
                 return;
-            case POISON :
+            case POISON:
                 if (!current.data.isUpgraded() && !current.data.isExtended()) {
                     children.put(new Ingredient(Material.FERMENTED_SPIDER_EYE), new WriteablePotion(current.mat, PotionType.INSTANT_DAMAGE));
                     children.put(new Ingredient(Material.GLOWSTONE_DUST), new WriteablePotion(current.mat, new PotionData(current.data.getType(), false, true)));
@@ -451,25 +343,25 @@ public class PotionConfigGenerator {
                     children.put(new Ingredient(Material.FERMENTED_SPIDER_EYE), new WriteablePotion(current.mat, new PotionData(PotionType.INSTANT_DAMAGE, false, true)));
                 }
                 return;
-            case REGEN :
+            case REGEN:
                 if (!current.data.isUpgraded() && !current.data.isExtended()) {
                     children.put(new Ingredient(Material.GLOWSTONE_DUST), new WriteablePotion(current.mat, new PotionData(current.data.getType(), false, true)));
                     children.put(new Ingredient(Material.REDSTONE), new WriteablePotion(current.mat, new PotionData(current.data.getType(), true, false)));
                 }
                 return;
-            case SLOWNESS :
-                assert(!current.data.isUpgraded());
+            case SLOWNESS:
+                assert (!current.data.isUpgraded());
                 if (!current.data.isExtended()) {
                     children.put(new Ingredient(Material.REDSTONE), new WriteablePotion(current.mat, new PotionData(current.data.getType(), true, false)));
                 }
                 return;
-            case SLOW_FALLING :
-                assert(!current.data.isUpgraded());
+            case SLOW_FALLING:
+                assert (!current.data.isUpgraded());
                 if (!current.data.isExtended()) {
                     children.put(new Ingredient(Material.REDSTONE), new WriteablePotion(current.mat, new PotionData(current.data.getType(), true, false)));
                 }
                 return;
-            case SPEED :
+            case SPEED:
                 if (!current.data.isUpgraded() && !current.data.isExtended()) {
                     children.put(new Ingredient(Material.FERMENTED_SPIDER_EYE), new WriteablePotion(current.mat, PotionType.SLOWNESS));
                     children.put(new Ingredient(Material.GLOWSTONE_DUST), new WriteablePotion(current.mat, new PotionData(current.data.getType(), false, true)));
@@ -478,7 +370,7 @@ public class PotionConfigGenerator {
                     children.put(new Ingredient(Material.FERMENTED_SPIDER_EYE), new WriteablePotion(current.mat, new PotionData(PotionType.SLOWNESS, true, false)));
                 }
                 return;
-            case STRENGTH :
+            case STRENGTH:
                 if (!current.data.isUpgraded() && !current.data.isExtended()) {
                     children.put(new Ingredient(Material.GLOWSTONE_DUST), new WriteablePotion(current.mat, new PotionData(current.data.getType(), false, true)));
                     children.put(new Ingredient(Material.REDSTONE), new WriteablePotion(current.mat, new PotionData(current.data.getType(), true, false)));
@@ -490,28 +382,28 @@ public class PotionConfigGenerator {
                     children.put(new Ingredient(Material.REDSTONE), new WriteablePotion(current.mat, new PotionData(current.data.getType(), true, false)));
                 }
                 return;
-            case WATER_BREATHING :
-                assert(!current.data.isUpgraded());
+            case WATER_BREATHING:
+                assert (!current.data.isUpgraded());
                 if (!current.data.isExtended()) {
                     children.put(new Ingredient(Material.FERMENTED_SPIDER_EYE), new WriteablePotion(current.mat, PotionType.INSTANT_DAMAGE));
                     children.put(new Ingredient(Material.REDSTONE), new WriteablePotion(current.mat, new PotionData(current.data.getType(), true, false)));
                 }
                 return;
-            case WEAKNESS :
-                assert(!current.data.isUpgraded());
+            case WEAKNESS:
+                assert (!current.data.isUpgraded());
                 if (!current.data.isExtended()) {
                     children.put(new Ingredient(Material.REDSTONE), new WriteablePotion(current.mat, new PotionData(current.data.getType(), true, false)));
                 }
                 return;
-            case LUCK :
-            case MUNDANE :
-            case THICK :
-            case UNCRAFTABLE :
-                assert(!current.data.isExtended());
-                assert(!current.data.isUpgraded());
+            case LUCK:
+            case MUNDANE:
+            case THICK:
+            case UNCRAFTABLE:
+                assert (!current.data.isExtended());
+                assert (!current.data.isUpgraded());
                 return;
-            default :
-                assert(false);
+            default:
+                assert (false);
                 break;
         }
     }
@@ -608,7 +500,7 @@ public class PotionConfigGenerator {
             }
             mcMMOPotions.put(data, children);
         }
-        
+
         // Add all material state changes
         for (Entry<WriteablePotion, Map<Ingredient, WriteablePotion>> entry : mcMMOPotions.entrySet()) {
             if (entry.getKey().mat == Material.POTION) {
@@ -620,4 +512,113 @@ public class PotionConfigGenerator {
             }
         }
     }
+
+    public static class Ingredient {
+
+        public Material mat;
+        public int data;
+        public String name;
+
+        public Ingredient(Material mat) {
+            this.mat = mat;
+            this.data = 0;
+            name = mat.name();
+        }
+
+    }
+
+    public static class WriteablePotion {
+
+        public String name;
+        public Material mat;
+        public PotionData data;
+        public PotionEffect effect;
+        public String baseName;
+
+        public WriteablePotion(PotionData data) {
+            this(Material.POTION, data);
+        }
+
+        public WriteablePotion(Material type, PotionData data) {
+            this(type, data, null, getMCName(data.getType()));
+        }
+
+        public WriteablePotion(Material mat, PotionType type, PotionEffect effect, String baseName) {
+            this(mat, new PotionData(type, false, false), effect, baseName);
+        }
+
+        public WriteablePotion(Material type, PotionData data, PotionEffect effect, String baseName) {
+            this.data = data;
+            this.effect = effect;
+            this.mat = type;
+            this.baseName = baseName;
+            this.name = "POTION_OF_" + baseName;
+            if (mat == Material.SPLASH_POTION) {
+                this.name = "SPLASH_" + this.name;
+            }
+            if (mat == Material.LINGERING_POTION) {
+                this.name = "LINGERING_" + this.name;
+            }
+            if (data.isExtended()) {
+                this.name += "_EXTENDED";
+            }
+            if (data.isUpgraded()) {
+                this.name += "_II";
+            }
+        }
+
+        public WriteablePotion(PotionType type) {
+            this(new PotionData(type, false, false));
+        }
+
+        public WriteablePotion(Material mat, PotionType type) {
+            this(mat, new PotionData(type, false, false));
+        }
+
+        private static String getMCName(PotionType type) {
+            switch (type) {
+                case INSTANT_DAMAGE:
+                    return "HARMING";
+                case INSTANT_HEAL:
+                    return "HEALING";
+                case JUMP:
+                    return "LEAPING";
+                case REGEN:
+                    return "REGENERATION";
+                case SPEED:
+                    return "SWIFTNESS";
+                case UNCRAFTABLE:
+                    return "EMPTY";
+                case LUCK:
+                case MUNDANE:
+                case NIGHT_VISION:
+                case POISON:
+                case INVISIBILITY:
+                case SLOWNESS:
+                case AWKWARD:
+                case STRENGTH:
+                case THICK:
+                case FIRE_RESISTANCE:
+                case WATER:
+                case WATER_BREATHING:
+                case WEAKNESS:
+                case TURTLE_MASTER:
+                case SLOW_FALLING:
+                    return type.name();
+                default:
+                    return "";
+            }
+        }
+
+        public int hashCode() {
+            return name.hashCode();
+        }
+
+        public boolean equals(Object obj) {
+            if (!(obj instanceof WriteablePotion)) {
+                return false;
+            }
+            return name.equals(((WriteablePotion) obj).name);
+        }
+    }
 }

+ 4 - 4
bukkit/src/main/resources/child.yml

@@ -9,8 +9,8 @@
 #
 #####
 Salvage:
-    - Fishing
-    - Repair
+- Fishing
+- Repair
 Smelting:
-    - Mining
-    - Repair
+- Mining
+- Repair

Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff