diff --git a/pom.xml b/pom.xml
index 28859ea1f..17854fa8d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,8 +11,8 @@
UTF-8
- 1.2.2-R0.1-SNAPSHOT
- 1.2.2-R0.1-SNAPSHOT
+ 1.2.3-R0.1-SNAPSHOT
+ 1.2.3-R0.1-SNAPSHOT
2.0-SNAPSHOT
Unknown
diff --git a/src/main/java/net/citizensnpcs/trait/text/Text.java b/src/main/java/net/citizensnpcs/trait/text/Text.java
index 59eae8d64..cbd486bb7 100644
--- a/src/main/java/net/citizensnpcs/trait/text/Text.java
+++ b/src/main/java/net/citizensnpcs/trait/text/Text.java
@@ -82,8 +82,8 @@ public class Text extends Trait implements Runnable, Toggleable {
public void begin() {
Messaging.send(player, "Entered the text editor!");
- new ConversationFactory(plugin).withFirstPrompt(startPrompt).withEscapeSequence("/npc text")
- .buildConversation(player).begin();
+ new ConversationFactory(plugin).withModality(false).withFirstPrompt(startPrompt).withEscapeSequence(
+ "/npc text").buildConversation(player).begin();
}
@Override
@@ -105,11 +105,15 @@ public class Text extends Trait implements Runnable, Toggleable {
text.set(index, newText);
}
+ public boolean hasIndex(int index) {
+ return text.size() > index;
+ }
+
public boolean sendPage(Player player, int page) {
Paginator paginator = new Paginator();
paginator.setHeaderText(npc.getName() + "'s Text Entries");
- for (String line : text)
- paginator.addLine(line);
+ for (int i = 0; i < text.size(); i++)
+ paginator.addLine("" + i + " <7>- " + text.get(i));
return paginator.sendPage(player, page);
}
diff --git a/src/main/java/net/citizensnpcs/trait/text/prompt/TextAddPrompt.java b/src/main/java/net/citizensnpcs/trait/text/prompt/TextAddPrompt.java
index e219b0da9..bed867294 100644
--- a/src/main/java/net/citizensnpcs/trait/text/prompt/TextAddPrompt.java
+++ b/src/main/java/net/citizensnpcs/trait/text/prompt/TextAddPrompt.java
@@ -3,6 +3,7 @@ package net.citizensnpcs.trait.text.prompt;
import net.citizensnpcs.trait.text.Text;
import net.citizensnpcs.util.StringHelper;
+import org.bukkit.ChatColor;
import org.bukkit.conversations.ConversationContext;
import org.bukkit.conversations.Prompt;
import org.bukkit.conversations.StringPrompt;
@@ -15,14 +16,14 @@ public class TextAddPrompt extends StringPrompt {
}
@Override
- public Prompt acceptInput(ConversationContext context, String string) {
- text.add(string);
- context.getForWhom().sendRawMessage(StringHelper.parseColors("Added the entry " + string + "."));
+ public Prompt acceptInput(ConversationContext context, String input) {
+ text.add(input);
+ context.getForWhom().sendRawMessage(StringHelper.parseColors("Added the entry " + input + "."));
return new StartPrompt(text);
}
@Override
public String getPromptText(ConversationContext context) {
- return "Enter text to add to the NPC.";
+ return ChatColor.GREEN + "Enter text to add to the NPC.";
}
}
\ No newline at end of file
diff --git a/src/main/java/net/citizensnpcs/trait/text/prompt/TextEditPrompt.java b/src/main/java/net/citizensnpcs/trait/text/prompt/TextEditPrompt.java
index 57a08514d..e754e7289 100644
--- a/src/main/java/net/citizensnpcs/trait/text/prompt/TextEditPrompt.java
+++ b/src/main/java/net/citizensnpcs/trait/text/prompt/TextEditPrompt.java
@@ -17,10 +17,10 @@ public class TextEditPrompt extends StringPrompt {
}
@Override
- public Prompt acceptInput(ConversationContext context, String string) {
- text.edit((Integer) context.getSessionData("index"), string);
+ public Prompt acceptInput(ConversationContext context, String input) {
+ text.edit((Integer) context.getSessionData("index"), input);
Messaging.send((Player) context.getForWhom(), "Changed entry at index " + context.getSessionData("index")
- + " to " + string + ".");
+ + " to " + input + ".");
return new StartPrompt(text);
}
diff --git a/src/main/java/net/citizensnpcs/trait/text/prompt/TextEditSelectIndexPrompt.java b/src/main/java/net/citizensnpcs/trait/text/prompt/TextEditSelectIndexPrompt.java
index ee705ebcd..566c779fd 100644
--- a/src/main/java/net/citizensnpcs/trait/text/prompt/TextEditSelectIndexPrompt.java
+++ b/src/main/java/net/citizensnpcs/trait/text/prompt/TextEditSelectIndexPrompt.java
@@ -18,16 +18,16 @@ public class TextEditSelectIndexPrompt extends NumericPrompt {
}
@Override
- public Prompt acceptValidatedInput(ConversationContext context, Number number) {
- context.setSessionData("index", number.intValue());
- Messaging.send((Player) context.getForWhom(), "Now editing the entry at index " + number.intValue()
- + ". Enter text to replace the entry with.");
+ public Prompt acceptValidatedInput(ConversationContext context, Number input) {
+ context.setSessionData("index", input.intValue());
+ Messaging.send((Player) context.getForWhom(), "Now editing the entry at index " + input.intValue()
+ + ".");
return new TextEditPrompt(text);
}
@Override
- public String getFailedValidationText(ConversationContext context, String invalidInput) {
- return ChatColor.RED + invalidInput + " is not a valid index!";
+ public String getFailedValidationText(ConversationContext context, String input) {
+ return ChatColor.RED + "'" + input + "' is not a valid index!";
}
@Override
@@ -36,4 +36,9 @@ public class TextEditSelectIndexPrompt extends NumericPrompt {
text.sendPage(player, 1);
return StringHelper.parseColors("Enter the index of the entry you wish to edit.");
}
+
+ @Override
+ public boolean isNumberValid(ConversationContext context, Number input) {
+ return text.hasIndex(input.intValue());
+ }
}
\ No newline at end of file
diff --git a/src/main/java/net/citizensnpcs/trait/text/prompt/TextRemovePrompt.java b/src/main/java/net/citizensnpcs/trait/text/prompt/TextRemovePrompt.java
index ecd015cb7..99d2bfaae 100644
--- a/src/main/java/net/citizensnpcs/trait/text/prompt/TextRemovePrompt.java
+++ b/src/main/java/net/citizensnpcs/trait/text/prompt/TextRemovePrompt.java
@@ -2,7 +2,6 @@ package net.citizensnpcs.trait.text.prompt;
import net.citizensnpcs.trait.text.Text;
import net.citizensnpcs.util.Messaging;
-import net.citizensnpcs.util.StringHelper;
import org.bukkit.ChatColor;
import org.bukkit.conversations.ConversationContext;
@@ -18,22 +17,27 @@ public class TextRemovePrompt extends NumericPrompt {
}
@Override
- public Prompt acceptValidatedInput(ConversationContext context, Number number) {
- int index = number.intValue();
+ public Prompt acceptValidatedInput(ConversationContext context, Number input) {
+ int index = input.intValue();
text.remove(index);
Messaging.send((Player) context.getForWhom(), "Removed entry at index " + index + ".");
return new StartPrompt(text);
}
@Override
- public String getFailedValidationText(ConversationContext context, String invalidInput) {
- return ChatColor.RED + invalidInput + " is not a valid index!";
+ public String getFailedValidationText(ConversationContext context, String input) {
+ return ChatColor.RED + "'" + input + "' is not a valid index!";
}
@Override
public String getPromptText(ConversationContext context) {
Player player = (Player) context.getForWhom();
text.sendPage(player, 1);
- return StringHelper.parseColors("Enter the index of the entry you wish to remove.");
+ return ChatColor.GREEN + "Enter the index of the entry you wish to remove.";
+ }
+
+ @Override
+ public boolean isNumberValid(ConversationContext context, Number input) {
+ return text.hasIndex(input.intValue());
}
}
\ No newline at end of file