diff --git a/src/main/java/com/intellectualcrafters/plot/api/PlotAPI.java b/src/main/java/com/intellectualcrafters/plot/api/PlotAPI.java index 74f824ceb..b1e3188dc 100644 --- a/src/main/java/com/intellectualcrafters/plot/api/PlotAPI.java +++ b/src/main/java/com/intellectualcrafters/plot/api/PlotAPI.java @@ -613,9 +613,9 @@ import com.intellectualcrafters.plot.uuid.UUIDWrapper; */ public void registerCommand(final SubCommand c) { if (c.getCommand() != null) { - MainCommand.instance.addCommand(c); + MainCommand.getInstance().addCommand(c); } else { - MainCommand.instance.createCommand(c); + MainCommand.getInstance().createCommand(c); } } diff --git a/src/main/java/com/intellectualcrafters/plot/commands/Cluster.java b/src/main/java/com/intellectualcrafters/plot/commands/Cluster.java index 87a6cef77..6ee2b8579 100644 --- a/src/main/java/com/intellectualcrafters/plot/commands/Cluster.java +++ b/src/main/java/com/intellectualcrafters/plot/commands/Cluster.java @@ -49,7 +49,7 @@ import com.plotsquared.bukkit.generator.HybridGen; import com.plotsquared.bukkit.util.SetupUtils; @CommandDeclaration( - command = "cluser", + command = "cluster", aliases = {"clusters"}, category = CommandCategory.ACTIONS, requiredType = RequiredType.PLAYER, diff --git a/src/main/java/com/intellectualcrafters/plot/commands/MainCommand.java b/src/main/java/com/intellectualcrafters/plot/commands/MainCommand.java index af03a6196..9179e51ac 100644 --- a/src/main/java/com/intellectualcrafters/plot/commands/MainCommand.java +++ b/src/main/java/com/intellectualcrafters/plot/commands/MainCommand.java @@ -46,11 +46,18 @@ import com.intellectualsites.commands.CommandManager; */ public class MainCommand extends CommandManager { - public static MainCommand instance = new MainCommand(); + private static MainCommand instance; + + public static MainCommand getInstance() { + if (instance == null) { + instance = new MainCommand(); + } + return instance; + } private MainCommand() { super(null, new ArrayList>()); - List toAdd = Arrays.asList( + List toAdd = new ArrayList<>(Arrays.asList( new Buy(), new Save(), new Load(), new Template(), new Download(), new Update(), new Template(), @@ -74,7 +81,7 @@ public class MainCommand extends CommandManager { new Trust(), new DebugExec(), new FlagCmd(), new Target(), new DebugFixFlags(), new Move(), new Condense(), new Condense(), new Copy(), - new Chat()); + new Chat())); if (Settings.ENABLE_CLUSTERS) { toAdd.add(new Cluster()); } @@ -91,7 +98,7 @@ public class MainCommand extends CommandManager { } public static ArrayList> getCommands(final CommandCategory category, final PlotPlayer player) { - ArrayList> cmds = instance.getCommands(); + ArrayList> cmds = getInstance().getCommands(); for (Iterator> iter = cmds.iterator(); iter.hasNext();){ Command cmd = iter.next(); if ((category != null && (cmd.getCategory().equals(category))) || !player.hasPermission(cmd.getPermission())) { @@ -235,7 +242,7 @@ public class MainCommand extends CommandManager { builder.append(" "); } } - instance.handle(player, builder.toString()); + getInstance().handle(player, builder.toString()); return true; } diff --git a/src/main/java/com/plotsquared/bukkit/BukkitMain.java b/src/main/java/com/plotsquared/bukkit/BukkitMain.java index 1d8f93a74..7d31cc096 100644 --- a/src/main/java/com/plotsquared/bukkit/BukkitMain.java +++ b/src/main/java/com/plotsquared/bukkit/BukkitMain.java @@ -349,7 +349,7 @@ public class BukkitMain extends JavaPlugin implements Listener, IPlotMain { } else { getServer().getPluginManager().registerEvents(new WEListener(), this); WorldEdit.getInstance().getEventBus().register(new WESubscriber()); - MainCommand.instance.createCommand(new WE_Anywhere()); + MainCommand.getInstance().createCommand(new WE_Anywhere()); } } } diff --git a/src/main/java/com/plotsquared/bukkit/commands/BukkitCommand.java b/src/main/java/com/plotsquared/bukkit/commands/BukkitCommand.java index a484c6514..d0a7d0e6f 100644 --- a/src/main/java/com/plotsquared/bukkit/commands/BukkitCommand.java +++ b/src/main/java/com/plotsquared/bukkit/commands/BukkitCommand.java @@ -53,11 +53,11 @@ public class BukkitCommand implements CommandExecutor, TabCompleter { return null; } final Set tabOptions = new HashSet<>(); - ArrayList> commands = MainCommand.instance.getCommands(); + ArrayList> commands = MainCommand.getInstance().getCommands(); String best = new StringComparison(strings[0], commands).getBestMatch(); tabOptions.add(best); final String arg = strings[0].toLowerCase(); - for (final Command cmd : MainCommand.instance.getCommands()) { + for (final Command cmd : MainCommand.getInstance().getCommands()) { String label = cmd.getCommand(); if (!label.equalsIgnoreCase(best)) { if (label.startsWith(arg)) {