Skip to content

Commit

Permalink
Allow , and : to be used for --at
Browse files Browse the repository at this point in the history
  • Loading branch information
fullwall committed Jul 30, 2013
1 parent 657b727 commit 5406251
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 11 deletions.
Expand Up @@ -265,7 +265,7 @@ public boolean matches(String command) {
}

public static Location parseLocation(Location currentLocation, String flag) throws CommandException {
String[] parts = Iterables.toArray(Splitter.on(':').omitEmptyStrings().split(flag), String.class);
String[] parts = Iterables.toArray(Splitter.on(LOCATION_SPLITTER).omitEmptyStrings().split(flag), String.class);
if (parts.length > 0) {
String worldName = currentLocation != null ? currentLocation.getWorld().getName() : "";
int x = 0, y = 0, z = 0;
Expand Down Expand Up @@ -298,5 +298,6 @@ public static Location parseLocation(Location currentLocation, String flag) thro
}

private static final Pattern FLAG = Pattern.compile("^-[a-zA-Z]+$");
private static final Pattern LOCATION_SPLITTER = Pattern.compile("[,]|[:]");
private static final Pattern VALUE_FLAG = Pattern.compile("^--[a-zA-Z0-9]+$");
}
17 changes: 7 additions & 10 deletions src/main/java/net/citizensnpcs/api/npc/AbstractNPC.java
Expand Up @@ -213,15 +213,16 @@ public DataKey apply(@Nullable String input) {
Trait trait;
if (hasTrait(clazz)) {
trait = getTrait(clazz);
loadTrait(trait, traitKey);
} else {
trait = CitizensAPI.getTraitFactory().getTrait(clazz);
if (trait == null) {
Messaging.severeTr("citizens.notifications.trait-load-failed", traitKey.name(), getId());
continue;
}
loadTrait(trait, traitKey);
addTrait(trait);
}
loadTrait(trait, traitKey);
}
}

Expand All @@ -247,17 +248,10 @@ public void removeTrait(Class<? extends Trait> traitClass) {
}
}

private void removeTraitData(DataKey root) {
for (String name : removedTraits) {
root.removeKey("traits." + name);
}
removedTraits.clear();
}

@Override
public void save(DataKey root) {
root.setString("name", getFullName());
metadata.saveTo(root.getRelative("metadata"));
root.setString("name", getFullName());

// Save all existing traits
StringBuilder traitNames = new StringBuilder();
Expand All @@ -272,7 +266,10 @@ public void save(DataKey root) {
root.setString("traitnames", traitNames.substring(0, traitNames.length() - 1));
} else
root.setString("traitnames", "");
removeTraitData(root);
for (String name : removedTraits) {
root.removeKey("traits." + name);
}
removedTraits.clear();
}

@Override
Expand Down

0 comments on commit 5406251

Please sign in to comment.