feat: 补全Doc 添加静态创建方法

Signed-off-by: 502647092 <admin@yumc.pw>
merge/1/MERGE
502647092 2016-08-11 01:00:02 +08:00
parent ffd2d25db6
commit 66324bd307
1 changed files with 61 additions and 4 deletions

View File

@ -17,11 +17,52 @@ import org.bukkit.entity.Player;
public class Tellraw {
List<MessagePart> messageParts = new ArrayList<>();
public Tellraw() {
this("");
}
public Tellraw(final String text) {
then("text");
}
/**
* Tellraw
*
* @return {@link Tellraw}
*/
public static Tellraw create() {
return new Tellraw();
}
/**
* Tellraw
*
* @param text
*
* @return {@link Tellraw}
*/
public static Tellraw create(final String text) {
return new Tellraw(text);
}
/**
*
*
* @param command
*
* @return {@link Tellraw}
*/
public Tellraw command(final String command) {
onClick("run_command", command);
return this;
}
/**
* Tellraw
*
* @param sender
*
*/
public void send(final CommandSender sender) {
if (sender instanceof Player) {
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "tellraw " + sender.getName() + " " + toJsonString());
@ -30,6 +71,13 @@ public class Tellraw {
}
}
/**
*
*
* @param command
*
* @return {@link Tellraw}
*/
public Tellraw suggest(final String command) {
onClick("suggest_command", command);
return this;
@ -43,9 +91,6 @@ public class Tellraw {
* @return {@link Tellraw}
*/
public Tellraw then(final MessagePart part) {
if (!latest().hasText()) {
throw new IllegalStateException("previous message part has no text");
}
messageParts.add(part);
return this;
}
@ -62,11 +107,23 @@ public class Tellraw {
return this;
}
/**
*
*
* @param text
*
* @return {@link Tellraw}
*/
public Tellraw tip(final String text) {
onHover("show_text", text);
return this;
}
/**
* Json
*
* @return Json
*/
public String toJsonString() {
final StringBuffer msg = new StringBuffer();
msg.append("[\"\"");
@ -99,7 +156,7 @@ public class Tellraw {
public String toOldMessageFormat() {
final StringBuilder result = new StringBuilder();
for (final MessagePart part : messageParts) {
result.append(part.text);
result.append(ChatColor.stripColor(part.text));
}
return result.toString();
}