Removes some redundancy between commands
This commit is contained in:
		| @@ -4,32 +4,28 @@ import net.knarcraft.paidsigns.PaidSigns; | ||||
| import net.knarcraft.paidsigns.container.PaidSign; | ||||
| import net.knarcraft.paidsigns.manager.PaidSignManager; | ||||
| import net.knarcraft.paidsigns.property.OptionState; | ||||
| import net.knarcraft.paidsigns.utility.Tokenizer; | ||||
| import org.bukkit.command.Command; | ||||
| import org.bukkit.command.CommandExecutor; | ||||
| import org.bukkit.command.CommandSender; | ||||
| import org.jetbrains.annotations.NotNull; | ||||
|  | ||||
| import java.io.IOException; | ||||
| import java.util.Arrays; | ||||
| import java.util.List; | ||||
| import java.util.logging.Level; | ||||
| import java.util.logging.Logger; | ||||
|  | ||||
| /** | ||||
|  * A representation of the command for adding a new paid sign | ||||
|  */ | ||||
| public class AddCommand implements CommandExecutor { | ||||
| public class AddCommand extends TokenizedCommand { | ||||
|  | ||||
|     @Override | ||||
|     public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, | ||||
|                              @NotNull String[] args) { | ||||
|         super.onCommand(sender, command, label, args); | ||||
|         if (args.length < 3) { | ||||
|             return false; | ||||
|         } | ||||
|         PaidSignManager manager = PaidSigns.getInstance().getSignManager(); | ||||
|         List<String> arguments = Tokenizer.tokenize(String.join(" ", args)); | ||||
|         int argumentSize = args[args.length - 1].isEmpty() ? arguments.size() : arguments.size() - 1; | ||||
|  | ||||
|         String signName = arguments.get(0); | ||||
|         double cost; | ||||
|   | ||||
| @@ -3,23 +3,18 @@ package net.knarcraft.paidsigns.command; | ||||
| import net.knarcraft.paidsigns.PaidSigns; | ||||
| import net.knarcraft.paidsigns.container.PaidSign; | ||||
| import net.knarcraft.paidsigns.property.OptionState; | ||||
| import net.knarcraft.paidsigns.utility.Tokenizer; | ||||
| import org.bukkit.command.Command; | ||||
| import org.bukkit.command.CommandExecutor; | ||||
| import org.bukkit.command.CommandSender; | ||||
| import org.jetbrains.annotations.NotNull; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| /** | ||||
|  * A representation of the command for adding a new match condition for a sign | ||||
|  */ | ||||
| public class AddConditionCommand implements CommandExecutor { | ||||
| public class AddConditionCommand extends TokenizedCommand { | ||||
|  | ||||
|     @Override | ||||
|     public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { | ||||
|         List<String> arguments = Tokenizer.tokenize(String.join(" ", args)); | ||||
|         int argumentSize = args[args.length - 1].isEmpty() ? arguments.size() : arguments.size() - 1; | ||||
|         super.onCommand(sender, command, label, args); | ||||
|         if (argumentSize < 3) { | ||||
|             return false; | ||||
|         } | ||||
|   | ||||
| @@ -1,14 +1,14 @@ | ||||
| package net.knarcraft.paidsigns.command; | ||||
|  | ||||
| import org.bukkit.command.Command; | ||||
| import org.bukkit.command.CommandExecutor; | ||||
| import org.bukkit.command.CommandSender; | ||||
| import org.jetbrains.annotations.NotNull; | ||||
|  | ||||
| public class ListCommand implements CommandExecutor { | ||||
| public class ListCommand extends TokenizedCommand { | ||||
|  | ||||
|     @Override | ||||
|     public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { | ||||
|         super.onCommand(sender, command, label, args); | ||||
|         //TODO: If no argument is given, list all paid sign names | ||||
|         //TODO: If an argument is given, output extensive information about the sign | ||||
|         return false; | ||||
|   | ||||
| @@ -1,14 +1,14 @@ | ||||
| package net.knarcraft.paidsigns.command; | ||||
|  | ||||
| import org.bukkit.command.Command; | ||||
| import org.bukkit.command.CommandExecutor; | ||||
| import org.bukkit.command.CommandSender; | ||||
| import org.jetbrains.annotations.NotNull; | ||||
|  | ||||
| public class ListConditionsCommand implements CommandExecutor { | ||||
| public class ListConditionsCommand extends TokenizedCommand { | ||||
|  | ||||
|     @Override | ||||
|     public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { | ||||
|         super.onCommand(sender, command, label, args); | ||||
|         //TODO: If a paid sign name is given, print a short overview over the conditions | ||||
|         //TODO: If a paid sign name and a line is given, display everything about the condition | ||||
|         return false; | ||||
|   | ||||
| @@ -2,23 +2,18 @@ package net.knarcraft.paidsigns.command; | ||||
|  | ||||
| import net.knarcraft.paidsigns.PaidSigns; | ||||
| import net.knarcraft.paidsigns.container.PaidSign; | ||||
| import net.knarcraft.paidsigns.utility.Tokenizer; | ||||
| import org.bukkit.command.Command; | ||||
| import org.bukkit.command.CommandExecutor; | ||||
| import org.bukkit.command.CommandSender; | ||||
| import org.jetbrains.annotations.NotNull; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| /** | ||||
|  * A representation of the command for removing a condition from a sign | ||||
|  */ | ||||
| public class RemoveConditionCommand implements CommandExecutor { | ||||
| public class RemoveConditionCommand extends TokenizedCommand { | ||||
|  | ||||
|     @Override | ||||
|     public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { | ||||
|         List<String> arguments = Tokenizer.tokenize(String.join(" ", args)); | ||||
|         int argumentSize = args[args.length - 1].isEmpty() ? arguments.size() : arguments.size() - 1; | ||||
|         super.onCommand(sender, command, label, args); | ||||
|         if (argumentSize < 2) { | ||||
|             return false; | ||||
|         } | ||||
|   | ||||
| @@ -0,0 +1,26 @@ | ||||
| package net.knarcraft.paidsigns.command; | ||||
|  | ||||
| import net.knarcraft.paidsigns.utility.Tokenizer; | ||||
| import org.bukkit.command.Command; | ||||
| import org.bukkit.command.CommandExecutor; | ||||
| import org.bukkit.command.CommandSender; | ||||
| import org.jetbrains.annotations.NotNull; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| /** | ||||
|  * A command executor with tokenized arguments | ||||
|  */ | ||||
| public class TokenizedCommand implements CommandExecutor { | ||||
|  | ||||
|     protected List<String> arguments; | ||||
|     protected int argumentSize; | ||||
|  | ||||
|     @Override | ||||
|     public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { | ||||
|         arguments = Tokenizer.tokenize(String.join(" ", args)); | ||||
|         argumentSize = args[args.length - 1].isEmpty() ? arguments.size() : arguments.size() - 1; | ||||
|         return true; | ||||
|     } | ||||
|  | ||||
| } | ||||
		Reference in New Issue
	
	Block a user