mirror of
https://github.com/zDevelopers/ImageOnMap.git
synced 2025-02-11 09:01:28 +01:00
refactor of rename command
This commit is contained in:
parent
637fc6f15c
commit
cbb03e7827
@ -53,6 +53,43 @@ public abstract class IoMCommand extends Command {
|
||||
return getMapFromArgs(playerSender(), 0, true);
|
||||
}
|
||||
|
||||
protected ArrayList<String> getArgs() {
|
||||
ArrayList<String> arguments = new ArrayList<>();
|
||||
|
||||
//State of the automaton, can read word like:
|
||||
//name_here; "name here"
|
||||
int state = 0;
|
||||
StringBuilder s = new StringBuilder();
|
||||
for (String arg : args) {
|
||||
switch (state) {
|
||||
case 0:
|
||||
if (arg.startsWith("\"")) {
|
||||
state = 1;
|
||||
arg = arg.substring(1);
|
||||
|
||||
s = s.append(arg);
|
||||
} else {
|
||||
arguments.add(arg.toString());
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (arg.endsWith("\"")) {
|
||||
arg = arg.substring(0, arg.length() - 1);
|
||||
s = s.append(" " + arg);
|
||||
arguments.add(s.toString());
|
||||
s = new StringBuilder();
|
||||
state = 0;
|
||||
} else {
|
||||
s = s.append(" " + arg);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
throw new IllegalStateException("Unexpected value: " + state);
|
||||
}
|
||||
}
|
||||
return arguments;
|
||||
}
|
||||
|
||||
//TODO:Add the quote system to zlib and refactor this
|
||||
protected ImageMap getMapFromArgs(Player player, int index) throws CommandException {
|
||||
if (args.length <= index) {
|
||||
|
@ -25,7 +25,6 @@ import fr.moribus.imageonmap.map.MapManager;
|
||||
import fr.zcraft.quartzlib.components.commands.CommandException;
|
||||
import fr.zcraft.quartzlib.components.commands.CommandInfo;
|
||||
import fr.zcraft.quartzlib.components.i18n.I;
|
||||
import fr.zcraft.quartzlib.tools.PluginLogger;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import org.bukkit.command.CommandSender;
|
||||
@ -33,52 +32,6 @@ import org.bukkit.command.CommandSender;
|
||||
@CommandInfo(name = "rename", usageParameters = "<original map name> <new map name>")
|
||||
public class RenameCommand extends IoMCommand {
|
||||
|
||||
private ArrayList<String> getArgs() {
|
||||
ArrayList<String> arguments = new ArrayList<>();
|
||||
|
||||
//State of the automaton, can read word like:
|
||||
//name_here; "name here"
|
||||
int state = 0;
|
||||
StringBuilder s = new StringBuilder();
|
||||
for (String arg : args) {
|
||||
|
||||
PluginLogger.info("arg " + arg);
|
||||
switch (state) {
|
||||
case 0:
|
||||
if (arg.startsWith("\"")) {
|
||||
PluginLogger.info("start with ");
|
||||
state = 1;
|
||||
arg = arg.substring(1);
|
||||
|
||||
s = s.append(arg);
|
||||
} else {
|
||||
PluginLogger.info("not start with ");
|
||||
arguments.add(arg.toString());
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (arg.endsWith("\"")) {
|
||||
PluginLogger.info("end with ");
|
||||
arg = arg.substring(0, arg.length() - 1);
|
||||
s = s.append(" " + arg);
|
||||
arguments.add(s.toString());
|
||||
s = new StringBuilder();
|
||||
state = 0;
|
||||
} else {
|
||||
PluginLogger.info("not end with ");
|
||||
s = s.append(" " + arg);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
throw new IllegalStateException("Unexpected value: " + state);
|
||||
}
|
||||
//arguments.add(arg.toString());
|
||||
|
||||
|
||||
}
|
||||
return arguments;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void run() throws CommandException {
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user