diff --git a/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/desti/CreateDestiSubCommand.java b/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/desti/CreateDestiSubCommand.java index 8dbd896..4404886 100644 --- a/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/desti/CreateDestiSubCommand.java +++ b/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/desti/CreateDestiSubCommand.java @@ -3,16 +3,16 @@ package com.sekwah.advancedportals.core.commands.subcommands.desti; import com.sekwah.advancedportals.core.AdvancedPortalsCore; import com.sekwah.advancedportals.core.api.commands.SubCommand; import com.sekwah.advancedportals.core.api.destination.Destination; -import com.sekwah.advancedportals.core.commands.subcommands.CreateSubCommand; import com.sekwah.advancedportals.core.data.DataTag; import com.sekwah.advancedportals.core.util.Lang; import com.sekwah.advancedportals.core.connector.container.CommandSenderContainer; import com.sekwah.advancedportals.core.connector.container.PlayerContainer; +import com.sekwah.advancedportals.core.util.TagReader; import java.util.ArrayList; import java.util.List; -public class CreateDestiSubCommand extends CreateSubCommand implements SubCommand { +public class CreateDestiSubCommand implements SubCommand { @Override public void onCommand(CommandSenderContainer sender, String[] args) { @@ -22,7 +22,7 @@ public class CreateDestiSubCommand extends CreateSubCommand implements SubComman sender.sendMessage(Lang.translateColor("messageprefix.negative") + Lang.translate("command.createdesti.console")); return; } - ArrayList destiTags = this.getTagsFromArgs(args); + ArrayList destiTags = TagReader.getTagsFromArgs(args); Destination desti = AdvancedPortalsCore.getDestinationServices().createDesti(args[1], player, player.getLoc(), destiTags); if(desti != null) { sender.sendMessage(Lang.translateColor("messageprefix.positive") + Lang.translateColor("command.createdesti.complete")); @@ -46,14 +46,6 @@ public class CreateDestiSubCommand extends CreateSubCommand implements SubComman } } - protected String getTag(String arg) { - int splitLoc = arg.indexOf(":"); - if(splitLoc != -1) { - return arg.substring(0,splitLoc); - } - return null; - } - @Override public boolean hasPermission(CommandSenderContainer sender) { return sender.isOp() || sender.hasPermission("advancedportals.createportal"); diff --git a/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/CreatePortalSubCommand.java b/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/CreatePortalSubCommand.java index c050811..6ade871 100644 --- a/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/CreatePortalSubCommand.java +++ b/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/CreatePortalSubCommand.java @@ -3,17 +3,17 @@ package com.sekwah.advancedportals.core.commands.subcommands.portal; import com.sekwah.advancedportals.core.AdvancedPortalsCore; import com.sekwah.advancedportals.core.api.commands.SubCommand; import com.sekwah.advancedportals.core.api.portal.AdvancedPortal; -import com.sekwah.advancedportals.core.commands.subcommands.CreateSubCommand; import com.sekwah.advancedportals.core.data.DataTag; import com.sekwah.advancedportals.core.util.Lang; import com.sekwah.advancedportals.core.connector.container.CommandSenderContainer; import com.sekwah.advancedportals.core.connector.container.PlayerContainer; +import com.sekwah.advancedportals.core.util.TagReader; import java.util.ArrayList; import java.util.Arrays; import java.util.List; -public class CreatePortalSubCommand extends CreateSubCommand implements SubCommand { +public class CreatePortalSubCommand implements SubCommand { @Override public void onCommand(CommandSenderContainer sender, String[] args) { @@ -23,7 +23,7 @@ public class CreatePortalSubCommand extends CreateSubCommand implements SubComma sender.sendMessage(Lang.translateColor("messageprefix.negative") + Lang.translate("command.create.console")); return; } - ArrayList portalTags = this.getTagsFromArgs(args); + ArrayList portalTags = TagReader.getTagsFromArgs(args); AdvancedPortal portal = AdvancedPortalsCore.getPortalServices().createPortal(args[1], player, portalTags); if(portal != null) { @@ -41,14 +41,6 @@ public class CreatePortalSubCommand extends CreateSubCommand implements SubComma } } - protected String getTag(String arg) { - int splitLoc = arg.indexOf(":"); - if(splitLoc != -1) { - return arg.substring(0,splitLoc); - } - return null; - } - @Override public boolean hasPermission(CommandSenderContainer sender) { return sender.isOp() || sender.hasPermission("advancedportals.createportal"); diff --git a/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/CreateSubCommand.java b/src/main/java/com/sekwah/advancedportals/core/util/TagReader.java similarity index 73% rename from src/main/java/com/sekwah/advancedportals/core/commands/subcommands/CreateSubCommand.java rename to src/main/java/com/sekwah/advancedportals/core/util/TagReader.java index 2adcaf3..41b2038 100644 --- a/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/CreateSubCommand.java +++ b/src/main/java/com/sekwah/advancedportals/core/util/TagReader.java @@ -1,44 +1,51 @@ -package com.sekwah.advancedportals.core.commands.subcommands; - -import com.sekwah.advancedportals.core.data.DataTag; - -import java.util.ArrayList; - -public abstract class CreateSubCommand { - - protected ArrayList getTagsFromArgs(String[] args) { - ArrayList tags = new ArrayList<>(); - boolean partingValueWithSpaces = false; - String argBeingParsed = ""; - String currentParsedValue = ""; - for (int i = 1; i < args.length; i++) { - if(partingValueWithSpaces) { - if(args[i].charAt(args[i].length() - 1) == '"') { - args[i] = args[i].substring(0, args[i].length() - 1); - partingValueWithSpaces = false; - tags.add(new DataTag(argBeingParsed.toLowerCase(), currentParsedValue)); - } - else { - currentParsedValue += " " + args[i]; - } - } - else { - String detectedTag = this.getTag(args[i].toLowerCase()); - if(detectedTag != null) { - String arg = args[i].substring(detectedTag.length() + 1); - if(arg.length() > 0 && arg.charAt(0) == '"') { - argBeingParsed = detectedTag; - currentParsedValue = arg; - } - else { - tags.add(new DataTag(detectedTag.toLowerCase(), arg)); - } - } - } - } - return tags; - } - - - protected abstract String getTag(String arg); -} +package com.sekwah.advancedportals.core.util; + +import com.sekwah.advancedportals.core.data.DataTag; + +import java.util.ArrayList; + +public class TagReader { + + public static ArrayList getTagsFromArgs(String[] args) { + ArrayList tags = new ArrayList<>(); + boolean partingValueWithSpaces = false; + String argBeingParsed = ""; + String currentParsedValue = ""; + for (int i = 1; i < args.length; i++) { + if(partingValueWithSpaces) { + if(args[i].charAt(args[i].length() - 1) == '"') { + args[i] = args[i].substring(0, args[i].length() - 1); + partingValueWithSpaces = false; + tags.add(new DataTag(argBeingParsed.toLowerCase(), currentParsedValue)); + } + else { + currentParsedValue += " " + args[i]; + } + } + else { + String detectedTag = TagReader.getTag(args[i].toLowerCase()); + if(detectedTag != null) { + String arg = args[i].substring(detectedTag.length() + 1); + if(arg.length() > 0 && arg.charAt(0) == '"') { + argBeingParsed = detectedTag; + currentParsedValue = arg; + } + else { + tags.add(new DataTag(detectedTag.toLowerCase(), arg)); + } + } + } + } + return tags; + } + + + public static String getTag(String arg) { + int splitLoc = arg.indexOf(":"); + if(splitLoc != -1) { + return arg.substring(0,splitLoc); + } + return null; + } + +}