Merge branch 'master' of github.com:mcMMO-Dev/mcMMO into tridentsxbows

This commit is contained in:
nossr50 2020-07-26 05:08:49 -07:00
commit e0cf66c421
259 changed files with 2025 additions and 2270 deletions

View File

@ -1,4 +1,4 @@
Version 2.1.134 Version 2.2.000
New Skill - Tridents New Skill - Tridents
New Skill - Crossbows New Skill - Crossbows
@ -49,6 +49,37 @@ Version 2.1.134
Notes: Notes:
These are the first new skills that I've written for mcMMO in about 9 years, I'll be listening closely to feedback and tweaking them often. These are the first new skills that I've written for mcMMO in about 9 years, I'll be listening closely to feedback and tweaking them often.
Version 2.1.135
Furnaces no longer simulate block break checks when assigning ownership as it caused some unwanted plugin conflicts
Fixed an issue where Fishing would break if exploit protection was turned off for Fishing (Thanks Ineusia)
Fixed Super abilities not being translated on scoreboards (Thanks Ineusia)
Added option in advanced.yml to squelch ability activation messages being sent to other players via action bar (Thanks Ineusia)
Version 2.1.134
Furnaces now change ownership to the last player who clicks in their inventory and is legally allowed to break the furnace
Smelting now has a Bonus Drops section in config.yml
Smelting now only doubles smelting results for items which have bonus drop entries in config.yml
Smelting XP can now be gained offline, but all other benefits from Smelting don't happen unless you're online
Fix brewing stand not consuming items (thanks Durburz)
Changed the UUID updater task to not catastrophically fail when requests failed
Fixed a bug where players could set each other on fire when partied or when PVP was disabled
Fixed a NPE that could happen with thrown potions
Fixed a potential NPE when damaging player armor with Axes
Fixed a potential NPE when damaging a player with Blast Mining
Fixed a potential NPE when checking tools related to Super Abilities
Fixed a potential NPE when checking the Chimaera Wing
Fixed a potential NPE when creating party member lists
Fixed a potential NPE when fishing
Fixed a potential NPE when players right click blocks
Fixed a locale mistake in locale hu_HU
Fixed a locale mistake in locale ru
Minor code cleanup
NOTES:
It used to be that Furnaces would assign an owner and that would be their owner until the server shutdown, now owners will change based on who last had their hands on the furnace.
You won't become the owner if you are not allowed to view the inventory of a furnace, or break the furnace, or interact with the contents of the furnace
>>>>>>> a28d1cd537caddb07a27ba2b7dd0ed7a37b39a48
Version 2.1.133 Version 2.1.133
A fix for an 'array out of bounds' error related to players clicking outside the inventory windows has been fixed A fix for an 'array out of bounds' error related to players clicking outside the inventory windows has been fixed
French locale has been updated (thanks Elikill58) French locale has been updated (thanks Elikill58)

View File

@ -99,10 +99,6 @@ Woodcutting:
Double_Drops_Enabled: true Double_Drops_Enabled: true
Is_Log: true Is_Log: true
# Fir Quarters # Fir Quarters
X2209|1:
XP_Gain: 80
Double_Drops_Enabled: true
Is_Log: true
X2211|1: X2211|1:
XP_Gain: 100 XP_Gain: 100
Double_Drops_Enabled: true Double_Drops_Enabled: true
@ -116,10 +112,6 @@ Woodcutting:
Double_Drops_Enabled: true Double_Drops_Enabled: true
Is_Log: true Is_Log: true
# Oak Quarters # Oak Quarters
X2209|2:
XP_Gain: 70
Double_Drops_Enabled: true
Is_Log: true
X2211|2: X2211|2:
XP_Gain: 100 XP_Gain: 100
Double_Drops_Enabled: true Double_Drops_Enabled: true
@ -133,15 +125,7 @@ Woodcutting:
Double_Drops_Enabled: true Double_Drops_Enabled: true
Is_Log: true Is_Log: true
# Acacia # Acacia
X2209|1:
XP_Gain: 80
Double_Drops_Enabled: true
Is_Log: true
# Cypress # Cypress
X2209|2:
XP_Gain: 90
Double_Drops_Enabled: true
Is_Log: true
# Bald Cypress Quarter # Bald Cypress Quarter
X2225|0: X2225|0:
XP_Gain: 90 XP_Gain: 90

View File

@ -366,25 +366,7 @@ Axes:
### ###
Bows: Bows:
#Bow_1 #Bow_1
X999:
XP_Modifer: 1.0
Ability_Enabled: true
Tier: 1
Repairable: true
Repair_Material: X99
Repair_Material_Data_Value: 0
Repair_Material_Quantity: 9
Durability: 9999
#Bow_2 #Bow_2
X999:
XP_Modifer: 1.0
Ability_Enabled: true
Tier: 1
Repairable: true
Repair_Material: X99
Repair_Material_Data_Value: 0
Repair_Material_Quantity: 9
Durability: 9999
# #
# Settings for Hoes # Settings for Hoes

View File

@ -68,17 +68,7 @@ Chestplates:
Repair_Material_Quantity: 8 Repair_Material_Quantity: 8
Durability: 320 Durability: 320
# Knightmetal # Knightmetal
X28035:
Repairable: true
Repair_Material: X28032
Repair_Material_Pretty_Name: "Knightmetal Ingot"
Repair_Material_Data_Value: 0
Repair_Material_Quantity: 8
Durability: 320
# Phantom # Phantom
X28035:
Repairable: false
Durability: 480
Helmets: Helmets:
# Ironwood # Ironwood
@ -106,17 +96,7 @@ Helmets:
Repair_Material_Quantity: 5 Repair_Material_Quantity: 5
Durability: 220 Durability: 220
# Knightmetal # Knightmetal
X28034:
Repairable: true
Repair_Material: X28032
Repair_Material_Pretty_Name: "Knightmetal Ingot"
Repair_Material_Data_Value: 0
Repair_Material_Quantity: 5
Durability: 220
# Phantom # Phantom
X28034:
Repairable: false
Durability: 330
Leggings: Leggings:
# Ironwood # Ironwood

View File

@ -2,7 +2,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>com.gmail.nossr50.mcMMO</groupId> <groupId>com.gmail.nossr50.mcMMO</groupId>
<artifactId>mcMMO</artifactId> <artifactId>mcMMO</artifactId>
<version>2.1.134-SNAPSHOT</version> <version>2.2.000-ALPHA-SNAPSHOT</version>
<name>mcMMO</name> <name>mcMMO</name>
<url>https://github.com/mcMMO-Dev/mcMMO</url> <url>https://github.com/mcMMO-Dev/mcMMO</url>
<scm> <scm>

View File

@ -185,7 +185,7 @@ public final class PartyAPI {
*/ */
@Deprecated @Deprecated
public static List<OfflinePlayer> getOnlineAndOfflineMembers(Player player) { public static List<OfflinePlayer> getOnlineAndOfflineMembers(Player player) {
List<OfflinePlayer> members = new ArrayList<OfflinePlayer>(); List<OfflinePlayer> members = new ArrayList<>();
for (UUID memberUniqueId : PartyManager.getAllMembers(player).keySet()) { for (UUID memberUniqueId : PartyManager.getAllMembers(player).keySet()) {
OfflinePlayer member = mcMMO.p.getServer().getOfflinePlayer(memberUniqueId); OfflinePlayer member = mcMMO.p.getServer().getOfflinePlayer(memberUniqueId);

View File

@ -82,7 +82,7 @@ public final class SkillAPI {
} }
private static List<String> getListFromEnum(List<PrimarySkillType> skillsTypes) { private static List<String> getListFromEnum(List<PrimarySkillType> skillsTypes) {
List<String> skills = new ArrayList<String>(); List<String> skills = new ArrayList<>();
for (PrimarySkillType primarySkillType : skillsTypes) { for (PrimarySkillType primarySkillType : skillsTypes) {
skills.add(primarySkillType.name()); skills.add(primarySkillType.name());

View File

@ -6,8 +6,8 @@ import org.bukkit.plugin.Plugin;
import java.util.HashMap; import java.util.HashMap;
public class ChatManagerFactory { public class ChatManagerFactory {
private static final HashMap<Plugin, AdminChatManager> adminChatManagers = new HashMap<Plugin, AdminChatManager>(); private static final HashMap<Plugin, AdminChatManager> adminChatManagers = new HashMap<>();
private static final HashMap<Plugin, PartyChatManager> partyChatManagers = new HashMap<Plugin, PartyChatManager>(); private static final HashMap<Plugin, PartyChatManager> partyChatManagers = new HashMap<>();
public static ChatManager getChatManager(Plugin plugin, ChatMode mode) { public static ChatManager getChatManager(Plugin plugin, ChatMode mode) {
switch (mode) { switch (mode) {

View File

@ -10,13 +10,14 @@ import com.google.common.collect.ImmutableList;
import org.bukkit.command.Command; import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.command.TabExecutor; import org.bukkit.command.TabExecutor;
import org.jetbrains.annotations.NotNull;
import java.util.List; import java.util.List;
public class MHDCommand implements TabExecutor { public class MHDCommand implements TabExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
if (mcMMO.getDatabaseManager() instanceof SQLDatabaseManager) { if (mcMMO.getDatabaseManager() instanceof SQLDatabaseManager) {
SQLDatabaseManager m = (SQLDatabaseManager) mcMMO.getDatabaseManager(); SQLDatabaseManager m = (SQLDatabaseManager) mcMMO.getDatabaseManager();
m.resetMobHealthSettings(); m.resetMobHealthSettings();
@ -39,7 +40,7 @@ public class MHDCommand implements TabExecutor {
} }
@Override @Override
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) { public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, String[] args) {
return ImmutableList.of(); return ImmutableList.of();
} }
} }

View File

@ -7,6 +7,7 @@ import org.bukkit.Material;
import org.bukkit.command.Command; import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.jetbrains.annotations.NotNull;
import java.io.*; import java.io.*;
import java.util.ArrayList; import java.util.ArrayList;
@ -17,15 +18,12 @@ public class McImportCommand implements CommandExecutor {
int fileAmount; int fileAmount;
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
switch (args.length) { if (args.length == 0) {
case 0:
importModConfig(); importModConfig();
return true; return true;
default:
return false;
} }
return false;
} }
public boolean importModConfig() { public boolean importModConfig() {
@ -34,7 +32,7 @@ public class McImportCommand implements CommandExecutor {
mcMMO.p.getLogger().info("Starting import of mod materials..."); mcMMO.p.getLogger().info("Starting import of mod materials...");
fileAmount = 0; fileAmount = 0;
HashMap<ModConfigType, ArrayList<String>> materialNames = new HashMap<ModConfigType, ArrayList<String>>(); HashMap<ModConfigType, ArrayList<String>> materialNames = new HashMap<>();
BufferedReader in = null; BufferedReader in = null;
@ -66,11 +64,10 @@ public class McImportCommand implements CommandExecutor {
ModConfigType type = ModConfigType.getModConfigType(materialName); ModConfigType type = ModConfigType.getModConfigType(materialName);
if (!materialNames.containsKey(type)) { if (!materialNames.containsKey(type)) {
materialNames.put(type, new ArrayList<String>()); materialNames.put(type, new ArrayList<>());
} }
materialNames.get(type).add(materialName); materialNames.get(type).add(materialName);
continue;
} }
} }
catch (FileNotFoundException e) { catch (FileNotFoundException e) {
@ -94,13 +91,13 @@ public class McImportCommand implements CommandExecutor {
private void createOutput(HashMap<ModConfigType, ArrayList<String>> materialNames) { private void createOutput(HashMap<ModConfigType, ArrayList<String>> materialNames) {
for (ModConfigType modConfigType : materialNames.keySet()) { for (ModConfigType modConfigType : materialNames.keySet()) {
HashMap<String, ArrayList<String>> materialNamesType = new HashMap<String, ArrayList<String>>(); HashMap<String, ArrayList<String>> materialNamesType = new HashMap<>();
for (String materialName : materialNames.get(modConfigType)) { for (String materialName : materialNames.get(modConfigType)) {
String modName = Misc.getModName(materialName); String modName = Misc.getModName(materialName);
if (!materialNamesType.containsKey(modName)) { if (!materialNamesType.containsKey(modName)) {
materialNamesType.put(modName, new ArrayList<String>()); materialNamesType.put(modName, new ArrayList<>());
} }
materialNamesType.get(modName).add(materialName); materialNamesType.get(modName).add(materialName);
@ -170,16 +167,10 @@ public class McImportCommand implements CommandExecutor {
out = new FileWriter(outputFile); out = new FileWriter(outputFile);
out.write(writer.toString()); out.write(writer.toString());
} } catch (Exception e) {
catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
return; return;
} } finally {
catch (Exception e) {
e.printStackTrace();
return;
}
finally {
tryClose(out); tryClose(out);
fileAmount++; fileAmount++;
} }
@ -202,7 +193,7 @@ public class McImportCommand implements CommandExecutor {
} }
private HashMap<String, ArrayList<String>> getConfigSectionsBlocks(String modName, HashMap<String, ArrayList<String>> materialNames) { private HashMap<String, ArrayList<String>> getConfigSectionsBlocks(String modName, HashMap<String, ArrayList<String>> materialNames) {
HashMap<String, ArrayList<String>> configSections = new HashMap<String, ArrayList<String>>(); HashMap<String, ArrayList<String>> configSections = new HashMap<>();
// Go through all the materials and categorise them under a skill // Go through all the materials and categorise them under a skill
for (String materialName : materialNames.get(modName)) { for (String materialName : materialNames.get(modName)) {
@ -221,7 +212,7 @@ public class McImportCommand implements CommandExecutor {
} }
if (!configSections.containsKey(skillName)) { if (!configSections.containsKey(skillName)) {
configSections.put(skillName, new ArrayList<String>()); configSections.put(skillName, new ArrayList<>());
} }
ArrayList<String> skillContents = configSections.get(skillName); ArrayList<String> skillContents = configSections.get(skillName);
@ -241,7 +232,7 @@ public class McImportCommand implements CommandExecutor {
} }
private HashMap<String, ArrayList<String>> getConfigSectionsTools(String modName, HashMap<String, ArrayList<String>> materialNames) { private HashMap<String, ArrayList<String>> getConfigSectionsTools(String modName, HashMap<String, ArrayList<String>> materialNames) {
HashMap<String, ArrayList<String>> configSections = new HashMap<String, ArrayList<String>>(); HashMap<String, ArrayList<String>> configSections = new HashMap<>();
// Go through all the materials and categorise them under a tool type // Go through all the materials and categorise them under a tool type
for (String materialName : materialNames.get(modName)) { for (String materialName : materialNames.get(modName)) {
@ -266,7 +257,7 @@ public class McImportCommand implements CommandExecutor {
} }
if (!configSections.containsKey(toolType)) { if (!configSections.containsKey(toolType)) {
configSections.put(toolType, new ArrayList<String>()); configSections.put(toolType, new ArrayList<>());
} }
ArrayList<String> skillContents = configSections.get(toolType); ArrayList<String> skillContents = configSections.get(toolType);
@ -281,7 +272,7 @@ public class McImportCommand implements CommandExecutor {
} }
private HashMap<String, ArrayList<String>> getConfigSectionsArmor(String modName, HashMap<String, ArrayList<String>> materialNames) { private HashMap<String, ArrayList<String>> getConfigSectionsArmor(String modName, HashMap<String, ArrayList<String>> materialNames) {
HashMap<String, ArrayList<String>> configSections = new HashMap<String, ArrayList<String>>(); HashMap<String, ArrayList<String>> configSections = new HashMap<>();
// Go through all the materials and categorise them under an armor type // Go through all the materials and categorise them under an armor type
for (String materialName : materialNames.get(modName)) { for (String materialName : materialNames.get(modName)) {
@ -300,7 +291,7 @@ public class McImportCommand implements CommandExecutor {
} }
if (!configSections.containsKey(toolType)) { if (!configSections.containsKey(toolType)) {
configSections.put(toolType, new ArrayList<String>()); configSections.put(toolType, new ArrayList<>());
} }
ArrayList<String> skillContents = configSections.get(toolType); ArrayList<String> skillContents = configSections.get(toolType);
@ -326,14 +317,14 @@ public class McImportCommand implements CommandExecutor {
} }
private HashMap<String, ArrayList<String>> getConfigSectionsUnknown(String modName, HashMap<String, ArrayList<String>> materialNames) { private HashMap<String, ArrayList<String>> getConfigSectionsUnknown(String modName, HashMap<String, ArrayList<String>> materialNames) {
HashMap<String, ArrayList<String>> configSections = new HashMap<String, ArrayList<String>>(); HashMap<String, ArrayList<String>> configSections = new HashMap<>();
// Go through all the materials and print them // Go through all the materials and print them
for (String materialName : materialNames.get(modName)) { for (String materialName : materialNames.get(modName)) {
String configKey = "UNIDENTIFIED"; String configKey = "UNIDENTIFIED";
if (!configSections.containsKey(configKey)) { if (!configSections.containsKey(configKey)) {
configSections.put(configKey, new ArrayList<String>()); configSections.put(configKey, new ArrayList<>());
} }
ArrayList<String> skillContents = configSections.get(configKey); ArrayList<String> skillContents = configSections.get(configKey);

View File

@ -12,6 +12,7 @@ import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.command.TabExecutor; import org.bukkit.command.TabExecutor;
import org.bukkit.util.StringUtil; import org.bukkit.util.StringUtil;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
@ -22,12 +23,12 @@ public class McconvertCommand implements TabExecutor {
private static final List<String> DATABASE_TYPES; private static final List<String> DATABASE_TYPES;
private static final List<String> SUBCOMMANDS = ImmutableList.of("database", "experience"); private static final List<String> SUBCOMMANDS = ImmutableList.of("database", "experience");
private CommandExecutor databaseConvertCommand = new ConvertDatabaseCommand(); private final CommandExecutor databaseConvertCommand = new ConvertDatabaseCommand();
private CommandExecutor experienceConvertCommand = new ConvertExperienceCommand(); private final CommandExecutor experienceConvertCommand = new ConvertExperienceCommand();
static { static {
ArrayList<String> formulaTypes = new ArrayList<String>(); ArrayList<String> formulaTypes = new ArrayList<>();
ArrayList<String> databaseTypes = new ArrayList<String>(); ArrayList<String> databaseTypes = new ArrayList<>();
for (FormulaType type : FormulaType.values()) { for (FormulaType type : FormulaType.values()) {
formulaTypes.add(type.toString()); formulaTypes.add(type.toString());
@ -53,34 +54,31 @@ public class McconvertCommand implements TabExecutor {
} }
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
switch (args.length) { if (args.length == 2) {
case 2:
if (args[0].equalsIgnoreCase("database") || args[0].equalsIgnoreCase("db")) { if (args[0].equalsIgnoreCase("database") || args[0].equalsIgnoreCase("db")) {
return databaseConvertCommand.onCommand(sender, command, label, args); 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); return experienceConvertCommand.onCommand(sender, command, label, args);
} }
return false;
default:
return false; return false;
} }
return false;
} }
@Override @Override
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) { public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, String[] args) {
switch (args.length) { switch (args.length) {
case 1: case 1:
return StringUtil.copyPartialMatches(args[0], SUBCOMMANDS, new ArrayList<String>(SUBCOMMANDS.size())); return StringUtil.copyPartialMatches(args[0], SUBCOMMANDS, new ArrayList<>(SUBCOMMANDS.size()));
case 2: case 2:
if (args[0].equalsIgnoreCase("database") || args[0].equalsIgnoreCase("db")) { if (args[0].equalsIgnoreCase("database") || args[0].equalsIgnoreCase("db")) {
return StringUtil.copyPartialMatches(args[0], DATABASE_TYPES, new ArrayList<String>(DATABASE_TYPES.size())); return StringUtil.copyPartialMatches(args[0], DATABASE_TYPES, new ArrayList<>(DATABASE_TYPES.size()));
} }
if (args[0].equalsIgnoreCase("experience") || args[0].equalsIgnoreCase("xp") || args[0].equalsIgnoreCase("exp")) { if (args[0].equalsIgnoreCase("experience") || args[0].equalsIgnoreCase("xp") || args[0].equalsIgnoreCase("exp")) {
return StringUtil.copyPartialMatches(args[0], FORMULA_TYPES, new ArrayList<String>(FORMULA_TYPES.size())); return StringUtil.copyPartialMatches(args[0], FORMULA_TYPES, new ArrayList<>(FORMULA_TYPES.size()));
} }
return ImmutableList.of(); return ImmutableList.of();

View File

@ -9,10 +9,11 @@ import org.bukkit.ChatColor;
import org.bukkit.command.Command; import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.jetbrains.annotations.NotNull;
public class McmmoCommand implements CommandExecutor { public class McmmoCommand implements CommandExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
switch (args.length) { switch (args.length) {
case 0: case 0:
if (!Permissions.mcmmoDescription(sender)) { if (!Permissions.mcmmoDescription(sender)) {

View File

@ -9,18 +9,18 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.command.TabExecutor; import org.bukkit.command.TabExecutor;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
import java.util.List; import java.util.List;
public class McnotifyCommand implements TabExecutor { public class McnotifyCommand implements TabExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
if (CommandUtils.noConsoleUsage(sender)) { if (CommandUtils.noConsoleUsage(sender)) {
return true; return true;
} }
switch (args.length) { if (args.length == 0) {
case 0:
McMMOPlayer mcMMOPlayer = UserManager.getPlayer((Player) sender); McMMOPlayer mcMMOPlayer = UserManager.getPlayer((Player) sender);
//Not Loaded yet //Not Loaded yet
@ -30,14 +30,12 @@ public class McnotifyCommand implements TabExecutor {
sender.sendMessage(LocaleLoader.getString("Commands.Notifications." + (mcMMOPlayer.useChatNotifications() ? "Off" : "On"))); sender.sendMessage(LocaleLoader.getString("Commands.Notifications." + (mcMMOPlayer.useChatNotifications() ? "Off" : "On")));
mcMMOPlayer.toggleChatNotifications(); mcMMOPlayer.toggleChatNotifications();
return true; return true;
default:
return false;
} }
return false;
} }
@Override @Override
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) { public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, String[] args) {
return ImmutableList.of(); return ImmutableList.of();
} }
} }

View File

@ -9,6 +9,7 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.command.TabExecutor; import org.bukkit.command.TabExecutor;
import org.bukkit.util.StringUtil; import org.bukkit.util.StringUtil;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -17,7 +18,7 @@ public class McscoreboardCommand implements TabExecutor {
private static final List<String> FIRST_ARGS = ImmutableList.of("keep", "time", "clear"); private static final List<String> FIRST_ARGS = ImmutableList.of("keep", "time", "clear");
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
if (CommandUtils.noConsoleUsage(sender)) { if (CommandUtils.noConsoleUsage(sender)) {
return true; return true;
} }
@ -69,13 +70,11 @@ public class McscoreboardCommand implements TabExecutor {
} }
@Override @Override
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) { public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, String[] args) {
switch (args.length) { if (args.length == 1) {
case 1: return StringUtil.copyPartialMatches(args[0], FIRST_ARGS, new ArrayList<>(FIRST_ARGS.size()));
return StringUtil.copyPartialMatches(args[0], FIRST_ARGS, new ArrayList<String>(FIRST_ARGS.size()));
default:
return ImmutableList.of();
} }
return ImmutableList.of();
} }
private boolean help(CommandSender sender) { private boolean help(CommandSender sender) {

View File

@ -8,13 +8,14 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.command.TabExecutor; import org.bukkit.command.TabExecutor;
import org.bukkit.util.StringUtil; import org.bukkit.util.StringUtil;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
public abstract class ToggleCommand implements TabExecutor { public abstract class ToggleCommand implements TabExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
switch (args.length) { switch (args.length) {
case 0: case 0:
if (CommandUtils.noConsoleUsage(sender)) { if (CommandUtils.noConsoleUsage(sender)) {
@ -60,14 +61,12 @@ public abstract class ToggleCommand implements TabExecutor {
} }
@Override @Override
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) { public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, String[] args) {
switch (args.length) { if (args.length == 1) {
case 1:
List<String> playerNames = CommandUtils.getOnlinePlayerNames(sender); List<String> playerNames = CommandUtils.getOnlinePlayerNames(sender);
return StringUtil.copyPartialMatches(args[0], playerNames, new ArrayList<String>(playerNames.size())); return StringUtil.copyPartialMatches(args[0], playerNames, new ArrayList<>(playerNames.size()));
default:
return ImmutableList.of();
} }
return ImmutableList.of();
} }
protected abstract boolean hasOtherPermission(CommandSender sender); protected abstract boolean hasOtherPermission(CommandSender sender);

View File

@ -16,6 +16,7 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.command.TabExecutor; import org.bukkit.command.TabExecutor;
import org.bukkit.util.StringUtil; import org.bukkit.util.StringUtil;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -24,7 +25,7 @@ public class XprateCommand implements TabExecutor {
private final double ORIGINAL_XP_RATE = ExperienceConfig.getInstance().getExperienceGainsGlobalMultiplier(); private final double ORIGINAL_XP_RATE = ExperienceConfig.getInstance().getExperienceGainsGlobalMultiplier();
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
switch (args.length) { switch (args.length) {
case 1: case 1:
if (!args[0].equalsIgnoreCase("reset") && !args[0].equalsIgnoreCase("clear")) { if (!args[0].equalsIgnoreCase("reset") && !args[0].equalsIgnoreCase("clear")) {
@ -116,16 +117,16 @@ public class XprateCommand implements TabExecutor {
} }
@Override @Override
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) { public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, String[] args) {
switch (args.length) { switch (args.length) {
case 1: case 1:
if (StringUtils.isInt(args[0])) { if (StringUtils.isInt(args[0])) {
return ImmutableList.of(); return ImmutableList.of();
} }
return StringUtil.copyPartialMatches(args[0], CommandUtils.RESET_OPTIONS, new ArrayList<String>(CommandUtils.RESET_OPTIONS.size())); return StringUtil.copyPartialMatches(args[0], CommandUtils.RESET_OPTIONS, new ArrayList<>(CommandUtils.RESET_OPTIONS.size()));
case 2: case 2:
return StringUtil.copyPartialMatches(args[1], CommandUtils.TRUE_FALSE_OPTIONS, new ArrayList<String>(CommandUtils.TRUE_FALSE_OPTIONS.size())); return StringUtil.copyPartialMatches(args[1], CommandUtils.TRUE_FALSE_OPTIONS, new ArrayList<>(CommandUtils.TRUE_FALSE_OPTIONS.size()));
default: default:
return ImmutableList.of(); return ImmutableList.of();
} }

View File

@ -5,15 +5,15 @@ import com.gmail.nossr50.util.Permissions;
import org.bukkit.command.Command; import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.jetbrains.annotations.NotNull;
/** /**
* @author Mark Vainomaa * @author Mark Vainomaa
*/ */
public final class McmmoReloadLocaleCommand implements CommandExecutor { public final class McmmoReloadLocaleCommand implements CommandExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
switch (args.length) { if (args.length == 0) {
case 0:
if (!Permissions.reloadlocale(sender)) { if (!Permissions.reloadlocale(sender)) {
sender.sendMessage(command.getPermissionMessage()); sender.sendMessage(command.getPermissionMessage());
return true; return true;
@ -23,8 +23,7 @@ public final class McmmoReloadLocaleCommand implements CommandExecutor {
sender.sendMessage(LocaleLoader.getString("Locale.Reloaded")); sender.sendMessage(LocaleLoader.getString("Locale.Reloaded"));
return true; return true;
default: }
return false; return false;
} }
} }
}

View File

@ -7,11 +7,12 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
public class PlayerDebugCommand implements CommandExecutor { public class PlayerDebugCommand implements CommandExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
if(sender instanceof Player) { if(sender instanceof Player) {
McMMOPlayer mcMMOPlayer = UserManager.getPlayer((Player) sender); McMMOPlayer mcMMOPlayer = UserManager.getPlayer((Player) sender);
mcMMOPlayer.toggleDebugMode(); //Toggle debug mode mcMMOPlayer.toggleDebugMode(); //Toggle debug mode

View File

@ -16,12 +16,13 @@ import org.bukkit.command.CommandSender;
import org.bukkit.command.TabExecutor; import org.bukkit.command.TabExecutor;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.util.StringUtil; import org.bukkit.util.StringUtil;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
public abstract class ChatCommand implements TabExecutor { public abstract class ChatCommand implements TabExecutor {
private ChatMode chatMode; private final ChatMode chatMode;
protected ChatManager chatManager; protected ChatManager chatManager;
public ChatCommand(ChatMode chatMode) { public ChatCommand(ChatMode chatMode) {
@ -30,7 +31,7 @@ public abstract class ChatCommand implements TabExecutor {
} }
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
McMMOPlayer mcMMOPlayer; McMMOPlayer mcMMOPlayer;
switch (args.length) { switch (args.length) {
@ -88,13 +89,11 @@ public abstract class ChatCommand implements TabExecutor {
} }
@Override @Override
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) { public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, String[] args) {
switch (args.length) { if (args.length == 1) {
case 1: return StringUtil.copyPartialMatches(args[0], CommandUtils.TRUE_FALSE_OPTIONS, new ArrayList<>(CommandUtils.TRUE_FALSE_OPTIONS.size()));
return StringUtil.copyPartialMatches(args[0], CommandUtils.TRUE_FALSE_OPTIONS, new ArrayList<String>(CommandUtils.TRUE_FALSE_OPTIONS.size()));
default:
return ImmutableList.of();
} }
return ImmutableList.of();
} }
protected String buildChatMessage(String[] args, int index) { protected String buildChatMessage(String[] args, int index) {

View File

@ -13,12 +13,12 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
public class ConvertDatabaseCommand implements CommandExecutor { public class ConvertDatabaseCommand implements CommandExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
switch (args.length) { if (args.length == 2) {
case 2:
DatabaseType previousType = DatabaseType.getDatabaseType(args[1]); DatabaseType previousType = DatabaseType.getDatabaseType(args[1]);
DatabaseType newType = mcMMO.getDatabaseManager().getDatabaseType(); DatabaseType newType = mcMMO.getDatabaseManager().getDatabaseType();
@ -41,8 +41,7 @@ public class ConvertDatabaseCommand implements CommandExecutor {
} }
oldDatabase = DatabaseManagerFactory.createCustomDatabaseManager((Class<? extends DatabaseManager>) clazz); oldDatabase = DatabaseManagerFactory.createCustomDatabaseManager((Class<? extends DatabaseManager>) clazz);
} } catch (Throwable e) {
catch (Throwable e) {
e.printStackTrace(); e.printStackTrace();
sender.sendMessage(LocaleLoader.getString("Commands.mcconvert.Database.InvalidType", args[1])); sender.sendMessage(LocaleLoader.getString("Commands.mcconvert.Database.InvalidType", args[1]));
return true; return true;
@ -66,9 +65,7 @@ public class ConvertDatabaseCommand implements CommandExecutor {
new DatabaseConversionTask(oldDatabase, sender, previousType.toString(), newType.toString()).runTaskAsynchronously(mcMMO.p); new DatabaseConversionTask(oldDatabase, sender, previousType.toString(), newType.toString()).runTaskAsynchronously(mcMMO.p);
return true; return true;
}
default:
return false; return false;
} }
} }
}

View File

@ -7,14 +7,14 @@ import com.google.common.collect.ImmutableList;
import org.bukkit.command.Command; import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.command.TabExecutor; import org.bukkit.command.TabExecutor;
import org.jetbrains.annotations.NotNull;
import java.util.List; import java.util.List;
public class McpurgeCommand implements TabExecutor { public class McpurgeCommand implements TabExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
switch (args.length) { if (args.length == 0) {
case 0:
mcMMO.getDatabaseManager().purgePowerlessUsers(); mcMMO.getDatabaseManager().purgePowerlessUsers();
if (Config.getInstance().getOldUsersCutoff() != -1) { if (Config.getInstance().getOldUsersCutoff() != -1) {
@ -23,14 +23,12 @@ public class McpurgeCommand implements TabExecutor {
sender.sendMessage(LocaleLoader.getString("Commands.mcpurge.Success")); sender.sendMessage(LocaleLoader.getString("Commands.mcpurge.Success"));
return true; return true;
default:
return false;
} }
return false;
} }
@Override @Override
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) { public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, String[] args) {
return ImmutableList.of(); return ImmutableList.of();
} }
} }

View File

@ -10,6 +10,7 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.command.TabExecutor; import org.bukkit.command.TabExecutor;
import org.bukkit.util.StringUtil; import org.bukkit.util.StringUtil;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -17,9 +18,8 @@ import java.util.UUID;
public class McremoveCommand implements TabExecutor { public class McremoveCommand implements TabExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
switch (args.length) { if (args.length == 1) {
case 1:
String playerName = CommandUtils.getMatchedPlayerName(args[0]); String playerName = CommandUtils.getMatchedPlayerName(args[0]);
if (UserManager.getOfflinePlayer(playerName) == null && CommandUtils.unloadedProfile(sender, mcMMO.getDatabaseManager().loadPlayerProfile(playerName, false))) { if (UserManager.getOfflinePlayer(playerName) == null && CommandUtils.unloadedProfile(sender, mcMMO.getDatabaseManager().loadPlayerProfile(playerName, false))) {
@ -34,26 +34,21 @@ public class McremoveCommand implements TabExecutor {
if (mcMMO.getDatabaseManager().removeUser(playerName, uuid)) { if (mcMMO.getDatabaseManager().removeUser(playerName, uuid)) {
sender.sendMessage(LocaleLoader.getString("Commands.mcremove.Success", 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. sender.sendMessage(playerName + " could not be removed from the database."); // Pretty sure this should NEVER happen.
} }
return true; return true;
default:
return false;
} }
return false;
} }
@Override @Override
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) { public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, String[] args) {
switch (args.length) { if (args.length == 1) {
case 1:
List<String> playerNames = CommandUtils.getOnlinePlayerNames(sender); List<String> playerNames = CommandUtils.getOnlinePlayerNames(sender);
return StringUtil.copyPartialMatches(args[0], playerNames, new ArrayList<String>(playerNames.size())); return StringUtil.copyPartialMatches(args[0], playerNames, new ArrayList<>(playerNames.size()));
default: }
return ImmutableList.of(); return ImmutableList.of();
} }
} }
}

View File

@ -7,14 +7,14 @@ import com.google.common.collect.ImmutableList;
import org.bukkit.command.Command; import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.command.TabExecutor; import org.bukkit.command.TabExecutor;
import org.jetbrains.annotations.NotNull;
import java.util.List; import java.util.List;
public class MmoshowdbCommand implements TabExecutor { public class MmoshowdbCommand implements TabExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
switch (args.length) { if (args.length == 0) {
case 0:
Class<?> clazz = DatabaseManagerFactory.getCustomDatabaseManagerClass(); Class<?> clazz = DatabaseManagerFactory.getCustomDatabaseManagerClass();
if (clazz != null) { if (clazz != null) {
@ -24,14 +24,12 @@ public class MmoshowdbCommand implements TabExecutor {
sender.sendMessage(LocaleLoader.getString("Commands.mmoshowdb", (Config.getInstance().getUseMySQL() ? "sql" : "flatfile"))); sender.sendMessage(LocaleLoader.getString("Commands.mmoshowdb", (Config.getInstance().getUseMySQL() ? "sql" : "flatfile")));
return true; return true;
default:
return false;
} }
return false;
} }
@Override @Override
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) { public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, String[] args) {
return ImmutableList.of(); return ImmutableList.of();
} }
} }

View File

@ -10,14 +10,14 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
import java.util.Locale; import java.util.Locale;
public class ConvertExperienceCommand implements CommandExecutor { public class ConvertExperienceCommand implements CommandExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
switch (args.length) { if (args.length == 2) {
case 2:
FormulaType previousType = mcMMO.getFormulaManager().getPreviousFormulaType(); FormulaType previousType = mcMMO.getFormulaManager().getPreviousFormulaType();
FormulaType newType = FormulaType.getFormulaType(args[1].toUpperCase(Locale.ENGLISH)); FormulaType newType = FormulaType.getFormulaType(args[1].toUpperCase(Locale.ENGLISH));
@ -43,9 +43,7 @@ public class ConvertExperienceCommand implements CommandExecutor {
} }
return true; return true;
}
default:
return false; return false;
} }
} }
}

View File

@ -14,6 +14,7 @@ import org.bukkit.command.CommandSender;
import org.bukkit.command.TabExecutor; import org.bukkit.command.TabExecutor;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.util.StringUtil; import org.bukkit.util.StringUtil;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -21,7 +22,7 @@ import java.util.UUID;
public abstract class ExperienceCommand implements TabExecutor { public abstract class ExperienceCommand implements TabExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
PrimarySkillType skill; PrimarySkillType skill;
switch (args.length) { switch (args.length) {
@ -119,13 +120,13 @@ public abstract class ExperienceCommand implements TabExecutor {
} }
@Override @Override
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) { public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, String[] args) {
switch (args.length) { switch (args.length) {
case 1: case 1:
List<String> playerNames = CommandUtils.getOnlinePlayerNames(sender); List<String> playerNames = CommandUtils.getOnlinePlayerNames(sender);
return StringUtil.copyPartialMatches(args[0], playerNames, new ArrayList<String>(playerNames.size())); return StringUtil.copyPartialMatches(args[0], playerNames, new ArrayList<>(playerNames.size()));
case 2: case 2:
return StringUtil.copyPartialMatches(args[1], PrimarySkillType.SKILL_NAMES, new ArrayList<String>(PrimarySkillType.SKILL_NAMES.size())); return StringUtil.copyPartialMatches(args[1], PrimarySkillType.SKILL_NAMES, new ArrayList<>(PrimarySkillType.SKILL_NAMES.size()));
default: default:
return ImmutableList.of(); return ImmutableList.of();
} }

View File

@ -17,6 +17,7 @@ import org.bukkit.command.CommandSender;
import org.bukkit.command.TabExecutor; import org.bukkit.command.TabExecutor;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.util.StringUtil; import org.bukkit.util.StringUtil;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -28,7 +29,7 @@ import java.util.UUID;
*/ */
public class SkillresetCommand implements TabExecutor { public class SkillresetCommand implements TabExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
PrimarySkillType skill; PrimarySkillType skill;
switch (args.length) { switch (args.length) {
case 1: case 1:
@ -103,13 +104,13 @@ public class SkillresetCommand implements TabExecutor {
} }
@Override @Override
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) { public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, String[] args) {
switch (args.length) { switch (args.length) {
case 1: case 1:
List<String> playerNames = CommandUtils.getOnlinePlayerNames(sender); List<String> playerNames = CommandUtils.getOnlinePlayerNames(sender);
return StringUtil.copyPartialMatches(args[0], playerNames, new ArrayList<String>(playerNames.size())); return StringUtil.copyPartialMatches(args[0], playerNames, new ArrayList<>(playerNames.size()));
case 2: case 2:
return StringUtil.copyPartialMatches(args[1], PrimarySkillType.SKILL_NAMES, new ArrayList<String>(PrimarySkillType.SKILL_NAMES.size())); return StringUtil.copyPartialMatches(args[1], PrimarySkillType.SKILL_NAMES, new ArrayList<>(PrimarySkillType.SKILL_NAMES.size()));
default: default:
return ImmutableList.of(); return ImmutableList.of();
} }

View File

@ -9,6 +9,7 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.command.TabExecutor; import org.bukkit.command.TabExecutor;
import org.bukkit.util.StringUtil; import org.bukkit.util.StringUtil;
import org.jetbrains.annotations.NotNull;
import java.text.DecimalFormat; import java.text.DecimalFormat;
import java.util.ArrayList; import java.util.ArrayList;
@ -18,7 +19,7 @@ public abstract class HardcoreModeCommand implements TabExecutor {
protected final DecimalFormat percent = new DecimalFormat("##0.00%"); protected final DecimalFormat percent = new DecimalFormat("##0.00%");
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
switch (args.length) { switch (args.length) {
case 0: case 0:
if (!checkTogglePermissions(sender)) { if (!checkTogglePermissions(sender)) {
@ -108,17 +109,15 @@ public abstract class HardcoreModeCommand implements TabExecutor {
} }
@Override @Override
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) { public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, String[] args) {
switch (args.length) { if (args.length == 1) {
case 1:
if (StringUtils.isDouble(args[0])) { if (StringUtils.isDouble(args[0])) {
return ImmutableList.of(); return ImmutableList.of();
} }
return StringUtil.copyPartialMatches(args[0], CommandUtils.TRUE_FALSE_OPTIONS, new ArrayList<String>(CommandUtils.TRUE_FALSE_OPTIONS.size())); return StringUtil.copyPartialMatches(args[0], CommandUtils.TRUE_FALSE_OPTIONS, new ArrayList<>(CommandUtils.TRUE_FALSE_OPTIONS.size()));
default:
return ImmutableList.of();
} }
return ImmutableList.of();
} }
protected abstract boolean checkTogglePermissions(CommandSender sender); protected abstract boolean checkTogglePermissions(CommandSender sender);

View File

@ -8,17 +8,16 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
public class PartyAcceptCommand implements CommandExecutor { public class PartyAcceptCommand implements CommandExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
switch (args.length) { if (args.length == 1) {
case 1:
Player player = (Player) sender; Player player = (Player) sender;
//Check if player profile is loaded //Check if player profile is loaded
if(UserManager.getPlayer(player) == null) if (UserManager.getPlayer(player) == null) {
{
sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));
return true; return true;
} }
@ -38,10 +37,8 @@ public class PartyAcceptCommand implements CommandExecutor {
PartyManager.joinInvitedParty(mcMMOPlayer); PartyManager.joinInvitedParty(mcMMOPlayer);
return true; return true;
}
default:
sender.sendMessage(LocaleLoader.getString("Commands.Usage.1", "party", "accept")); sender.sendMessage(LocaleLoader.getString("Commands.Usage.1", "party", "accept"));
return true; return true;
} }
} }
}

View File

@ -11,15 +11,13 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
public class PartyChangeOwnerCommand implements CommandExecutor { public class PartyChangeOwnerCommand implements CommandExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
switch (args.length) { if (args.length == 2) {//Check if player profile is loaded
case 2: if (UserManager.getPlayer((Player) sender) == null) {
//Check if player profile is loaded
if(UserManager.getPlayer((Player) sender) == null)
{
sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));
return true; return true;
} }
@ -35,10 +33,8 @@ public class PartyChangeOwnerCommand implements CommandExecutor {
PartyManager.setPartyLeader(target.getUniqueId(), playerParty); PartyManager.setPartyLeader(target.getUniqueId(), playerParty);
return true; return true;
}
default:
sender.sendMessage(LocaleLoader.getString("Commands.Usage.2", "party", "owner", "<" + LocaleLoader.getString("Commands.Usage.Player") + ">")); sender.sendMessage(LocaleLoader.getString("Commands.Usage.2", "party", "owner", "<" + LocaleLoader.getString("Commands.Usage.Player") + ">"));
return true; return true;
} }
} }
}

View File

@ -7,10 +7,11 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
public class PartyChangePasswordCommand implements CommandExecutor { public class PartyChangePasswordCommand implements CommandExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
if(UserManager.getPlayer((Player) sender) == null) if(UserManager.getPlayer((Player) sender) == null)
{ {
sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));

View File

@ -16,6 +16,7 @@ import org.bukkit.command.CommandSender;
import org.bukkit.command.TabExecutor; import org.bukkit.command.TabExecutor;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.util.StringUtil; import org.bukkit.util.StringUtil;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
@ -28,7 +29,7 @@ public class PartyCommand implements TabExecutor {
private static final List<String> ITEMSHARE_COMPLETIONS = ImmutableList.of("none", "equal", "random", "loot", "mining", "herbalism", "woodcutting", "misc"); private static final List<String> ITEMSHARE_COMPLETIONS = ImmutableList.of("none", "equal", "random", "loot", "mining", "herbalism", "woodcutting", "misc");
static { static {
ArrayList<String> subcommands = new ArrayList<String>(); ArrayList<String> subcommands = new ArrayList<>();
for (PartySubcommandType subcommand : PartySubcommandType.values()) { for (PartySubcommandType subcommand : PartySubcommandType.values()) {
subcommands.add(subcommand.toString()); subcommands.add(subcommand.toString());
@ -38,27 +39,27 @@ public class PartyCommand implements TabExecutor {
PARTY_SUBCOMMANDS = ImmutableList.copyOf(subcommands); PARTY_SUBCOMMANDS = ImmutableList.copyOf(subcommands);
} }
private CommandExecutor partyJoinCommand = new PartyJoinCommand(); private final CommandExecutor partyJoinCommand = new PartyJoinCommand();
private CommandExecutor partyAcceptCommand = new PartyAcceptCommand(); private final CommandExecutor partyAcceptCommand = new PartyAcceptCommand();
private CommandExecutor partyCreateCommand = new PartyCreateCommand(); private final CommandExecutor partyCreateCommand = new PartyCreateCommand();
private CommandExecutor partyQuitCommand = new PartyQuitCommand(); private final CommandExecutor partyQuitCommand = new PartyQuitCommand();
private CommandExecutor partyXpShareCommand = new PartyXpShareCommand(); private final CommandExecutor partyXpShareCommand = new PartyXpShareCommand();
private CommandExecutor partyItemShareCommand = new PartyItemShareCommand(); private final CommandExecutor partyItemShareCommand = new PartyItemShareCommand();
private CommandExecutor partyInviteCommand = new PartyInviteCommand(); private final CommandExecutor partyInviteCommand = new PartyInviteCommand();
private CommandExecutor partyKickCommand = new PartyKickCommand(); private final CommandExecutor partyKickCommand = new PartyKickCommand();
private CommandExecutor partyDisbandCommand = new PartyDisbandCommand(); private final CommandExecutor partyDisbandCommand = new PartyDisbandCommand();
private CommandExecutor partyChangeOwnerCommand = new PartyChangeOwnerCommand(); private final CommandExecutor partyChangeOwnerCommand = new PartyChangeOwnerCommand();
private CommandExecutor partyLockCommand = new PartyLockCommand(); private final CommandExecutor partyLockCommand = new PartyLockCommand();
private CommandExecutor partyChangePasswordCommand = new PartyChangePasswordCommand(); private final CommandExecutor partyChangePasswordCommand = new PartyChangePasswordCommand();
private CommandExecutor partyRenameCommand = new PartyRenameCommand(); private final CommandExecutor partyRenameCommand = new PartyRenameCommand();
private CommandExecutor partyInfoCommand = new PartyInfoCommand(); private final CommandExecutor partyInfoCommand = new PartyInfoCommand();
private CommandExecutor partyHelpCommand = new PartyHelpCommand(); private final CommandExecutor partyHelpCommand = new PartyHelpCommand();
private CommandExecutor partyTeleportCommand = new PtpCommand(); private final CommandExecutor partyTeleportCommand = new PtpCommand();
private CommandExecutor partyChatCommand = new PartyChatCommand(); private final CommandExecutor partyChatCommand = new PartyChatCommand();
private CommandExecutor partyAllianceCommand = new PartyAllianceCommand(); private final CommandExecutor partyAllianceCommand = new PartyAllianceCommand();
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
if (CommandUtils.noConsoleUsage(sender)) { if (CommandUtils.noConsoleUsage(sender)) {
return true; return true;
} }
@ -171,10 +172,10 @@ public class PartyCommand implements TabExecutor {
} }
@Override @Override
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) { public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, String[] args) {
switch (args.length) { switch (args.length) {
case 1: case 1:
return StringUtil.copyPartialMatches(args[0], PARTY_SUBCOMMANDS, new ArrayList<String>(PARTY_SUBCOMMANDS.size())); return StringUtil.copyPartialMatches(args[0], PARTY_SUBCOMMANDS, new ArrayList<>(PARTY_SUBCOMMANDS.size()));
case 2: case 2:
PartySubcommandType subcommand = PartySubcommandType.getSubcommand(args[0]); PartySubcommandType subcommand = PartySubcommandType.getSubcommand(args[0]);
@ -188,18 +189,18 @@ public class PartyCommand implements TabExecutor {
case KICK: case KICK:
case OWNER: case OWNER:
List<String> playerNames = CommandUtils.getOnlinePlayerNames(sender); List<String> playerNames = CommandUtils.getOnlinePlayerNames(sender);
return StringUtil.copyPartialMatches(args[1], playerNames, new ArrayList<String>(playerNames.size())); return StringUtil.copyPartialMatches(args[1], playerNames, new ArrayList<>(playerNames.size()));
case XPSHARE: case XPSHARE:
return StringUtil.copyPartialMatches(args[1], XPSHARE_COMPLETIONS, new ArrayList<String>(XPSHARE_COMPLETIONS.size())); return StringUtil.copyPartialMatches(args[1], XPSHARE_COMPLETIONS, new ArrayList<>(XPSHARE_COMPLETIONS.size()));
case ITEMSHARE: case ITEMSHARE:
return StringUtil.copyPartialMatches(args[1], ITEMSHARE_COMPLETIONS, new ArrayList<String>(ITEMSHARE_COMPLETIONS.size())); return StringUtil.copyPartialMatches(args[1], ITEMSHARE_COMPLETIONS, new ArrayList<>(ITEMSHARE_COMPLETIONS.size()));
case LOCK: case LOCK:
case CHAT: case CHAT:
return StringUtil.copyPartialMatches(args[1], CommandUtils.TRUE_FALSE_OPTIONS, new ArrayList<String>(CommandUtils.TRUE_FALSE_OPTIONS.size())); return StringUtil.copyPartialMatches(args[1], CommandUtils.TRUE_FALSE_OPTIONS, new ArrayList<>(CommandUtils.TRUE_FALSE_OPTIONS.size()));
case PASSWORD: case PASSWORD:
return StringUtil.copyPartialMatches(args[1], CommandUtils.RESET_OPTIONS, new ArrayList<String>(CommandUtils.RESET_OPTIONS.size())); return StringUtil.copyPartialMatches(args[1], CommandUtils.RESET_OPTIONS, new ArrayList<>(CommandUtils.RESET_OPTIONS.size()));
case TELEPORT: case TELEPORT:
List<String> matches = StringUtil.copyPartialMatches(args[1], PtpCommand.TELEPORT_SUBCOMMANDS, new ArrayList<String>(PtpCommand.TELEPORT_SUBCOMMANDS.size())); List<String> matches = StringUtil.copyPartialMatches(args[1], PtpCommand.TELEPORT_SUBCOMMANDS, new ArrayList<>(PtpCommand.TELEPORT_SUBCOMMANDS.size()));
if (matches.size() == 0) { if (matches.size() == 0) {
Player player = (Player) sender; Player player = (Player) sender;
@ -214,7 +215,7 @@ public class PartyCommand implements TabExecutor {
Party party = UserManager.getPlayer(player).getParty(); Party party = UserManager.getPlayer(player).getParty();
playerNames = party.getOnlinePlayerNames(player); playerNames = party.getOnlinePlayerNames(player);
return StringUtil.copyPartialMatches(args[1], playerNames, new ArrayList<String>(playerNames.size())); return StringUtil.copyPartialMatches(args[1], playerNames, new ArrayList<>(playerNames.size()));
} }
return matches; return matches;
@ -223,7 +224,7 @@ public class PartyCommand implements TabExecutor {
} }
case 3: case 3:
if (PartySubcommandType.getSubcommand(args[0]) == PartySubcommandType.ITEMSHARE && isItemShareCategory(args[1])) { if (PartySubcommandType.getSubcommand(args[0]) == PartySubcommandType.ITEMSHARE && isItemShareCategory(args[1])) {
return StringUtil.copyPartialMatches(args[2], CommandUtils.TRUE_FALSE_OPTIONS, new ArrayList<String>(CommandUtils.TRUE_FALSE_OPTIONS.size())); return StringUtil.copyPartialMatches(args[2], CommandUtils.TRUE_FALSE_OPTIONS, new ArrayList<>(CommandUtils.TRUE_FALSE_OPTIONS.size()));
} }
return ImmutableList.of(); return ImmutableList.of();

View File

@ -8,10 +8,11 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
public class PartyCreateCommand implements CommandExecutor { public class PartyCreateCommand implements CommandExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
switch (args.length) { switch (args.length) {
case 2: case 2:
case 3: case 3:

View File

@ -9,14 +9,13 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
public class PartyDisbandCommand implements CommandExecutor { public class PartyDisbandCommand implements CommandExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
switch (args.length) { if (args.length == 1) {
case 1: if (UserManager.getPlayer((Player) sender) == null) {
if(UserManager.getPlayer((Player) sender) == null)
{
sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));
return true; return true;
} }
@ -34,10 +33,8 @@ public class PartyDisbandCommand implements CommandExecutor {
PartyManager.disbandParty(playerParty); PartyManager.disbandParty(playerParty);
return true; return true;
}
default:
sender.sendMessage(LocaleLoader.getString("Commands.Usage.1", "party", "disband")); sender.sendMessage(LocaleLoader.getString("Commands.Usage.1", "party", "disband"));
return true; return true;
} }
} }
}

View File

@ -4,13 +4,13 @@ import com.gmail.nossr50.locale.LocaleLoader;
import org.bukkit.command.Command; import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.jetbrains.annotations.NotNull;
public class PartyHelpCommand implements CommandExecutor { public class PartyHelpCommand implements CommandExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
switch (args.length) { if (args.length == 1) {
case 1:
sender.sendMessage(LocaleLoader.getString("Party.Help.3", "/party join", "/party quit")); sender.sendMessage(LocaleLoader.getString("Party.Help.3", "/party join", "/party quit"));
sender.sendMessage(LocaleLoader.getString("Party.Help.1", "/party create")); sender.sendMessage(LocaleLoader.getString("Party.Help.1", "/party create"));
sender.sendMessage(LocaleLoader.getString("Party.Help.4", "/party <lock|unlock>")); sender.sendMessage(LocaleLoader.getString("Party.Help.4", "/party <lock|unlock>"));
@ -21,10 +21,8 @@ public class PartyHelpCommand implements CommandExecutor {
sender.sendMessage(LocaleLoader.getString("Party.Help.9", "/party itemshare")); sender.sendMessage(LocaleLoader.getString("Party.Help.9", "/party itemshare"));
sender.sendMessage(LocaleLoader.getString("Party.Help.10", "/party xpshare")); sender.sendMessage(LocaleLoader.getString("Party.Help.10", "/party xpshare"));
return true; return true;
}
default:
sender.sendMessage(LocaleLoader.getString("Commands.Usage.1", "party", "help")); sender.sendMessage(LocaleLoader.getString("Commands.Usage.1", "party", "help"));
return true; return true;
} }
} }
}

View File

@ -13,13 +13,14 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
public class PartyInfoCommand implements CommandExecutor { public class PartyInfoCommand implements CommandExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
switch (args.length) { switch (args.length) {
case 0: case 0:
case 1: case 1:
@ -60,8 +61,8 @@ public class PartyInfoCommand implements CommandExecutor {
private void displayPartyFeatures(Player player, Party party) { private void displayPartyFeatures(Player player, Party party) {
player.sendMessage(LocaleLoader.getString("Commands.Party.Features.Header")); player.sendMessage(LocaleLoader.getString("Commands.Party.Features.Header"));
List<String> unlockedPartyFeatures = new ArrayList<String>(); List<String> unlockedPartyFeatures = new ArrayList<>();
List<String> lockedPartyFeatures = new ArrayList<String>(); List<String> lockedPartyFeatures = new ArrayList<>();
for (PartyFeature partyFeature : PartyFeature.values()) { for (PartyFeature partyFeature : PartyFeature.values()) {
if (!partyFeature.hasPermission(player)) { if (!partyFeature.hasPermission(player)) {

View File

@ -11,12 +11,12 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
public class PartyInviteCommand implements CommandExecutor { public class PartyInviteCommand implements CommandExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
switch (args.length) { if (args.length == 2) {
case 2:
String targetName = CommandUtils.getMatchedPlayerName(args[1]); String targetName = CommandUtils.getMatchedPlayerName(args[1]);
McMMOPlayer mcMMOTarget = UserManager.getOfflinePlayer(targetName); McMMOPlayer mcMMOTarget = UserManager.getOfflinePlayer(targetName);
@ -26,8 +26,7 @@ public class PartyInviteCommand implements CommandExecutor {
Player target = mcMMOTarget.getPlayer(); Player target = mcMMOTarget.getPlayer();
if(UserManager.getPlayer((Player) sender) == null) if (UserManager.getPlayer((Player) sender) == null) {
{
sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));
return true; return true;
} }
@ -53,8 +52,7 @@ public class PartyInviteCommand implements CommandExecutor {
Party playerParty = mcMMOPlayer.getParty(); 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())); player.sendMessage(LocaleLoader.getString("Commands.Party.PartyFull.Invite", target.getName(), playerParty.toString(), Config.getInstance().getPartyMaxSize()));
return true; return true;
} }
@ -65,10 +63,8 @@ public class PartyInviteCommand implements CommandExecutor {
target.sendMessage(LocaleLoader.getString("Commands.Party.Invite.0", playerParty.getName(), playerName)); target.sendMessage(LocaleLoader.getString("Commands.Party.Invite.0", playerParty.getName(), playerName));
target.sendMessage(LocaleLoader.getString("Commands.Party.Invite.1")); target.sendMessage(LocaleLoader.getString("Commands.Party.Invite.1"));
return true; return true;
}
default:
sender.sendMessage(LocaleLoader.getString("Commands.Usage.2", "party", "invite", "<" + LocaleLoader.getString("Commands.Usage.Player") + ">")); sender.sendMessage(LocaleLoader.getString("Commands.Usage.2", "party", "invite", "<" + LocaleLoader.getString("Commands.Usage.Player") + ">"));
return true; return true;
} }
} }
}

View File

@ -13,12 +13,13 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
import java.util.Locale; import java.util.Locale;
public class PartyItemShareCommand implements CommandExecutor { public class PartyItemShareCommand implements CommandExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
if(UserManager.getPlayer((Player) sender) == null) if(UserManager.getPlayer((Player) sender) == null)
{ {
sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));

View File

@ -10,10 +10,11 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
public class PartyJoinCommand implements CommandExecutor { public class PartyJoinCommand implements CommandExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
switch (args.length) { switch (args.length) {
case 2: case 2:
case 3: case 3:

View File

@ -12,14 +12,13 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
public class PartyKickCommand implements CommandExecutor { public class PartyKickCommand implements CommandExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
switch (args.length) { if (args.length == 2) {
case 2: if (UserManager.getPlayer((Player) sender) == null) {
if(UserManager.getPlayer((Player) sender) == null)
{
sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));
return true; return true;
} }
@ -48,10 +47,8 @@ public class PartyKickCommand implements CommandExecutor {
PartyManager.removeFromParty(target, playerParty); PartyManager.removeFromParty(target, playerParty);
return true; return true;
}
default:
sender.sendMessage(LocaleLoader.getString("Commands.Usage.2", "party", "kick", "<" + LocaleLoader.getString("Commands.Usage.Player") + ">")); sender.sendMessage(LocaleLoader.getString("Commands.Usage.2", "party", "kick", "<" + LocaleLoader.getString("Commands.Usage.Player") + ">"));
return true; return true;
} }
} }
}

View File

@ -9,10 +9,11 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
public class PartyLockCommand implements CommandExecutor { public class PartyLockCommand implements CommandExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
switch (args.length) { switch (args.length) {
case 1: case 1:
if (args[0].equalsIgnoreCase("lock")) { if (args[0].equalsIgnoreCase("lock")) {
@ -67,7 +68,7 @@ public class PartyLockCommand implements CommandExecutor {
return; return;
} }
if (lock ? party.isLocked() : !party.isLocked()) { if (lock == party.isLocked()) {
sender.sendMessage(LocaleLoader.getString("Party." + (lock ? "IsLocked" : "IsntLocked"))); sender.sendMessage(LocaleLoader.getString("Party." + (lock ? "IsLocked" : "IsntLocked")));
return; return;
} }

View File

@ -10,16 +10,15 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
public class PartyQuitCommand implements CommandExecutor { public class PartyQuitCommand implements CommandExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
switch (args.length) { if (args.length == 1) {
case 1:
Player player = (Player) sender; Player player = (Player) sender;
if(UserManager.getPlayer((Player) sender) == null) if (UserManager.getPlayer((Player) sender) == null) {
{
sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));
return true; return true;
} }
@ -34,10 +33,8 @@ public class PartyQuitCommand implements CommandExecutor {
PartyManager.removeFromParty(mcMMOPlayer); PartyManager.removeFromParty(mcMMOPlayer);
sender.sendMessage(LocaleLoader.getString("Commands.Party.Leave")); sender.sendMessage(LocaleLoader.getString("Commands.Party.Leave"));
return true; return true;
}
default:
sender.sendMessage(LocaleLoader.getString("Commands.Usage.1", "party", "quit")); sender.sendMessage(LocaleLoader.getString("Commands.Usage.1", "party", "quit"));
return true; return true;
} }
} }
}

View File

@ -10,14 +10,13 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
public class PartyRenameCommand implements CommandExecutor { public class PartyRenameCommand implements CommandExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
switch (args.length) { if (args.length == 2) {
case 2: if (UserManager.getPlayer((Player) sender) == null) {
if(UserManager.getPlayer((Player) sender) == null)
{
sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));
return true; return true;
} }
@ -57,10 +56,8 @@ public class PartyRenameCommand implements CommandExecutor {
sender.sendMessage(LocaleLoader.getString("Commands.Party.Rename", newPartyName)); sender.sendMessage(LocaleLoader.getString("Commands.Party.Rename", newPartyName));
return true; return true;
}
default:
sender.sendMessage(LocaleLoader.getString("Commands.Usage.2", "party", "rename", "<" + LocaleLoader.getString("Commands.Usage.PartyName") + ">")); sender.sendMessage(LocaleLoader.getString("Commands.Usage.2", "party", "rename", "<" + LocaleLoader.getString("Commands.Usage.PartyName") + ">"));
return true; return true;
} }
} }
}

View File

@ -12,10 +12,11 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
public class PartyXpShareCommand implements CommandExecutor { public class PartyXpShareCommand implements CommandExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
if(UserManager.getPlayer((Player) sender) == null) if(UserManager.getPlayer((Player) sender) == null)
{ {
sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));
@ -29,25 +30,20 @@ public class PartyXpShareCommand implements CommandExecutor {
return true; return true;
} }
switch (args.length) { if (args.length == 2) {
case 2:
if (args[1].equalsIgnoreCase("none") || CommandUtils.shouldDisableToggle(args[1])) { if (args[1].equalsIgnoreCase("none") || CommandUtils.shouldDisableToggle(args[1])) {
handleChangingShareMode(party, ShareMode.NONE); 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); handleChangingShareMode(party, ShareMode.EQUAL);
} } else {
else {
sender.sendMessage(LocaleLoader.getString("Commands.Usage.2", "party", "xpshare", "<NONE | EQUAL>")); sender.sendMessage(LocaleLoader.getString("Commands.Usage.2", "party", "xpshare", "<NONE | EQUAL>"));
} }
return true; return true;
}
default:
sender.sendMessage(LocaleLoader.getString("Commands.Usage.2", "party", "xpshare", "<NONE | EQUAL>")); sender.sendMessage(LocaleLoader.getString("Commands.Usage.2", "party", "xpshare", "<NONE | EQUAL>"));
return true; return true;
} }
}
private void handleChangingShareMode(Party party, ShareMode mode) { private void handleChangingShareMode(Party party, ShareMode mode) {
party.setXpShareMode(mode); party.setXpShareMode(mode);

View File

@ -8,14 +8,13 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
public class PartyAllianceAcceptCommand implements CommandExecutor { public class PartyAllianceAcceptCommand implements CommandExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
switch (args.length) { if (args.length == 2) {
case 2: if (UserManager.getPlayer((Player) sender) == null) {
if(UserManager.getPlayer((Player) sender) == null)
{
sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));
return true; return true;
} }
@ -34,10 +33,8 @@ public class PartyAllianceAcceptCommand implements CommandExecutor {
PartyManager.acceptAllianceInvite(mcMMOPlayer); PartyManager.acceptAllianceInvite(mcMMOPlayer);
return true; return true;
}
default:
sender.sendMessage(LocaleLoader.getString("Commands.Usage.2", "party", "alliance", "accept")); sender.sendMessage(LocaleLoader.getString("Commands.Usage.2", "party", "alliance", "accept"));
return true; return true;
} }
} }
}

View File

@ -16,6 +16,7 @@ import org.bukkit.command.CommandSender;
import org.bukkit.command.TabExecutor; import org.bukkit.command.TabExecutor;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.util.StringUtil; import org.bukkit.util.StringUtil;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -27,12 +28,12 @@ public class PartyAllianceCommand implements TabExecutor {
public static final List<String> ALLIANCE_SUBCOMMANDS = ImmutableList.of("invite", "accept", "disband"); public static final List<String> ALLIANCE_SUBCOMMANDS = ImmutableList.of("invite", "accept", "disband");
private CommandExecutor partyAllianceInviteCommand = new PartyAllianceInviteCommand(); private final CommandExecutor partyAllianceInviteCommand = new PartyAllianceInviteCommand();
private CommandExecutor partyAllianceAcceptCommand = new PartyAllianceAcceptCommand(); private final CommandExecutor partyAllianceAcceptCommand = new PartyAllianceAcceptCommand();
private CommandExecutor partyAllianceDisbandCommand = new PartyAllianceDisbandCommand(); private final CommandExecutor partyAllianceDisbandCommand = new PartyAllianceDisbandCommand();
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
if (CommandUtils.noConsoleUsage(sender)) { if (CommandUtils.noConsoleUsage(sender)) {
return true; return true;
} }
@ -108,20 +109,18 @@ public class PartyAllianceCommand implements TabExecutor {
} }
@Override @Override
public List<String> onTabComplete(CommandSender commandSender, Command command, String label, String[] args) { public List<String> onTabComplete(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String label, String[] args) {
switch (args.length) { if (args.length == 1) {
case 1: List<String> matches = StringUtil.copyPartialMatches(args[0], ALLIANCE_SUBCOMMANDS, new ArrayList<>(ALLIANCE_SUBCOMMANDS.size()));
List<String> matches = StringUtil.copyPartialMatches(args[0], ALLIANCE_SUBCOMMANDS, new ArrayList<String>(ALLIANCE_SUBCOMMANDS.size()));
if (matches.size() == 0) { if (matches.size() == 0) {
List<String> playerNames = CommandUtils.getOnlinePlayerNames(commandSender); List<String> playerNames = CommandUtils.getOnlinePlayerNames(commandSender);
return StringUtil.copyPartialMatches(args[0], playerNames, new ArrayList<String>(playerNames.size())); return StringUtil.copyPartialMatches(args[0], playerNames, new ArrayList<>(playerNames.size()));
} }
return matches; return matches;
default:
return ImmutableList.of();
} }
return ImmutableList.of();
} }
private void displayPartyHeader() { private void displayPartyHeader() {

View File

@ -9,14 +9,13 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
public class PartyAllianceDisbandCommand implements CommandExecutor { public class PartyAllianceDisbandCommand implements CommandExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
switch (args.length) { if (args.length == 2) {
case 2: if (UserManager.getPlayer((Player) sender) == null) {
if(UserManager.getPlayer((Player) sender) == null)
{
sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));
return true; return true;
} }
@ -31,10 +30,8 @@ public class PartyAllianceDisbandCommand implements CommandExecutor {
PartyManager.disbandAlliance(player, party, party.getAlly()); PartyManager.disbandAlliance(player, party, party.getAlly());
return true; return true;
}
default:
sender.sendMessage(LocaleLoader.getString("Commands.Usage.2", "party", "alliance", "disband")); sender.sendMessage(LocaleLoader.getString("Commands.Usage.2", "party", "alliance", "disband"));
return true; return true;
} }
} }
}

View File

@ -10,12 +10,12 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
public class PartyAllianceInviteCommand implements CommandExecutor { public class PartyAllianceInviteCommand implements CommandExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
switch (args.length) { if (args.length == 3) {
case 3:
String targetName = CommandUtils.getMatchedPlayerName(args[2]); String targetName = CommandUtils.getMatchedPlayerName(args[2]);
McMMOPlayer mcMMOTarget = UserManager.getOfflinePlayer(targetName); McMMOPlayer mcMMOTarget = UserManager.getOfflinePlayer(targetName);
@ -25,8 +25,7 @@ public class PartyAllianceInviteCommand implements CommandExecutor {
Player target = mcMMOTarget.getPlayer(); Player target = mcMMOTarget.getPlayer();
if(UserManager.getPlayer((Player) sender) == null) if (UserManager.getPlayer((Player) sender) == null) {
{
sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));
return true; return true;
} }
@ -68,10 +67,8 @@ public class PartyAllianceInviteCommand implements CommandExecutor {
target.sendMessage(LocaleLoader.getString("Commands.Party.Alliance.Invite.0", playerParty.getName(), playerName)); target.sendMessage(LocaleLoader.getString("Commands.Party.Alliance.Invite.0", playerParty.getName(), playerName));
target.sendMessage(LocaleLoader.getString("Commands.Party.Alliance.Invite.1")); target.sendMessage(LocaleLoader.getString("Commands.Party.Alliance.Invite.1"));
return true; return true;
}
default:
sender.sendMessage(LocaleLoader.getString("Commands.Usage.3", "party", "alliance", "invite", "<" + LocaleLoader.getString("Commands.Usage.Player") + ">")); sender.sendMessage(LocaleLoader.getString("Commands.Usage.3", "party", "alliance", "invite", "<" + LocaleLoader.getString("Commands.Usage.Player") + ">"));
return true; return true;
} }
} }
}

View File

@ -7,10 +7,11 @@ import com.gmail.nossr50.util.player.UserManager;
import org.bukkit.command.Command; import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.jetbrains.annotations.NotNull;
public class PtpAcceptAnyCommand implements CommandExecutor { public class PtpAcceptAnyCommand implements CommandExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
if (!Permissions.partyTeleportAcceptAll(sender)) { if (!Permissions.partyTeleportAcceptAll(sender)) {
sender.sendMessage(command.getPermissionMessage()); sender.sendMessage(command.getPermissionMessage());
return true; return true;

View File

@ -11,10 +11,11 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
public class PtpAcceptCommand implements CommandExecutor { public class PtpAcceptCommand implements CommandExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
if (!Permissions.partyTeleportAccept(sender)) { if (!Permissions.partyTeleportAccept(sender)) {
sender.sendMessage(command.getPermissionMessage()); sender.sendMessage(command.getPermissionMessage());
return true; return true;

View File

@ -26,6 +26,7 @@ import org.bukkit.command.CommandSender;
import org.bukkit.command.TabExecutor; import org.bukkit.command.TabExecutor;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.util.StringUtil; import org.bukkit.util.StringUtil;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -33,12 +34,12 @@ import java.util.List;
public class PtpCommand implements TabExecutor { public class PtpCommand implements TabExecutor {
public static final List<String> TELEPORT_SUBCOMMANDS = ImmutableList.of("toggle", "accept", "acceptany", "acceptall"); public static final List<String> TELEPORT_SUBCOMMANDS = ImmutableList.of("toggle", "accept", "acceptany", "acceptall");
private CommandExecutor ptpToggleCommand = new PtpToggleCommand(); private final CommandExecutor ptpToggleCommand = new PtpToggleCommand();
private CommandExecutor ptpAcceptAnyCommand = new PtpAcceptAnyCommand(); private final CommandExecutor ptpAcceptAnyCommand = new PtpAcceptAnyCommand();
private CommandExecutor ptpAcceptCommand = new PtpAcceptCommand(); private final CommandExecutor ptpAcceptCommand = new PtpAcceptCommand();
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
if (CommandUtils.noConsoleUsage(sender)) { if (CommandUtils.noConsoleUsage(sender)) {
return true; return true;
} }
@ -80,8 +81,7 @@ public class PtpCommand implements TabExecutor {
return true; return true;
} }
switch (args.length) { if (args.length == 1) {
case 1:
if (args[0].equalsIgnoreCase("toggle")) { if (args[0].equalsIgnoreCase("toggle")) {
return ptpToggleCommand.onCommand(sender, command, label, args); return ptpToggleCommand.onCommand(sender, command, label, args);
} }
@ -125,21 +125,17 @@ public class PtpCommand implements TabExecutor {
sendTeleportRequest(sender, player, CommandUtils.getMatchedPlayerName(args[0])); sendTeleportRequest(sender, player, CommandUtils.getMatchedPlayerName(args[0]));
return true; return true;
default:
return false;
} }
return false;
} }
@Override @Override
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) { public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, String[] args) {
switch (args.length) { if (args.length == 1) {
case 1: List<String> matches = StringUtil.copyPartialMatches(args[0], TELEPORT_SUBCOMMANDS, new ArrayList<>(TELEPORT_SUBCOMMANDS.size()));
List<String> matches = StringUtil.copyPartialMatches(args[0], TELEPORT_SUBCOMMANDS, new ArrayList<String>(TELEPORT_SUBCOMMANDS.size()));
if (matches.size() == 0) { if (matches.size() == 0) {
if(UserManager.getPlayer((Player) sender) == null) if (UserManager.getPlayer((Player) sender) == null) {
{
sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));
return ImmutableList.of(); return ImmutableList.of();
} }
@ -152,13 +148,12 @@ public class PtpCommand implements TabExecutor {
} }
List<String> playerNames = mcMMOPlayer.getParty().getOnlinePlayerNames(player); List<String> playerNames = mcMMOPlayer.getParty().getOnlinePlayerNames(player);
return StringUtil.copyPartialMatches(args[0], playerNames, new ArrayList<String>(playerNames.size())); return StringUtil.copyPartialMatches(args[0], playerNames, new ArrayList<>(playerNames.size()));
} }
return matches; return matches;
default:
return ImmutableList.of();
} }
return ImmutableList.of();
} }
private void sendTeleportRequest(CommandSender sender, Player player, String targetName) { private void sendTeleportRequest(CommandSender sender, Player player, String targetName) {

View File

@ -7,10 +7,11 @@ import com.gmail.nossr50.util.player.UserManager;
import org.bukkit.command.Command; import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.jetbrains.annotations.NotNull;
public class PtpToggleCommand implements CommandExecutor { public class PtpToggleCommand implements CommandExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
if (!Permissions.partyTeleportToggle(sender)) { if (!Permissions.partyTeleportToggle(sender)) {
sender.sendMessage(command.getPermissionMessage()); sender.sendMessage(command.getPermissionMessage());
return true; return true;

View File

@ -16,15 +16,15 @@ import org.bukkit.command.CommandSender;
import org.bukkit.command.TabExecutor; import org.bukkit.command.TabExecutor;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.util.StringUtil; import org.bukkit.util.StringUtil;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
public class InspectCommand implements TabExecutor { public class InspectCommand implements TabExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
switch (args.length) { if (args.length == 1) {
case 1:
String playerName = CommandUtils.getMatchedPlayerName(args[0]); String playerName = CommandUtils.getMatchedPlayerName(args[0]);
McMMOPlayer mcMMOPlayer = UserManager.getOfflinePlayer(playerName); McMMOPlayer mcMMOPlayer = UserManager.getOfflinePlayer(playerName);
@ -61,15 +61,13 @@ public class InspectCommand implements TabExecutor {
sender.sendMessage(CommandUtils.displaySkill(profile, skill)); sender.sendMessage(CommandUtils.displaySkill(profile, skill));
} }
} } else {
else {
Player target = mcMMOPlayer.getPlayer(); Player target = mcMMOPlayer.getPlayer();
if (CommandUtils.hidden(sender, target, Permissions.inspectHidden(sender))) { if (CommandUtils.hidden(sender, target, Permissions.inspectHidden(sender))) {
sender.sendMessage(LocaleLoader.getString("Inspect.Offline")); sender.sendMessage(LocaleLoader.getString("Inspect.Offline"));
return true; return true;
} } else if (CommandUtils.tooFar(sender, target, Permissions.inspectFar(sender))) {
else if (CommandUtils.tooFar(sender, target, Permissions.inspectFar(sender))) {
return true; return true;
} }
@ -89,20 +87,16 @@ public class InspectCommand implements TabExecutor {
} }
return true; return true;
default:
return false;
} }
return false;
} }
@Override @Override
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) { public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, String[] args) {
switch (args.length) { if (args.length == 1) {
case 1:
List<String> playerNames = CommandUtils.getOnlinePlayerNames(sender); List<String> playerNames = CommandUtils.getOnlinePlayerNames(sender);
return StringUtil.copyPartialMatches(args[0], playerNames, new ArrayList<String>(playerNames.size())); return StringUtil.copyPartialMatches(args[0], playerNames, new ArrayList<>(playerNames.size()));
default: }
return ImmutableList.of(); return ImmutableList.of();
} }
} }
}

View File

@ -12,12 +12,13 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.command.TabExecutor; import org.bukkit.command.TabExecutor;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
import java.util.List; import java.util.List;
public class MccooldownCommand implements TabExecutor { public class MccooldownCommand implements TabExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
if (CommandUtils.noConsoleUsage(sender)) { if (CommandUtils.noConsoleUsage(sender)) {
return true; return true;
} }
@ -26,8 +27,7 @@ public class MccooldownCommand implements TabExecutor {
return true; return true;
} }
switch (args.length) { if (args.length == 0) {
case 0:
Player player = (Player) sender; Player player = (Player) sender;
if (Config.getInstance().getScoreboardsEnabled() && Config.getInstance().getCooldownUseBoard()) { if (Config.getInstance().getScoreboardsEnabled() && Config.getInstance().getCooldownUseBoard()) {
@ -38,8 +38,7 @@ public class MccooldownCommand implements TabExecutor {
} }
} }
if(UserManager.getPlayer(player) == null) if (UserManager.getPlayer(player) == null) {
{
player.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); player.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));
return true; return true;
} }
@ -57,22 +56,19 @@ public class MccooldownCommand implements TabExecutor {
int seconds = mcMMOPlayer.calculateTimeRemaining(ability); int seconds = mcMMOPlayer.calculateTimeRemaining(ability);
if (seconds <= 0) { if (seconds <= 0) {
player.sendMessage(LocaleLoader.getString("Commands.Cooldowns.Row.Y", ability.getName())); player.sendMessage(LocaleLoader.getString("Commands.Cooldowns.Row.Y", ability.getLocalizedName()));
} } else {
else { player.sendMessage(LocaleLoader.getString("Commands.Cooldowns.Row.N", ability.getLocalizedName(), seconds));
player.sendMessage(LocaleLoader.getString("Commands.Cooldowns.Row.N", ability.getName(), seconds));
} }
} }
return true; return true;
default:
return false;
} }
return false;
} }
@Override @Override
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) { public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, String[] args) {
return ImmutableList.of(); return ImmutableList.of();
} }
} }

View File

@ -15,13 +15,14 @@ import org.bukkit.command.TabExecutor;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.metadata.FixedMetadataValue; import org.bukkit.metadata.FixedMetadataValue;
import org.bukkit.util.StringUtil; import org.bukkit.util.StringUtil;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
public class McrankCommand implements TabExecutor { public class McrankCommand implements TabExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
switch (args.length) { switch (args.length) {
case 0: case 0:
if (CommandUtils.noConsoleUsage(sender)) { if (CommandUtils.noConsoleUsage(sender)) {
@ -72,14 +73,12 @@ public class McrankCommand implements TabExecutor {
} }
@Override @Override
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) { public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, String[] args) {
switch (args.length) { if (args.length == 1) {
case 1:
List<String> playerNames = CommandUtils.getOnlinePlayerNames(sender); List<String> playerNames = CommandUtils.getOnlinePlayerNames(sender);
return StringUtil.copyPartialMatches(args[0], playerNames, new ArrayList<String>(playerNames.size())); return StringUtil.copyPartialMatches(args[0], playerNames, new ArrayList<>(playerNames.size()));
default:
return ImmutableList.of();
} }
return ImmutableList.of();
} }
private void display(CommandSender sender, String playerName) { private void display(CommandSender sender, String playerName) {

View File

@ -10,12 +10,13 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.command.TabExecutor; import org.bukkit.command.TabExecutor;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
import java.util.List; import java.util.List;
public class McstatsCommand implements TabExecutor { public class McstatsCommand implements TabExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
if (CommandUtils.noConsoleUsage(sender)) { if (CommandUtils.noConsoleUsage(sender)) {
return true; return true;
} }
@ -24,10 +25,8 @@ public class McstatsCommand implements TabExecutor {
return true; return true;
} }
switch (args.length) { if (args.length == 0) {
case 0: if (UserManager.getPlayer((Player) sender) == null) {
if(UserManager.getPlayer((Player) sender) == null)
{
sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad")); sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));
return true; return true;
} }
@ -53,20 +52,17 @@ public class McstatsCommand implements TabExecutor {
if (powerLevelCap != Integer.MAX_VALUE) { if (powerLevelCap != Integer.MAX_VALUE) {
player.sendMessage(LocaleLoader.getString("Commands.PowerLevel.Capped", UserManager.getPlayer(player).getPowerLevel(), powerLevelCap)); player.sendMessage(LocaleLoader.getString("Commands.PowerLevel.Capped", UserManager.getPlayer(player).getPowerLevel(), powerLevelCap));
} } else {
else {
player.sendMessage(LocaleLoader.getString("Commands.PowerLevel", UserManager.getPlayer(player).getPowerLevel())); player.sendMessage(LocaleLoader.getString("Commands.PowerLevel", UserManager.getPlayer(player).getPowerLevel()));
} }
return true; return true;
default:
return false;
} }
return false;
} }
@Override @Override
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) { public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, String[] args) {
return ImmutableList.of(); return ImmutableList.of();
} }
} }

View File

@ -17,13 +17,14 @@ import org.bukkit.command.TabExecutor;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.metadata.FixedMetadataValue; import org.bukkit.metadata.FixedMetadataValue;
import org.bukkit.util.StringUtil; import org.bukkit.util.StringUtil;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
public class MctopCommand implements TabExecutor { public class MctopCommand implements TabExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
PrimarySkillType skill = null; PrimarySkillType skill = null;
switch (args.length) { switch (args.length) {
@ -66,13 +67,11 @@ public class MctopCommand implements TabExecutor {
} }
@Override @Override
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) { public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, String[] args) {
switch (args.length) { if (args.length == 1) {
case 1: return StringUtil.copyPartialMatches(args[0], PrimarySkillType.SKILL_NAMES, new ArrayList<>(PrimarySkillType.SKILL_NAMES.size()));
return StringUtil.copyPartialMatches(args[0], PrimarySkillType.SKILL_NAMES, new ArrayList<String>(PrimarySkillType.SKILL_NAMES.size()));
default:
return ImmutableList.of();
} }
return ImmutableList.of();
} }
private void display(int page, PrimarySkillType skill, CommandSender sender, Command command) { private void display(int page, PrimarySkillType skill, CommandSender sender, Command command) {
@ -90,7 +89,7 @@ public class MctopCommand implements TabExecutor {
long cooldownMillis = Math.max(Config.getInstance().getDatabasePlayerCooldown(), 1750); long cooldownMillis = Math.max(Config.getInstance().getDatabasePlayerCooldown(), 1750);
if (mcMMOPlayer.getDatabaseATS() + cooldownMillis > System.currentTimeMillis()) { if (mcMMOPlayer.getDatabaseATS() + cooldownMillis > System.currentTimeMillis()) {
double seconds = ((mcMMOPlayer.getDatabaseATS() + cooldownMillis) - System.currentTimeMillis()) / 1000; double seconds = ((mcMMOPlayer.getDatabaseATS() + cooldownMillis) - System.currentTimeMillis()) / 1000.0D;
if (seconds < 1) { if (seconds < 1) {
seconds = 1; seconds = 1;
} }

View File

@ -103,7 +103,7 @@ public class XPBarCommand implements TabExecutor {
return StringUtil.copyPartialMatches(args[0], options, new ArrayList<>(ExperienceBarManager.XPBarSettingTarget.values().length)); return StringUtil.copyPartialMatches(args[0], options, new ArrayList<>(ExperienceBarManager.XPBarSettingTarget.values().length));
case 2: case 2:
if(!args[0].equalsIgnoreCase(ExperienceBarManager.XPBarSettingTarget.RESET.toString())) if(!args[0].equalsIgnoreCase(ExperienceBarManager.XPBarSettingTarget.RESET.toString()))
return StringUtil.copyPartialMatches(args[1], PrimarySkillType.SKILL_NAMES, new ArrayList<String>(PrimarySkillType.SKILL_NAMES.size())); return StringUtil.copyPartialMatches(args[1], PrimarySkillType.SKILL_NAMES, new ArrayList<>(PrimarySkillType.SKILL_NAMES.size()));
default: default:
return ImmutableList.of(); return ImmutableList.of();
} }

View File

@ -3,13 +3,14 @@ package com.gmail.nossr50.commands.server;
import org.bukkit.command.Command; import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.jetbrains.annotations.NotNull;
/** /**
* This command facilitates switching the skill system scale between classic and modern scale * This command facilitates switching the skill system scale between classic and modern scale
*/ */
public class Mcmmoupgrade implements CommandExecutor { public class Mcmmoupgrade implements CommandExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
return false; return false;
} }
} }

View File

@ -44,7 +44,7 @@ public class AcrobaticsCommand extends SkillCommand {
@Override @Override
protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) { protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) {
List<String> messages = new ArrayList<String>(); List<String> messages = new ArrayList<>();
if (canDodge) { if (canDodge) {
messages.add(getStatMessage(SubSkillType.ACROBATICS_DODGE, dodgeChance) messages.add(getStatMessage(SubSkillType.ACROBATICS_DODGE, dodgeChance)
@ -71,7 +71,7 @@ public class AcrobaticsCommand extends SkillCommand {
graceChance = RandomChanceUtil.getRandomChanceExecutionChance(grace_rcs); graceChance = RandomChanceUtil.getRandomChanceExecutionChance(grace_rcs);
//damageThreshold = AdvancedConfig.getInstance().getRollDamageThreshold(); //damageThreshold = AdvancedConfig.getInstance().getRollDamageThreshold();
String rollStrings[] = getAbilityDisplayValues(SkillActivationType.RANDOM_LINEAR_100_SCALE_WITH_CAP, player, SubSkillType.ACROBATICS_ROLL); String[] rollStrings = getAbilityDisplayValues(SkillActivationType.RANDOM_LINEAR_100_SCALE_WITH_CAP, player, SubSkillType.ACROBATICS_ROLL);
//Format //Format
double rollChanceLucky = rollChance * 1.333D; double rollChanceLucky = rollChance * 1.333D;

View File

@ -74,7 +74,7 @@ public class AlchemyCommand extends SkillCommand {
@Override @Override
protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) { protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) {
List<String> messages = new ArrayList<String>(); List<String> messages = new ArrayList<>();
if (canCatalysis) { if (canCatalysis) {
messages.add(getStatMessage(SubSkillType.ALCHEMY_CATALYSIS, brewSpeed) messages.add(getStatMessage(SubSkillType.ALCHEMY_CATALYSIS, brewSpeed)

View File

@ -10,6 +10,7 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.command.TabExecutor; import org.bukkit.command.TabExecutor;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
import java.text.DecimalFormat; import java.text.DecimalFormat;
import java.util.ArrayList; import java.util.ArrayList;
@ -22,15 +23,14 @@ public class AprilCommand implements TabExecutor {
protected DecimalFormat decimal = new DecimalFormat("##0.00"); protected DecimalFormat decimal = new DecimalFormat("##0.00");
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
if (CommandUtils.noConsoleUsage(sender)) { if (CommandUtils.noConsoleUsage(sender)) {
return true; return true;
} }
skillName = StringUtils.getCapitalized(label); skillName = StringUtils.getCapitalized(label);
switch (args.length) { if (args.length == 0) {
case 0:
Player player = (Player) sender; Player player = (Player) sender;
FakeSkillType fakeSkillType = FakeSkillType.getByName(skillName); FakeSkillType fakeSkillType = FakeSkillType.getByName(skillName);
@ -63,10 +63,8 @@ public class AprilCommand implements TabExecutor {
player.sendMessage(LocaleLoader.formatString("[[DARK_AQUA]]Guide for {0} available - type /APRIL FOOLS ! :D", skillName)); player.sendMessage(LocaleLoader.formatString("[[DARK_AQUA]]Guide for {0} available - type /APRIL FOOLS ! :D", skillName));
return true; return true;
default:
return true;
} }
return true;
} }
private String getXPGainString(FakeSkillType fakeSkillType) { private String getXPGainString(FakeSkillType fakeSkillType) {
@ -101,17 +99,15 @@ public class AprilCommand implements TabExecutor {
} }
@Override @Override
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) { public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, String[] args) {
switch (args.length) { if (args.length == 1) {
case 1:
return ImmutableList.of("?"); return ImmutableList.of("?");
default:
return ImmutableList.of();
} }
return ImmutableList.of();
} }
private List<String> effectsDisplay(FakeSkillType fakeSkillType) { private List<String> effectsDisplay(FakeSkillType fakeSkillType) {
List<String> messages = new ArrayList<String>(); List<String> messages = new ArrayList<>();
switch (fakeSkillType) { switch (fakeSkillType) {
case MACHO: case MACHO:
@ -157,7 +153,7 @@ public class AprilCommand implements TabExecutor {
} }
private List<String> statsDisplay(FakeSkillType fakeSkillType) { private List<String> statsDisplay(FakeSkillType fakeSkillType) {
List<String> messages = new ArrayList<String>(); List<String> messages = new ArrayList<>();
switch (fakeSkillType) { switch (fakeSkillType) {
case MACHO: case MACHO:

View File

@ -59,7 +59,7 @@ public class ArcheryCommand extends SkillCommand {
@Override @Override
protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) { protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) {
List<String> messages = new ArrayList<String>(); List<String> messages = new ArrayList<>();
if (canRetrieve) { if (canRetrieve) {
messages.add(getStatMessage(SubSkillType.ARCHERY_ARROW_RETRIEVAL, retrieveChance) messages.add(getStatMessage(SubSkillType.ARCHERY_ARROW_RETRIEVAL, retrieveChance)

View File

@ -72,7 +72,7 @@ public class AxesCommand extends SkillCommand {
@Override @Override
protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) { protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) {
List<String> messages = new ArrayList<String>(); List<String> messages = new ArrayList<>();
if (canImpact) { if (canImpact) {
messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Axes.Ability.Bonus.2"), LocaleLoader.getString("Axes.Ability.Bonus.3", impactDamage))); messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Axes.Ability.Bonus.2"), LocaleLoader.getString("Axes.Ability.Bonus.3", impactDamage)));

View File

@ -29,7 +29,7 @@ public class ExcavationCommand extends SkillCommand {
protected void dataCalculations(Player player, float skillValue) { protected void dataCalculations(Player player, float skillValue) {
// GIGA DRILL BREAKER // GIGA DRILL BREAKER
if (canGigaDrill) { if (canGigaDrill) {
String gigaDrillStrings[] = calculateLengthDisplayValues(player, skillValue); String[] gigaDrillStrings = calculateLengthDisplayValues(player, skillValue);
gigaDrillBreakerLength = gigaDrillStrings[0]; gigaDrillBreakerLength = gigaDrillStrings[0];
gigaDrillBreakerLengthEndurance = gigaDrillStrings[1]; gigaDrillBreakerLengthEndurance = gigaDrillStrings[1];
} }
@ -43,7 +43,7 @@ public class ExcavationCommand extends SkillCommand {
@Override @Override
protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) { protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) {
List<String> messages = new ArrayList<String>(); List<String> messages = new ArrayList<>();
ExcavationManager excavationManager = UserManager.getPlayer(player).getExcavationManager(); ExcavationManager excavationManager = UserManager.getPlayer(player).getExcavationManager();

View File

@ -128,7 +128,7 @@ public class FishingCommand extends SkillCommand {
@Override @Override
protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) { protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) {
List<String> messages = new ArrayList<String>(); List<String> messages = new ArrayList<>();
if (canFishermansDiet) { if (canFishermansDiet) {
messages.add(getStatMessage(false, true, SubSkillType.FISHING_FISHERMANS_DIET, String.valueOf(fishermansDietRank))); messages.add(getStatMessage(false, true, SubSkillType.FISHING_FISHERMANS_DIET, String.valueOf(fishermansDietRank)));

View File

@ -45,7 +45,7 @@ public class HerbalismCommand extends SkillCommand {
// DOUBLE DROPS // DOUBLE DROPS
if (canDoubleDrop) { 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]; doubleDropChance = doubleDropStrings[0];
doubleDropChanceLucky = doubleDropStrings[1]; doubleDropChanceLucky = doubleDropStrings[1];
} }
@ -99,7 +99,7 @@ public class HerbalismCommand extends SkillCommand {
@Override @Override
protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) { protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) {
List<String> messages = new ArrayList<String>(); List<String> messages = new ArrayList<>();
if (canDoubleDrop) { if (canDoubleDrop) {
messages.add(getStatMessage(SubSkillType.HERBALISM_DOUBLE_DROPS, doubleDropChance) messages.add(getStatMessage(SubSkillType.HERBALISM_DOUBLE_DROPS, doubleDropChance)

View File

@ -78,7 +78,7 @@ public class MiningCommand extends SkillCommand {
@Override @Override
protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) { protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) {
List<String> messages = new ArrayList<String>(); List<String> messages = new ArrayList<>();
if (canBiggerBombs) { if (canBiggerBombs) {
messages.add(getStatMessage(true, true, SubSkillType.MINING_BLAST_MINING, String.valueOf(blastRadiusIncrease))); messages.add(getStatMessage(true, true, SubSkillType.MINING_BLAST_MINING, String.valueOf(blastRadiusIncrease)));

View File

@ -13,6 +13,7 @@ import org.bukkit.command.CommandSender;
import org.bukkit.command.TabExecutor; import org.bukkit.command.TabExecutor;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.util.StringUtil; import org.bukkit.util.StringUtil;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -23,7 +24,7 @@ import java.util.List;
public class MmoInfoCommand implements TabExecutor { public class MmoInfoCommand implements TabExecutor {
@Override @Override
public boolean onCommand(CommandSender commandSender, Command command, String s, String[] args) { public boolean onCommand(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s, String[] args) {
/* /*
* Only allow players to use this command * Only allow players to use this command
*/ */
@ -61,13 +62,11 @@ public class MmoInfoCommand implements TabExecutor {
} }
@Override @Override
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) { public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, String[] args) {
switch (args.length) { if (args.length == 1) {
case 1: return StringUtil.copyPartialMatches(args[0], PrimarySkillType.SUBSKILL_NAMES, new ArrayList<>(PrimarySkillType.SUBSKILL_NAMES.size()));
return StringUtil.copyPartialMatches(args[0], PrimarySkillType.SUBSKILL_NAMES, new ArrayList<String>(PrimarySkillType.SUBSKILL_NAMES.size()));
default:
return ImmutableList.of();
} }
return ImmutableList.of();
} }
private void displayInfo(Player player, String subSkillName) private void displayInfo(Player player, String subSkillName)

View File

@ -91,7 +91,7 @@ public class RepairCommand extends SkillCommand {
@Override @Override
protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) { protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) {
List<String> messages = new ArrayList<String>(); List<String> messages = new ArrayList<>();
if (canArcaneForge) { if (canArcaneForge) {
RepairManager repairManager = UserManager.getPlayer(player).getRepairManager(); RepairManager repairManager = UserManager.getPlayer(player).getRepairManager();

View File

@ -36,7 +36,7 @@ public class SalvageCommand extends SkillCommand {
@Override @Override
protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) { protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) {
List<String> messages = new ArrayList<String>(); List<String> messages = new ArrayList<>();
SalvageManager salvageManager = UserManager.getPlayer(player).getSalvageManager(); SalvageManager salvageManager = UserManager.getPlayer(player).getSalvageManager();
if (canScrapCollector) { if (canScrapCollector) {

View File

@ -26,6 +26,7 @@ import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.command.TabExecutor; import org.bukkit.command.TabExecutor;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
import java.text.DecimalFormat; import java.text.DecimalFormat;
import java.util.ArrayList; import java.util.ArrayList;
@ -35,12 +36,12 @@ import java.util.Set;
public abstract class SkillCommand implements TabExecutor { public abstract class SkillCommand implements TabExecutor {
protected PrimarySkillType skill; protected PrimarySkillType skill;
private String skillName; private final String skillName;
protected DecimalFormat percent = new DecimalFormat("##0.00%"); protected DecimalFormat percent = new DecimalFormat("##0.00%");
protected DecimalFormat decimal = new DecimalFormat("##0.00"); protected DecimalFormat decimal = new DecimalFormat("##0.00");
private CommandExecutor skillGuideCommand; private final CommandExecutor skillGuideCommand;
public SkillCommand(PrimarySkillType skill) { public SkillCommand(PrimarySkillType skill) {
this.skill = skill; this.skill = skill;
@ -49,7 +50,7 @@ public abstract class SkillCommand implements TabExecutor {
} }
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
if (CommandUtils.noConsoleUsage(sender)) { if (CommandUtils.noConsoleUsage(sender)) {
return true; return true;
} }
@ -64,8 +65,7 @@ public abstract class SkillCommand implements TabExecutor {
return true; return true;
} }
switch (args.length) { if (args.length == 0) {
case 0:
Player player = (Player) sender; Player player = (Player) sender;
McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player);
@ -75,8 +75,7 @@ public abstract class SkillCommand implements TabExecutor {
//Send the players a few blank lines to make finding the top of the skill command easier //Send the players a few blank lines to make finding the top of the skill command easier
if (AdvancedConfig.getInstance().doesSkillCommandSendBlankLines()) if (AdvancedConfig.getInstance().doesSkillCommandSendBlankLines())
for(int i = 0; i < 2; i++) for (int i = 0; i < 2; i++) {
{
player.sendMessage(""); player.sendMessage("");
} }
@ -107,8 +106,7 @@ public abstract class SkillCommand implements TabExecutor {
//Link Header //Link Header
if(Config.getInstance().getUrlLinksEnabled()) if (Config.getInstance().getUrlLinksEnabled()) {
{
player.sendMessage(LocaleLoader.getString("Overhaul.mcMMO.Header")); player.sendMessage(LocaleLoader.getString("Overhaul.mcMMO.Header"));
TextComponentFactory.sendPlayerUrlHeader(player); TextComponentFactory.sendPlayerUrlHeader(player);
} }
@ -119,9 +117,8 @@ public abstract class SkillCommand implements TabExecutor {
} }
return true; return true;
default:
return skillGuideCommand.onCommand(sender, command, label, args);
} }
return skillGuideCommand.onCommand(sender, command, label, args);
} }
private void getStatMessages(Player player, boolean isLucky, boolean hasEndurance, float skillValue) { private void getStatMessages(Player player, boolean isLucky, boolean hasEndurance, float skillValue) {
@ -165,31 +162,28 @@ public abstract class SkillCommand implements TabExecutor {
Set<PrimarySkillType> parents = FamilyTree.getParents(skill); Set<PrimarySkillType> parents = FamilyTree.getParents(skill);
ArrayList<PrimarySkillType> parentList = new ArrayList<>();
//TODO: Add JSON here //TODO: Add JSON here
for (PrimarySkillType parent : parents) { /*player.sendMessage(parent.getName() + " - " + LocaleLoader.getString("Effects.Level.Overhaul", mcMMOPlayer.getSkillLevel(parent), mcMMOPlayer.getSkillXpLevel(parent), mcMMOPlayer.getXpToLevel(parent)))*/
parentList.add(parent); ArrayList<PrimarySkillType> parentList = new ArrayList<>(parents);
/*player.sendMessage(parent.getName() + " - " + LocaleLoader.getString("Effects.Level.Overhaul", mcMMOPlayer.getSkillLevel(parent), mcMMOPlayer.getSkillXpLevel(parent), mcMMOPlayer.getXpToLevel(parent)))*/;
}
String parentMessage = ""; StringBuilder parentMessage = new StringBuilder();
for(int i = 0; i < parentList.size(); i++) for(int i = 0; i < parentList.size(); i++)
{ {
if(i+1 < parentList.size()) if(i+1 < parentList.size())
{ {
parentMessage += LocaleLoader.getString("Effects.Child.ParentList", parentList.get(i).getName(), mcMMOPlayer.getSkillLevel(parentList.get(i))); parentMessage.append(LocaleLoader.getString("Effects.Child.ParentList", parentList.get(i).getName(), mcMMOPlayer.getSkillLevel(parentList.get(i))));
parentMessage += ChatColor.GRAY+", "; parentMessage.append(ChatColor.GRAY).append(", ");
} else { } else {
parentMessage += LocaleLoader.getString("Effects.Child.ParentList", parentList.get(i).getName(), mcMMOPlayer.getSkillLevel(parentList.get(i))); parentMessage.append(LocaleLoader.getString("Effects.Child.ParentList", parentList.get(i).getName(), mcMMOPlayer.getSkillLevel(parentList.get(i))));
} }
} }
//XP GAIN METHOD //XP GAIN METHOD
player.sendMessage(LocaleLoader.getString("Commands.XPGain.Overhaul", LocaleLoader.getString("Commands.XPGain.Child"))); player.sendMessage(LocaleLoader.getString("Commands.XPGain.Overhaul", LocaleLoader.getString("Commands.XPGain.Child")));
player.sendMessage(LocaleLoader.getString("Effects.Child.Overhaul", skillValue, parentMessage)); player.sendMessage(LocaleLoader.getString("Effects.Child.Overhaul", skillValue, parentMessage.toString()));
//LEVEL //LEVEL
//player.sendMessage(LocaleLoader.getString("Effects.Child.Overhaul", skillValue, skillValue)); //player.sendMessage(LocaleLoader.getString("Effects.Child.Overhaul", skillValue, skillValue));
@ -215,13 +209,11 @@ public abstract class SkillCommand implements TabExecutor {
} }
@Override @Override
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) { public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, String[] args) {
switch (args.length) { if (args.length == 1) {
case 1:
return ImmutableList.of("?"); return ImmutableList.of("?");
default:
return ImmutableList.of();
} }
return ImmutableList.of();
} }
protected int calculateRank(float skillValue, int maxLevel, int rankChangeLevel) { protected int calculateRank(float skillValue, int maxLevel, int rankChangeLevel) {

View File

@ -6,15 +6,16 @@ import com.gmail.nossr50.util.StringUtils;
import org.bukkit.command.Command; import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
public class SkillGuideCommand implements CommandExecutor { public class SkillGuideCommand implements CommandExecutor {
private String header; private final String header;
private ArrayList<String> guide; private final ArrayList<String> guide;
private String invalidPage = LocaleLoader.getString("Guides.Page.Invalid"); private final String invalidPage = LocaleLoader.getString("Guides.Page.Invalid");
public SkillGuideCommand(PrimarySkillType skill) { public SkillGuideCommand(PrimarySkillType skill) {
header = LocaleLoader.getString("Guides.Header", skill.getName()); header = LocaleLoader.getString("Guides.Header", skill.getName());
@ -22,7 +23,7 @@ public class SkillGuideCommand implements CommandExecutor {
} }
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
switch (args.length) { switch (args.length) {
case 1: case 1:
if (!args[0].equals("?")) { if (!args[0].equals("?")) {
@ -67,7 +68,7 @@ public class SkillGuideCommand implements CommandExecutor {
private ArrayList<String> grabPageContents(int page) { private ArrayList<String> grabPageContents(int page) {
int pageIndexStart = 8 * (page - 1); // Determine what string to start at int pageIndexStart = 8 * (page - 1); // Determine what string to start at
ArrayList<String> allStrings = new ArrayList<String>(); ArrayList<String> allStrings = new ArrayList<>();
allStrings.add(header); allStrings.add(header);
@ -86,7 +87,7 @@ public class SkillGuideCommand implements CommandExecutor {
} }
private ArrayList<String> getGuide(PrimarySkillType skill) { private ArrayList<String> getGuide(PrimarySkillType skill) {
ArrayList<String> guide = new ArrayList<String>(); ArrayList<String> guide = new ArrayList<>();
for (int i = 0; i < 10; i++) { for (int i = 0; i < 10; i++) {
String[] section = LocaleLoader.getString("Guides." + StringUtils.getCapitalized(skill.toString()) + ".Section." + i).split("\n"); String[] section = LocaleLoader.getString("Guides." + StringUtils.getCapitalized(skill.toString()) + ".Section." + i).split("\n");

View File

@ -62,7 +62,7 @@ public class SmeltingCommand extends SkillCommand {
@Override @Override
protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) { protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) {
List<String> messages = new ArrayList<String>(); List<String> messages = new ArrayList<>();
/*if (canFluxMine) { /*if (canFluxMine) {
messages.add(getStatMessage(SubSkillType.SMELTING_FLUX_MINING, str_fluxMiningChance) messages.add(getStatMessage(SubSkillType.SMELTING_FLUX_MINING, str_fluxMiningChance)

View File

@ -68,7 +68,7 @@ public class SwordsCommand extends SkillCommand {
@Override @Override
protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) { protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) {
List<String> messages = new ArrayList<String>(); List<String> messages = new ArrayList<>();
int ruptureTicks = UserManager.getPlayer(player).getSwordsManager().getRuptureBleedTicks(); 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 ruptureDamagePlayers = RankUtils.getRank(player, SubSkillType.SWORDS_RUPTURE) >= 3 ? AdvancedConfig.getInstance().getRuptureDamagePlayer() * 1.5D : AdvancedConfig.getInstance().getRuptureDamagePlayer();

View File

@ -56,7 +56,7 @@ public class TamingCommand extends SkillCommand {
@Override @Override
protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) { protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) {
List<String> messages = new ArrayList<String>(); List<String> messages = new ArrayList<>();
if (canEnvironmentallyAware) { if (canEnvironmentallyAware) {
messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Taming.Ability.Bonus.0"), LocaleLoader.getString("Taming.Ability.Bonus.1"))); messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Taming.Ability.Bonus.0"), LocaleLoader.getString("Taming.Ability.Bonus.1")));

View File

@ -40,7 +40,7 @@ public class UnarmedCommand extends SkillCommand {
protected void dataCalculations(Player player, float skillValue) { protected void dataCalculations(Player player, float skillValue) {
// UNARMED_ARROW_DEFLECT // UNARMED_ARROW_DEFLECT
if (canDeflect) { 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]; deflectChance = deflectStrings[0];
deflectChanceLucky = deflectStrings[1]; deflectChanceLucky = deflectStrings[1];
} }
@ -54,7 +54,7 @@ public class UnarmedCommand extends SkillCommand {
// UNARMED_DISARM // UNARMED_DISARM
if (canDisarm) { 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]; disarmChance = disarmStrings[0];
disarmChanceLucky = disarmStrings[1]; disarmChanceLucky = disarmStrings[1];
} }
@ -84,7 +84,7 @@ public class UnarmedCommand extends SkillCommand {
@Override @Override
protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) { protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) {
List<String> messages = new ArrayList<String>(); List<String> messages = new ArrayList<>();
if (canDeflect) { if (canDeflect) {
messages.add(getStatMessage(SubSkillType.UNARMED_ARROW_DEFLECT, deflectChance) messages.add(getStatMessage(SubSkillType.UNARMED_ARROW_DEFLECT, deflectChance)

View File

@ -46,7 +46,7 @@ public class WoodcuttingCommand extends SkillCommand {
} }
private void setDoubleDropClassicChanceStrings(Player player) { 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]; doubleDropChance = doubleDropStrings[0];
doubleDropChanceLucky = doubleDropStrings[1]; doubleDropChanceLucky = doubleDropStrings[1];
} }
@ -63,7 +63,7 @@ public class WoodcuttingCommand extends SkillCommand {
@Override @Override
protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) { protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) {
List<String> messages = new ArrayList<String>(); List<String> messages = new ArrayList<>();
if (canDoubleDrop) { if (canDoubleDrop) {
messages.add(getStatMessage(SubSkillType.WOODCUTTING_HARVEST_LUMBER, doubleDropChance) messages.add(getStatMessage(SubSkillType.WOODCUTTING_HARVEST_LUMBER, doubleDropChance)

View File

@ -28,7 +28,7 @@ public class AdvancedConfig extends AutoUpdateConfigLoader {
@Override @Override
protected boolean validateKeys() { protected boolean validateKeys() {
// Validate all the settings! // Validate all the settings!
List<String> reason = new ArrayList<String>(); List<String> reason = new ArrayList<>();
/* GENERAL */ /* GENERAL */
if (getAbilityLength() < 1) { if (getAbilityLength() < 1) {
@ -687,9 +687,8 @@ public class AdvancedConfig extends AutoUpdateConfigLoader {
} }
public double getMaximumProbability(SubSkillType subSkillType) { public double getMaximumProbability(SubSkillType subSkillType) {
double maximumProbability = config.getDouble(subSkillType.getAdvConfigAddress() + ".ChanceMax", 100.0D);
return maximumProbability; return config.getDouble(subSkillType.getAdvConfigAddress() + ".ChanceMax", 100.0D);
} }
public double getMaximumProbability(AbstractSubSkill abstractSubSkill) public double getMaximumProbability(AbstractSubSkill abstractSubSkill)
@ -719,6 +718,11 @@ public class AdvancedConfig extends AutoUpdateConfigLoader {
return config.getBoolean("Feedback.Events.XP.SendTitles", true); return config.getBoolean("Feedback.Events.XP.SendTitles", true);
} }
public boolean sendAbilityNotificationToOtherPlayers()
{
return config.getBoolean("Feedback.Events.AbilityActivation.SendNotificationToOtherPlayers", true);
}
/* /*
* JSON Style Settings * JSON Style Settings
*/ */

View File

@ -28,10 +28,10 @@ public abstract class AutoUpdateConfigLoader extends ConfigLoader {
boolean needSave = false; boolean needSave = false;
Set<String> oldKeys = new HashSet<String>(configKeys); Set<String> oldKeys = new HashSet<>(configKeys);
oldKeys.removeAll(internalConfigKeys); oldKeys.removeAll(internalConfigKeys);
Set<String> newKeys = new HashSet<String>(internalConfigKeys); Set<String> newKeys = new HashSet<>(internalConfigKeys);
newKeys.removeAll(configKeys); newKeys.removeAll(configKeys);
// Don't need a re-save if we have old keys sticking around? // Don't need a re-save if we have old keys sticking around?
@ -66,17 +66,17 @@ public abstract class AutoUpdateConfigLoader extends ConfigLoader {
try { try {
// Read internal // Read internal
BufferedReader reader = new BufferedReader(new InputStreamReader(plugin.getResource(fileName))); BufferedReader reader = new BufferedReader(new InputStreamReader(plugin.getResource(fileName)));
LinkedHashMap<String, String> comments = new LinkedHashMap<String, String>(); LinkedHashMap<String, String> comments = new LinkedHashMap<>();
String temp = ""; StringBuilder temp = new StringBuilder();
String line; String line;
while ((line = reader.readLine()) != null) { while ((line = reader.readLine()) != null) {
if (line.contains("#")) { if (line.contains("#")) {
temp += line + "\n"; temp.append(line).append("\n");
} }
else if (line.contains(":")) { else if (line.contains(":")) {
line = line.substring(0, line.indexOf(":") + 1); line = line.substring(0, line.indexOf(":") + 1);
if (!temp.isEmpty()) { if (temp.length() > 0) {
if(comments.containsKey(line)) { if(comments.containsKey(line)) {
int index = 0; int index = 0;
while(comments.containsKey(line + index)) { while(comments.containsKey(line + index)) {
@ -86,14 +86,14 @@ public abstract class AutoUpdateConfigLoader extends ConfigLoader {
line = line + index; line = line + index;
} }
comments.put(line, temp); comments.put(line, temp.toString());
temp = ""; temp = new StringBuilder();
} }
} }
} }
// Dump to the new one // Dump to the new one
HashMap<String, Integer> indexed = new HashMap<String, Integer>(); HashMap<String, Integer> indexed = new HashMap<>();
for (String key : comments.keySet()) { for (String key : comments.keySet()) {
String actualkey = key.substring(0, key.indexOf(":") + 1); String actualkey = key.substring(0, key.indexOf(":") + 1);

View File

@ -39,7 +39,7 @@ public class Config extends AutoUpdateConfigLoader {
@Override @Override
protected boolean validateKeys() { protected boolean validateKeys() {
// Validate all the settings! // Validate all the settings!
List<String> reason = new ArrayList<String>(); List<String> reason = new ArrayList<>();
/* General Settings */ /* General Settings */
if (getSaveInterval() <= 0) { if (getSaveInterval() <= 0) {

View File

@ -10,7 +10,7 @@ import java.util.List;
public abstract class ConfigLoader { public abstract class ConfigLoader {
protected static final mcMMO plugin = mcMMO.p; protected static final mcMMO plugin = mcMMO.p;
protected String fileName; protected String fileName;
private File configFile; private final File configFile;
protected FileConfiguration config; protected FileConfiguration config;
public ConfigLoader(String relativePath, String fileName) { public ConfigLoader(String relativePath, String fileName) {

View File

@ -7,14 +7,11 @@ import java.io.InputStreamReader;
public class HiddenConfig { public class HiddenConfig {
private static HiddenConfig instance; private static HiddenConfig instance;
private String fileName; private final String fileName;
private YamlConfiguration config; private YamlConfiguration config;
private boolean chunkletsEnabled; private boolean chunkletsEnabled;
private int conversionRate; private int conversionRate;
private boolean useEnchantmentBuffs; private boolean useEnchantmentBuffs;
private int uuidConvertAmount;
private int mojangRateLimit;
private long mojangLimitPeriod;
public HiddenConfig(String fileName) { public HiddenConfig(String fileName) {
this.fileName = fileName; this.fileName = fileName;
@ -36,9 +33,6 @@ public class HiddenConfig {
chunkletsEnabled = config.getBoolean("Options.Chunklets", true); chunkletsEnabled = config.getBoolean("Options.Chunklets", true);
conversionRate = config.getInt("Options.ConversionRate", 1); conversionRate = config.getInt("Options.ConversionRate", 1);
useEnchantmentBuffs = config.getBoolean("Options.EnchantmentBuffs", true); useEnchantmentBuffs = config.getBoolean("Options.EnchantmentBuffs", true);
uuidConvertAmount = config.getInt("Options.UUIDConvertAmount", 5);
mojangRateLimit = config.getInt("Options.MojangRateLimit", 50000);
mojangLimitPeriod = config.getLong("Options.MojangLimitPeriod", 600000);
} }
} }
@ -53,16 +47,4 @@ public class HiddenConfig {
public boolean useEnchantmentBuffs() { public boolean useEnchantmentBuffs() {
return useEnchantmentBuffs; return useEnchantmentBuffs;
} }
public int getUUIDConvertAmount() {
return uuidConvertAmount;
}
public int getMojangRateLimit() {
return mojangRateLimit;
}
public long getMojangLimitPeriod() {
return mojangLimitPeriod;
}
} }

View File

@ -13,7 +13,7 @@ public class RankConfig extends AutoUpdateConfigLoader {
{ {
super("skillranks.yml"); super("skillranks.yml");
validate(); validate();
this.instance = this; instance = this;
} }
@Override @Override
@ -31,7 +31,7 @@ public class RankConfig extends AutoUpdateConfigLoader {
@Override @Override
protected boolean validateKeys() { protected boolean validateKeys() {
List<String> reason = new ArrayList<String>(); List<String> reason = new ArrayList<>();
/* /*
* In the future this method will check keys for all skills, but for now it only checks overhauled skills * In the future this method will check keys for all skills, but for now it only checks overhauled skills

View File

@ -9,7 +9,7 @@ public class SoundConfig extends AutoUpdateConfigLoader {
{ {
super("sounds.yml"); super("sounds.yml");
validate(); validate();
this.instance = this; instance = this;
} }
@Override @Override

View File

@ -11,7 +11,7 @@ import java.util.ArrayList;
*/ */
public class WorldBlacklist { public class WorldBlacklist {
private static ArrayList<String> blacklist; private static ArrayList<String> blacklist;
private mcMMO plugin; private final mcMMO plugin;
private final String blackListFileName = "world_blacklist.txt"; private final String blackListFileName = "world_blacklist.txt";

View File

@ -38,7 +38,7 @@ public class ExperienceConfig extends AutoUpdateConfigLoader {
@Override @Override
protected boolean validateKeys() { protected boolean validateKeys() {
List<String> reason = new ArrayList<String>(); List<String> reason = new ArrayList<>();
/* /*
* FORMULA SETTINGS * FORMULA SETTINGS

View File

@ -15,12 +15,12 @@ import java.util.Set;
public class CustomArmorConfig extends ConfigLoader { public class CustomArmorConfig extends ConfigLoader {
private boolean needsUpdate = false; private boolean needsUpdate = false;
public List<Material> customBoots = new ArrayList<Material>(); public List<Material> customBoots = new ArrayList<>();
public List<Material> customChestplates = new ArrayList<Material>(); public List<Material> customChestplates = new ArrayList<>();
public List<Material> customHelmets = new ArrayList<Material>(); public List<Material> customHelmets = new ArrayList<>();
public List<Material> customLeggings = new ArrayList<Material>(); public List<Material> customLeggings = new ArrayList<>();
public List<Repairable> repairables = new ArrayList<Repairable>(); public List<Repairable> repairables = new ArrayList<>();
protected CustomArmorConfig(String fileName) { protected CustomArmorConfig(String fileName) {
super("mods", fileName); super("mods", fileName);

View File

@ -9,8 +9,8 @@ import org.bukkit.inventory.ItemStack;
import java.util.HashMap; import java.util.HashMap;
public class CustomEntityConfig extends ConfigLoader { public class CustomEntityConfig extends ConfigLoader {
public HashMap<String, CustomEntity> customEntityClassMap = new HashMap<String, CustomEntity>(); public HashMap<String, CustomEntity> customEntityClassMap = new HashMap<>();
public HashMap<String, CustomEntity> customEntityTypeMap = new HashMap<String, CustomEntity>(); public HashMap<String, CustomEntity> customEntityTypeMap = new HashMap<>();
protected CustomEntityConfig(String fileName) { protected CustomEntityConfig(String fileName) {
super("mods", fileName); super("mods", fileName);

View File

@ -17,16 +17,16 @@ import java.util.Set;
public class CustomToolConfig extends ConfigLoader { public class CustomToolConfig extends ConfigLoader {
private boolean needsUpdate = false; private boolean needsUpdate = false;
public List<Material> customAxes = new ArrayList<Material>(); public List<Material> customAxes = new ArrayList<>();
public List<Material> customBows = new ArrayList<Material>(); public List<Material> customBows = new ArrayList<>();
public List<Material> customHoes = new ArrayList<Material>(); public List<Material> customHoes = new ArrayList<>();
public List<Material> customPickaxes = new ArrayList<Material>(); public List<Material> customPickaxes = new ArrayList<>();
public List<Material> customShovels = new ArrayList<Material>(); public List<Material> customShovels = new ArrayList<>();
public List<Material> customSwords = new ArrayList<Material>(); public List<Material> customSwords = new ArrayList<>();
public HashMap<Material, CustomTool> customToolMap = new HashMap<Material, CustomTool>(); public HashMap<Material, CustomTool> customToolMap = new HashMap<>();
public List<Repairable> repairables = new ArrayList<Repairable>(); public List<Repairable> repairables = new ArrayList<>();
protected CustomToolConfig(String fileName) { protected CustomToolConfig(String fileName) {
super("mods", fileName); super("mods", fileName);

View File

@ -27,7 +27,7 @@ public class ItemWeightConfig extends ConfigLoader {
} }
public HashSet<Material> getMiscItems() { public HashSet<Material> getMiscItems() {
HashSet<Material> miscItems = new HashSet<Material>(); HashSet<Material> miscItems = new HashSet<>();
for (String item : config.getStringList("Party_Shareables.Misc_Items")) { for (String item : config.getStringList("Party_Shareables.Misc_Items")) {
Material material = Material.getMaterial(item.toUpperCase(Locale.ENGLISH)); Material material = Material.getMaterial(item.toUpperCase(Locale.ENGLISH));

View File

@ -18,16 +18,16 @@ import java.util.Map;
public class PotionConfig extends ConfigLoader { public class PotionConfig extends ConfigLoader {
private static PotionConfig instance; private static PotionConfig instance;
private List<ItemStack> concoctionsIngredientsTierOne = new ArrayList<ItemStack>(); private final List<ItemStack> concoctionsIngredientsTierOne = new ArrayList<>();
private List<ItemStack> concoctionsIngredientsTierTwo = new ArrayList<ItemStack>(); private final List<ItemStack> concoctionsIngredientsTierTwo = new ArrayList<>();
private List<ItemStack> concoctionsIngredientsTierThree = new ArrayList<ItemStack>(); private final List<ItemStack> concoctionsIngredientsTierThree = new ArrayList<>();
private List<ItemStack> concoctionsIngredientsTierFour = new ArrayList<ItemStack>(); private final List<ItemStack> concoctionsIngredientsTierFour = new ArrayList<>();
private List<ItemStack> concoctionsIngredientsTierFive = new ArrayList<ItemStack>(); private final List<ItemStack> concoctionsIngredientsTierFive = new ArrayList<>();
private List<ItemStack> concoctionsIngredientsTierSix = new ArrayList<ItemStack>(); private final List<ItemStack> concoctionsIngredientsTierSix = new ArrayList<>();
private List<ItemStack> concoctionsIngredientsTierSeven = new ArrayList<ItemStack>(); private final List<ItemStack> concoctionsIngredientsTierSeven = new ArrayList<>();
private List<ItemStack> concoctionsIngredientsTierEight = new ArrayList<ItemStack>(); private final List<ItemStack> concoctionsIngredientsTierEight = new ArrayList<>();
private Map<String, AlchemyPotion> potionMap = new HashMap<String, AlchemyPotion>(); private final Map<String, AlchemyPotion> potionMap = new HashMap<>();
private PotionConfig() { private PotionConfig() {
super("potions.yml"); super("potions.yml");
@ -137,14 +137,14 @@ public class PotionConfig extends ConfigLoader {
material = Material.valueOf(mat); material = Material.valueOf(mat);
} }
List<String> lore = new ArrayList<String>(); List<String> lore = new ArrayList<>();
if (potion_section.contains("Lore")) { if (potion_section.contains("Lore")) {
for (String line : potion_section.getStringList("Lore")) { for (String line : potion_section.getStringList("Lore")) {
lore.add(ChatColor.translateAlternateColorCodes('&', line)); lore.add(ChatColor.translateAlternateColorCodes('&', line));
} }
} }
List<PotionEffect> effects = new ArrayList<PotionEffect>(); List<PotionEffect> effects = new ArrayList<>();
if (potion_section.contains("Effects")) { if (potion_section.contains("Effects")) {
for (String effect : potion_section.getStringList("Effects")) { for (String effect : potion_section.getStringList("Effects")) {
String[] parts = effect.split(" "); String[] parts = effect.split(" ");
@ -162,7 +162,7 @@ public class PotionConfig extends ConfigLoader {
} }
} }
Color color = null; Color color;
if (potion_section.contains("Color")) { if (potion_section.contains("Color")) {
color = Color.fromRGB(potion_section.getInt("Color")); color = Color.fromRGB(potion_section.getInt("Color"));
} }
@ -170,7 +170,7 @@ public class PotionConfig extends ConfigLoader {
color = this.generateColor(effects); color = this.generateColor(effects);
} }
Map<ItemStack, String> children = new HashMap<ItemStack, String>(); Map<ItemStack, String> children = new HashMap<>();
if (potion_section.contains("Children")) { if (potion_section.contains("Children")) {
for (String child : potion_section.getConfigurationSection("Children").getKeys(false)) { for (String child : potion_section.getConfigurationSection("Children").getKeys(false)) {
ItemStack ingredient = loadIngredient(child); ItemStack ingredient = loadIngredient(child);
@ -255,7 +255,7 @@ public class PotionConfig extends ConfigLoader {
public Color generateColor(List<PotionEffect> effects) { public Color generateColor(List<PotionEffect> effects) {
if (effects != null && !effects.isEmpty()) { if (effects != null && !effects.isEmpty()) {
List<Color> colors = new ArrayList<Color>(); List<Color> colors = new ArrayList<>();
for (PotionEffect effect : effects) { for (PotionEffect effect : effects) {
if (effect.getType().getColor() != null) { if (effect.getType().getColor() != null) {
colors.add(effect.getType().getColor()); colors.add(effect.getType().getColor());
@ -280,8 +280,7 @@ public class PotionConfig extends ConfigLoader {
green += color.getGreen(); green += color.getGreen();
blue += color.getBlue(); blue += color.getBlue();
} }
Color color = Color.fromRGB(red/colors.size(), green/colors.size(), blue/colors.size()); return Color.fromRGB(red/colors.size(), green/colors.size(), blue/colors.size());
return color;
} }
} }

View File

@ -15,7 +15,7 @@ import java.util.*;
public class RepairConfig extends ConfigLoader { public class RepairConfig extends ConfigLoader {
private List<Repairable> repairables; private List<Repairable> repairables;
private HashSet<String> notSupported; private final HashSet<String> notSupported;
public RepairConfig(String fileName) { public RepairConfig(String fileName) {
super(fileName); super(fileName);
@ -25,7 +25,7 @@ public class RepairConfig extends ConfigLoader {
@Override @Override
protected void loadKeys() { protected void loadKeys() {
repairables = new ArrayList<Repairable>(); repairables = new ArrayList<>();
if (!config.isConfigurationSection("Repairables")) { if (!config.isConfigurationSection("Repairables")) {
mcMMO.p.getLogger().severe("Could not find Repairables section in " + fileName); mcMMO.p.getLogger().severe("Could not find Repairables section in " + fileName);
@ -42,7 +42,7 @@ public class RepairConfig extends ConfigLoader {
} }
// Validate all the things! // Validate all the things!
List<String> reason = new ArrayList<String>(); List<String> reason = new ArrayList<>();
// Item Material // Item Material
Material itemMaterial = Material.matchMaterial(key); Material itemMaterial = Material.matchMaterial(key);
@ -177,7 +177,7 @@ public class RepairConfig extends ConfigLoader {
} }
protected List<Repairable> getLoadedRepairables() { protected List<Repairable> getLoadedRepairables() {
return repairables == null ? new ArrayList<Repairable>() : repairables; return repairables == null ? new ArrayList<>() : repairables;
} }
private boolean noErrorsInRepairable(List<String> issues) { private boolean noErrorsInRepairable(List<String> issues) {

View File

@ -11,7 +11,7 @@ import java.util.List;
import java.util.regex.Pattern; import java.util.regex.Pattern;
public class RepairConfigManager { public class RepairConfigManager {
private final List<Repairable> repairables = new ArrayList<Repairable>(); private final List<Repairable> repairables = new ArrayList<>();
public RepairConfigManager(mcMMO plugin) { public RepairConfigManager(mcMMO plugin) {
Pattern pattern = Pattern.compile("repair\\.(?:.+)\\.yml"); Pattern pattern = Pattern.compile("repair\\.(?:.+)\\.yml");

View File

@ -18,7 +18,7 @@ import java.util.*;
public class SalvageConfig extends ConfigLoader { public class SalvageConfig extends ConfigLoader {
private List<Salvageable> salvageables; private List<Salvageable> salvageables;
private HashSet<String> notSupported; private final HashSet<String> notSupported;
public SalvageConfig(String fileName) { public SalvageConfig(String fileName) {
super(fileName); super(fileName);
@ -28,7 +28,7 @@ public class SalvageConfig extends ConfigLoader {
@Override @Override
protected void loadKeys() { protected void loadKeys() {
salvageables = new ArrayList<Salvageable>(); salvageables = new ArrayList<>();
if (!config.isConfigurationSection("Salvageables")) { if (!config.isConfigurationSection("Salvageables")) {
mcMMO.p.getLogger().severe("Could not find Salvageables section in " + fileName); mcMMO.p.getLogger().severe("Could not find Salvageables section in " + fileName);
@ -59,7 +59,7 @@ public class SalvageConfig extends ConfigLoader {
for (String key : keys) { for (String key : keys) {
// Validate all the things! // Validate all the things!
List<String> reason = new ArrayList<String>(); List<String> reason = new ArrayList<>();
// Item Material // Item Material
Material itemMaterial = Material.matchMaterial(key); Material itemMaterial = Material.matchMaterial(key);
@ -195,7 +195,7 @@ public class SalvageConfig extends ConfigLoader {
} }
protected List<Salvageable> getLoadedSalvageables() { protected List<Salvageable> getLoadedSalvageables() {
return salvageables == null ? new ArrayList<Salvageable>() : salvageables; return salvageables == null ? new ArrayList<>() : salvageables;
} }
private boolean noErrorsInSalvageable(List<String> issues) { private boolean noErrorsInSalvageable(List<String> issues) {

View File

@ -11,7 +11,7 @@ import java.util.List;
import java.util.regex.Pattern; import java.util.regex.Pattern;
public class SalvageConfigManager { public class SalvageConfigManager {
private final List<Salvageable> salvageables = new ArrayList<Salvageable>(); private final List<Salvageable> salvageables = new ArrayList<>();
public SalvageConfigManager(mcMMO plugin) { public SalvageConfigManager(mcMMO plugin) {
Pattern pattern = Pattern.compile("salvage\\.(?:.+)\\.yml"); Pattern pattern = Pattern.compile("salvage\\.(?:.+)\\.yml");

View File

@ -24,13 +24,13 @@ public class TreasureConfig extends ConfigLoader {
private static TreasureConfig instance; private static TreasureConfig instance;
public HashMap<String, List<ExcavationTreasure>> excavationMap = new HashMap<String, List<ExcavationTreasure>>(); public HashMap<String, List<ExcavationTreasure>> excavationMap = new HashMap<>();
public HashMap<EntityType, List<ShakeTreasure>> shakeMap = new HashMap<EntityType, List<ShakeTreasure>>(); public HashMap<EntityType, List<ShakeTreasure>> shakeMap = new HashMap<>();
public HashMap<String, List<HylianTreasure>> hylianMap = new HashMap<String, List<HylianTreasure>>(); public HashMap<String, List<HylianTreasure>> hylianMap = new HashMap<>();
public HashMap<Rarity, List<FishingTreasure>> fishingRewards = new HashMap<Rarity, List<FishingTreasure>>(); public HashMap<Rarity, List<FishingTreasure>> fishingRewards = new HashMap<>();
public HashMap<Rarity, List<EnchantmentTreasure>> fishingEnchantments = new HashMap<Rarity, List<EnchantmentTreasure>>(); public HashMap<Rarity, List<EnchantmentTreasure>> fishingEnchantments = new HashMap<>();
private TreasureConfig() { private TreasureConfig() {
super("treasures.yml"); super("treasures.yml");
@ -49,7 +49,7 @@ public class TreasureConfig extends ConfigLoader {
@Override @Override
protected boolean validateKeys() { protected boolean validateKeys() {
// Validate all the settings! // Validate all the settings!
List<String> reason = new ArrayList<String>(); List<String> reason = new ArrayList<>();
for (String tier : config.getConfigurationSection("Enchantment_Drop_Rates").getKeys(false)) { for (String tier : config.getConfigurationSection("Enchantment_Drop_Rates").getKeys(false)) {
double totalEnchantDropRate = 0; double totalEnchantDropRate = 0;
double totalItemDropRate = 0; double totalItemDropRate = 0;
@ -116,13 +116,13 @@ public class TreasureConfig extends ConfigLoader {
// Initialize fishing HashMap // Initialize fishing HashMap
for (Rarity rarity : Rarity.values()) { for (Rarity rarity : Rarity.values()) {
if (!fishingRewards.containsKey(rarity)) { if (!fishingRewards.containsKey(rarity)) {
fishingRewards.put(rarity, (new ArrayList<FishingTreasure>())); fishingRewards.put(rarity, (new ArrayList<>()));
} }
} }
for (String treasureName : treasureSection.getKeys(false)) { for (String treasureName : treasureSection.getKeys(false)) {
// Validate all the things! // Validate all the things!
List<String> reason = new ArrayList<String>(); List<String> reason = new ArrayList<>();
String[] treasureInfo = treasureName.split("[|]"); String[] treasureInfo = treasureName.split("[|]");
String materialName = treasureInfo[0]; String materialName = treasureInfo[0];
@ -135,7 +135,7 @@ public class TreasureConfig extends ConfigLoader {
if (materialName.contains("INVENTORY")) { if (materialName.contains("INVENTORY")) {
// Use magic material BEDROCK to know that we're grabbing something from the inventory and not a normal treasure // Use magic material BEDROCK to know that we're grabbing something from the inventory and not a normal treasure
if (!shakeMap.containsKey(EntityType.PLAYER)) if (!shakeMap.containsKey(EntityType.PLAYER))
shakeMap.put(EntityType.PLAYER, new ArrayList<ShakeTreasure>()); shakeMap.put(EntityType.PLAYER, new ArrayList<>());
shakeMap.get(EntityType.PLAYER).add(new ShakeTreasure(new ItemStack(Material.BEDROCK, 1, (byte) 0), 1, getInventoryStealDropChance(), getInventoryStealDropLevel())); shakeMap.get(EntityType.PLAYER).add(new ShakeTreasure(new ItemStack(Material.BEDROCK, 1, (byte) 0), 1, getInventoryStealDropChance(), getInventoryStealDropLevel()));
continue; continue;
} else { } else {
@ -218,7 +218,7 @@ public class TreasureConfig extends ConfigLoader {
} }
if (config.contains(type + "." + treasureName + ".Lore")) { if (config.contains(type + "." + treasureName + ".Lore")) {
List<String> lore = new ArrayList<String>(); List<String> lore = new ArrayList<>();
for (String s : config.getStringList(type + "." + treasureName + ".Lore")) { for (String s : config.getStringList(type + "." + treasureName + ".Lore")) {
lore.add(ChatColor.translateAlternateColorCodes('&', s)); lore.add(ChatColor.translateAlternateColorCodes('&', s));
} }
@ -237,7 +237,7 @@ public class TreasureConfig extends ConfigLoader {
if (config.contains(type + "." + treasureName + ".Lore")) { if (config.contains(type + "." + treasureName + ".Lore")) {
ItemMeta itemMeta = item.getItemMeta(); ItemMeta itemMeta = item.getItemMeta();
List<String> lore = new ArrayList<String>(); List<String> lore = new ArrayList<>();
for (String s : config.getStringList(type + "." + treasureName + ".Lore")) { for (String s : config.getStringList(type + "." + treasureName + ".Lore")) {
lore.add(ChatColor.translateAlternateColorCodes('&', s)); lore.add(ChatColor.translateAlternateColorCodes('&', s));
} }
@ -254,7 +254,7 @@ public class TreasureConfig extends ConfigLoader {
EntityType entityType = EntityType.valueOf(type.substring(6)); EntityType entityType = EntityType.valueOf(type.substring(6));
if (!shakeMap.containsKey(entityType)) if (!shakeMap.containsKey(entityType))
shakeMap.put(entityType, new ArrayList<ShakeTreasure>()); shakeMap.put(entityType, new ArrayList<>());
shakeMap.get(entityType).add(shakeTreasure); shakeMap.get(entityType).add(shakeTreasure);
} else if (isExcavation) { } else if (isExcavation) {
ExcavationTreasure excavationTreasure = new ExcavationTreasure(item, xp, dropChance, dropLevel); ExcavationTreasure excavationTreasure = new ExcavationTreasure(item, xp, dropChance, dropLevel);
@ -262,7 +262,7 @@ public class TreasureConfig extends ConfigLoader {
for (String blockType : dropList) { for (String blockType : dropList) {
if (!excavationMap.containsKey(blockType)) if (!excavationMap.containsKey(blockType))
excavationMap.put(blockType, new ArrayList<ExcavationTreasure>()); excavationMap.put(blockType, new ArrayList<>());
excavationMap.get(blockType).add(excavationTreasure); excavationMap.get(blockType).add(excavationTreasure);
} }
} else if (isHylian) { } else if (isHylian) {
@ -305,7 +305,7 @@ public class TreasureConfig extends ConfigLoader {
private void AddHylianTreasure(String dropper, HylianTreasure treasure) { private void AddHylianTreasure(String dropper, HylianTreasure treasure) {
if (!hylianMap.containsKey(dropper)) if (!hylianMap.containsKey(dropper))
hylianMap.put(dropper, new ArrayList<HylianTreasure>()); hylianMap.put(dropper, new ArrayList<>());
hylianMap.get(dropper).add(treasure); hylianMap.get(dropper).add(treasure);
} }
@ -316,7 +316,7 @@ public class TreasureConfig extends ConfigLoader {
} }
if (!fishingEnchantments.containsKey(rarity)) { if (!fishingEnchantments.containsKey(rarity)) {
fishingEnchantments.put(rarity, (new ArrayList<EnchantmentTreasure>())); fishingEnchantments.put(rarity, (new ArrayList<>()));
} }
ConfigurationSection enchantmentSection = config.getConfigurationSection("Enchantments_Rarity." + rarity.toString()); ConfigurationSection enchantmentSection = config.getConfigurationSection("Enchantments_Rarity." + rarity.toString());

View File

@ -12,19 +12,19 @@ import java.util.UUID;
public interface DatabaseManager { public interface DatabaseManager {
// One month in milliseconds // One month in milliseconds
public final long PURGE_TIME = 2630000000L * Config.getInstance().getOldUsersCutoff(); long PURGE_TIME = 2630000000L * Config.getInstance().getOldUsersCutoff();
// During convertUsers, how often to output a status // During convertUsers, how often to output a status
public final int progressInterval = 200; int progressInterval = 200;
/** /**
* Purge users with 0 power level from the database. * Purge users with 0 power level from the database.
*/ */
public void purgePowerlessUsers(); void purgePowerlessUsers();
/** /**
* Purge users who haven't logged on in over a certain time frame from the database. * Purge users who haven't logged on in over a certain time frame from the database.
*/ */
public void purgeOldUsers(); void purgeOldUsers();
/** /**
* Remove a user from the database. * Remove a user from the database.
@ -33,14 +33,14 @@ public interface DatabaseManager {
* @param uuid player UUID, can be null * @param uuid player UUID, can be null
* @return true if the user was successfully removed, false otherwise * @return true if the user was successfully removed, false otherwise
*/ */
public boolean removeUser(String playerName, UUID uuid); boolean removeUser(String playerName, UUID uuid);
/** /**
* Removes any cache used for faster lookups * Removes any cache used for faster lookups
* Currently only used for SQL * Currently only used for SQL
* @param uuid target UUID to cleanup * @param uuid target UUID to cleanup
*/ */
public void cleanupUser(UUID uuid); void cleanupUser(UUID uuid);
/** /**
* Save a user to the database. * Save a user to the database.
@ -48,7 +48,7 @@ public interface DatabaseManager {
* @param profile The profile of the player to save * @param profile The profile of the player to save
* @return true if successful, false on failure * @return true if successful, false on failure
*/ */
public boolean saveUser(PlayerProfile profile); boolean saveUser(PlayerProfile profile);
/** /**
* Retrieve leaderboard info. * Retrieve leaderboard info.
@ -58,7 +58,7 @@ public interface DatabaseManager {
* @param statsPerPage The number of stats per page * @param statsPerPage The number of stats per page
* @return the requested leaderboard information * @return the requested leaderboard information
*/ */
public List<PlayerStat> readLeaderboard(PrimarySkillType skill, int pageNumber, int statsPerPage); List<PlayerStat> readLeaderboard(PrimarySkillType skill, int pageNumber, int statsPerPage);
/** /**
* Retrieve rank info into a HashMap from PrimarySkillType to the rank. * Retrieve rank info into a HashMap from PrimarySkillType to the rank.
@ -69,7 +69,7 @@ public interface DatabaseManager {
* @param playerName The name of the user to retrieve the rankings for * @param playerName The name of the user to retrieve the rankings for
* @return the requested rank information * @return the requested rank information
*/ */
public Map<PrimarySkillType, Integer> readRank(String playerName); Map<PrimarySkillType, Integer> readRank(String playerName);
/** /**
* Add a new user to the database. * Add a new user to the database.
@ -77,7 +77,7 @@ public interface DatabaseManager {
* @param playerName The name of the player to be added to the database * @param playerName The name of the player to be added to the database
* @param uuid The uuid of the player to be added to the database * @param uuid The uuid of the player to be added to the database
*/ */
public void newUser(String playerName, UUID uuid); void newUser(String playerName, UUID uuid);
/** /**
* Load a player from the database. * Load a player from the database.
@ -91,7 +91,7 @@ public interface DatabaseManager {
* and createNew is false * and createNew is false
*/ */
@Deprecated @Deprecated
public PlayerProfile loadPlayerProfile(String playerName, boolean createNew); PlayerProfile loadPlayerProfile(String playerName, boolean createNew);
/** /**
* Load a player from the database. * Load a player from the database.
@ -99,7 +99,7 @@ public interface DatabaseManager {
* @param uuid The uuid of the player to load from the database * @param uuid The uuid of the player to load from the database
* @return The player's data, or an unloaded PlayerProfile if not found * @return The player's data, or an unloaded PlayerProfile if not found
*/ */
public PlayerProfile loadPlayerProfile(UUID uuid); PlayerProfile loadPlayerProfile(UUID uuid);
/** /**
* Load a player from the database. Attempt to use uuid, fall back on playername * Load a player from the database. Attempt to use uuid, fall back on playername
@ -111,14 +111,14 @@ public interface DatabaseManager {
* @return The player's data, or an unloaded PlayerProfile if not found * @return The player's data, or an unloaded PlayerProfile if not found
* and createNew is false * and createNew is false
*/ */
public PlayerProfile loadPlayerProfile(String playerName, UUID uuid, boolean createNew); PlayerProfile loadPlayerProfile(String playerName, UUID uuid, boolean createNew);
/** /**
* Get all users currently stored in the database. * Get all users currently stored in the database.
* *
* @return list of playernames * @return list of playernames
*/ */
public List<String> getStoredUsers(); List<String> getStoredUsers();
/** /**
* Convert all users from this database to the provided database using * Convert all users from this database to the provided database using
@ -126,21 +126,21 @@ public interface DatabaseManager {
* *
* @param destination The DatabaseManager to save to * @param destination The DatabaseManager to save to
*/ */
public void convertUsers(DatabaseManager destination); void convertUsers(DatabaseManager destination);
public boolean saveUserUUID(String userName, UUID uuid); boolean saveUserUUID(String userName, UUID uuid);
public boolean saveUserUUIDs(Map<String, UUID> fetchedUUIDs); boolean saveUserUUIDs(Map<String, UUID> fetchedUUIDs);
/** /**
* Retrieve the type of database in use. Custom databases should return CUSTOM. * Retrieve the type of database in use. Custom databases should return CUSTOM.
* *
* @return The type of database * @return The type of database
*/ */
public DatabaseType getDatabaseType(); DatabaseType getDatabaseType();
/** /**
* Called when the plugin disables * Called when the plugin disables
*/ */
public void onDisable(); void onDisable();
} }

View File

@ -22,8 +22,8 @@ import java.io.*;
import java.util.*; import java.util.*;
public final class FlatfileDatabaseManager implements DatabaseManager { public final class FlatfileDatabaseManager implements DatabaseManager {
private final HashMap<PrimarySkillType, List<PlayerStat>> playerStatHash = new HashMap<PrimarySkillType, List<PlayerStat>>(); private final HashMap<PrimarySkillType, List<PlayerStat>> playerStatHash = new HashMap<>();
private final List<PlayerStat> powerLevels = new ArrayList<PlayerStat>(); private final List<PlayerStat> powerLevels = new ArrayList<>();
private long lastUpdate = 0; private long lastUpdate = 0;
private final long UPDATE_WAIT_TIME = 600000L; // 10 minutes private final long UPDATE_WAIT_TIME = 600000L; // 10 minutes
@ -36,7 +36,7 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
updateLeaderboards(); updateLeaderboards();
if (mcMMO.getUpgradeManager().shouldUpgrade(UpgradeType.ADD_UUIDS)) { if (mcMMO.getUpgradeManager().shouldUpgrade(UpgradeType.ADD_UUIDS)) {
new UUIDUpdateAsyncTask(mcMMO.p, getStoredUsers()).runTaskAsynchronously(mcMMO.p); new UUIDUpdateAsyncTask(mcMMO.p, getStoredUsers()).start();
} }
} }
@ -425,7 +425,7 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
public Map<PrimarySkillType, Integer> readRank(String playerName) { public Map<PrimarySkillType, Integer> readRank(String playerName) {
updateLeaderboards(); updateLeaderboards();
Map<PrimarySkillType, Integer> skills = new HashMap<PrimarySkillType, Integer>(); Map<PrimarySkillType, Integer> skills = new HashMap<>();
for (PrimarySkillType skill : PrimarySkillType.NON_CHILD_SKILLS) { for (PrimarySkillType skill : PrimarySkillType.NON_CHILD_SKILLS) {
skills.put(skill, getPlayerRank(playerName, playerStatHash.get(skill))); skills.put(skill, getPlayerRank(playerName, playerStatHash.get(skill)));
@ -734,7 +734,7 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
} }
character[UUID_INDEX] = fetchedUUIDs.remove(character[USERNAME]).toString(); character[UUID_INDEX] = fetchedUUIDs.remove(character[USERNAME]).toString();
line = new StringBuilder(org.apache.commons.lang.StringUtils.join(character, ":")).append(":").toString(); line = org.apache.commons.lang.StringUtils.join(character, ":") + ":";
} }
i++; i++;
@ -772,7 +772,7 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
} }
public List<String> getStoredUsers() { public List<String> getStoredUsers() {
ArrayList<String> users = new ArrayList<String>(); ArrayList<String> users = new ArrayList<>();
BufferedReader in = null; BufferedReader in = null;
String usersFilePath = mcMMO.getUsersFilePath(); String usersFilePath = mcMMO.getUsersFilePath();
@ -818,19 +818,19 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
powerLevels.clear(); // Clear old values from the power levels powerLevels.clear(); // Clear old values from the power levels
// Initialize lists // Initialize lists
List<PlayerStat> mining = new ArrayList<PlayerStat>(); List<PlayerStat> mining = new ArrayList<>();
List<PlayerStat> woodcutting = new ArrayList<PlayerStat>(); List<PlayerStat> woodcutting = new ArrayList<>();
List<PlayerStat> herbalism = new ArrayList<PlayerStat>(); List<PlayerStat> herbalism = new ArrayList<>();
List<PlayerStat> excavation = new ArrayList<PlayerStat>(); List<PlayerStat> excavation = new ArrayList<>();
List<PlayerStat> acrobatics = new ArrayList<PlayerStat>(); List<PlayerStat> acrobatics = new ArrayList<>();
List<PlayerStat> repair = new ArrayList<PlayerStat>(); List<PlayerStat> repair = new ArrayList<>();
List<PlayerStat> swords = new ArrayList<PlayerStat>(); List<PlayerStat> swords = new ArrayList<>();
List<PlayerStat> axes = new ArrayList<PlayerStat>(); List<PlayerStat> axes = new ArrayList<>();
List<PlayerStat> archery = new ArrayList<PlayerStat>(); List<PlayerStat> archery = new ArrayList<>();
List<PlayerStat> unarmed = new ArrayList<PlayerStat>(); List<PlayerStat> unarmed = new ArrayList<>();
List<PlayerStat> taming = new ArrayList<PlayerStat>(); List<PlayerStat> taming = new ArrayList<>();
List<PlayerStat> fishing = new ArrayList<PlayerStat>(); List<PlayerStat> fishing = new ArrayList<>();
List<PlayerStat> alchemy = new ArrayList<PlayerStat>(); List<PlayerStat> alchemy = new ArrayList<>();
BufferedReader in = null; BufferedReader in = null;
String playerName = null; String playerName = null;
@ -881,20 +881,20 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
SkillComparator c = new SkillComparator(); SkillComparator c = new SkillComparator();
Collections.sort(mining, c); mining.sort(c);
Collections.sort(woodcutting, c); woodcutting.sort(c);
Collections.sort(repair, c); repair.sort(c);
Collections.sort(unarmed, c); unarmed.sort(c);
Collections.sort(herbalism, c); herbalism.sort(c);
Collections.sort(excavation, c); excavation.sort(c);
Collections.sort(archery, c); archery.sort(c);
Collections.sort(swords, c); swords.sort(c);
Collections.sort(axes, c); axes.sort(c);
Collections.sort(acrobatics, c); acrobatics.sort(c);
Collections.sort(taming, c); taming.sort(c);
Collections.sort(fishing, c); fishing.sort(c);
Collections.sort(alchemy, c); alchemy.sort(c);
Collections.sort(powerLevels, c); powerLevels.sort(c);
playerStatHash.put(PrimarySkillType.MINING, mining); playerStatHash.put(PrimarySkillType.MINING, mining);
playerStatHash.put(PrimarySkillType.WOODCUTTING, woodcutting); playerStatHash.put(PrimarySkillType.WOODCUTTING, woodcutting);
@ -925,8 +925,8 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
in = new BufferedReader(new FileReader(usersFilePath)); in = new BufferedReader(new FileReader(usersFilePath));
StringBuilder writer = new StringBuilder(); StringBuilder writer = new StringBuilder();
String line; String line;
HashSet<String> usernames = new HashSet<String>(); HashSet<String> usernames = new HashSet<>();
HashSet<String> players = new HashSet<String>(); HashSet<String> players = new HashSet<>();
while ((line = in.readLine()) != null) { while ((line = in.readLine()) != null) {
// Remove empty lines from the file // Remove empty lines from the file
@ -1196,7 +1196,7 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
} }
if (updated) { if (updated) {
line = new StringBuilder(org.apache.commons.lang.StringUtils.join(character, ":")).append(":").toString(); line = org.apache.commons.lang.StringUtils.join(character, ":") + ":";
} }
writer.append(line).append("\r\n"); writer.append(line).append("\r\n");
@ -1273,7 +1273,7 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
return statValue; return statValue;
} }
private class SkillComparator implements Comparator<PlayerStat> { private static class SkillComparator implements Comparator<PlayerStat> {
@Override @Override
public int compare(PlayerStat o1, PlayerStat o2) { public int compare(PlayerStat o1, PlayerStat o2) {
return (o2.statVal - o1.statVal); return (o2.statVal - o1.statVal);
@ -1376,7 +1376,7 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
} }
private Map<PrimarySkillType, Integer> getSkillMapFromLine(String[] character) { private Map<PrimarySkillType, Integer> getSkillMapFromLine(String[] character) {
Map<PrimarySkillType, Integer> skills = new EnumMap<PrimarySkillType, Integer>(PrimarySkillType.class); // Skill & Level Map<PrimarySkillType, Integer> skills = new EnumMap<>(PrimarySkillType.class); // Skill & Level
skills.put(PrimarySkillType.TAMING, Integer.valueOf(character[SKILLS_TAMING])); skills.put(PrimarySkillType.TAMING, Integer.valueOf(character[SKILLS_TAMING]));
skills.put(PrimarySkillType.MINING, Integer.valueOf(character[SKILLS_MINING])); skills.put(PrimarySkillType.MINING, Integer.valueOf(character[SKILLS_MINING]));

View File

@ -24,9 +24,9 @@ import java.util.concurrent.locks.ReentrantLock;
public final class SQLDatabaseManager implements DatabaseManager { public final class SQLDatabaseManager implements DatabaseManager {
private static final String ALL_QUERY_VERSION = "total"; private static final String ALL_QUERY_VERSION = "total";
private String tablePrefix = Config.getInstance().getMySQLTablePrefix(); private final String tablePrefix = Config.getInstance().getMySQLTablePrefix();
private final Map<UUID, Integer> cachedUserIDs = new HashMap<UUID, Integer>(); private final Map<UUID, Integer> cachedUserIDs = new HashMap<>();
private DataSource miscPool; private DataSource miscPool;
private DataSource loadPool; private DataSource loadPool;
@ -34,7 +34,7 @@ public final class SQLDatabaseManager implements DatabaseManager {
private boolean debug = false; private boolean debug = false;
private ReentrantLock massUpdateLock = new ReentrantLock(); private final ReentrantLock massUpdateLock = new ReentrantLock();
protected SQLDatabaseManager() { protected SQLDatabaseManager() {
String connectionString = "jdbc:mysql://" + Config.getInstance().getMySQLServerName() String connectionString = "jdbc:mysql://" + Config.getInstance().getMySQLServerName()
@ -215,7 +215,6 @@ public final class SQLDatabaseManager implements DatabaseManager {
} }
public void cleanupUser(UUID uuid) { public void cleanupUser(UUID uuid) {
if(cachedUserIDs.containsKey(uuid))
cachedUserIDs.remove(uuid); cachedUserIDs.remove(uuid);
} }
@ -346,7 +345,7 @@ public final class SQLDatabaseManager implements DatabaseManager {
} }
public List<PlayerStat> readLeaderboard(PrimarySkillType skill, int pageNumber, int statsPerPage) { public List<PlayerStat> readLeaderboard(PrimarySkillType skill, int pageNumber, int statsPerPage) {
List<PlayerStat> stats = new ArrayList<PlayerStat>(); List<PlayerStat> stats = new ArrayList<>();
String query = skill == null ? ALL_QUERY_VERSION : skill.name().toLowerCase(Locale.ENGLISH); String query = skill == null ? ALL_QUERY_VERSION : skill.name().toLowerCase(Locale.ENGLISH);
ResultSet resultSet = null; ResultSet resultSet = null;
@ -361,13 +360,13 @@ public final class SQLDatabaseManager implements DatabaseManager {
resultSet = statement.executeQuery(); resultSet = statement.executeQuery();
while (resultSet.next()) { while (resultSet.next()) {
ArrayList<String> column = new ArrayList<String>(); ArrayList<String> column = new ArrayList<>();
for (int i = 1; i <= resultSet.getMetaData().getColumnCount(); i++) { for (int i = 1; i <= resultSet.getMetaData().getColumnCount(); i++) {
column.add(resultSet.getString(i)); column.add(resultSet.getString(i));
} }
stats.add(new PlayerStat(column.get(1), Integer.valueOf(column.get(0)))); stats.add(new PlayerStat(column.get(1), Integer.parseInt(column.get(0))));
} }
} }
catch (SQLException ex) { catch (SQLException ex) {
@ -383,7 +382,7 @@ public final class SQLDatabaseManager implements DatabaseManager {
} }
public Map<PrimarySkillType, Integer> readRank(String playerName) { public Map<PrimarySkillType, Integer> readRank(String playerName) {
Map<PrimarySkillType, Integer> skills = new HashMap<PrimarySkillType, Integer>(); Map<PrimarySkillType, Integer> skills = new HashMap<>();
ResultSet resultSet = null; ResultSet resultSet = null;
PreparedStatement statement = null; PreparedStatement statement = null;
@ -753,7 +752,7 @@ public final class SQLDatabaseManager implements DatabaseManager {
} }
public List<String> getStoredUsers() { public List<String> getStoredUsers() {
ArrayList<String> users = new ArrayList<String>(); ArrayList<String> users = new ArrayList<>();
Statement statement = null; Statement statement = null;
Connection connection = null; Connection connection = null;
@ -1319,7 +1318,7 @@ public final class SQLDatabaseManager implements DatabaseManager {
private class GetUUIDUpdatesRequired extends BukkitRunnable { private class GetUUIDUpdatesRequired extends BukkitRunnable {
public void run() { public void run() {
massUpdateLock.lock(); massUpdateLock.lock();
List<String> names = new ArrayList<String>(); List<String> names = new ArrayList<>();
Connection connection = null; Connection connection = null;
Statement statement = null; Statement statement = null;
ResultSet resultSet = null; ResultSet resultSet = null;
@ -1341,7 +1340,9 @@ public final class SQLDatabaseManager implements DatabaseManager {
} }
if (!names.isEmpty()) { if (!names.isEmpty()) {
new UUIDUpdateAsyncTask(mcMMO.p, names).run(); UUIDUpdateAsyncTask updateTask = new UUIDUpdateAsyncTask(mcMMO.p, names);
updateTask.start();
updateTask.waitUntilFinished();
} }
} finally { } finally {
massUpdateLock.unlock(); massUpdateLock.unlock();
@ -1489,9 +1490,8 @@ public final class SQLDatabaseManager implements DatabaseManager {
resultSet = statement.executeQuery(); resultSet = statement.executeQuery();
if (resultSet.next()) { if (resultSet.next()) {
int id = resultSet.getInt("id");
return id; return resultSet.getInt("id");
} }
} }
catch (SQLException ex) { catch (SQLException ex) {

View File

@ -9,7 +9,7 @@ import org.bukkit.block.Block;
*/ */
public class BlockSnapshot { public class BlockSnapshot {
private final Material oldType; private final Material oldType;
private Block blockRef; private final Block blockRef;
public BlockSnapshot(Material oldType, Block blockRef) { public BlockSnapshot(Material oldType, Block blockRef) {
this.oldType = oldType; this.oldType = oldType;

Some files were not shown because too many files have changed in this diff Show More