feat: 添加配置初始化 根据Tellraw数据发送不同消息

Signed-off-by: 502647092 <admin@yumc.pw>
merge/1/MERGE
502647092 2016-11-03 20:31:54 +08:00
parent b4d7f14d49
commit fffe3156a2
2 changed files with 22 additions and 14 deletions

View File

@ -1,9 +1,9 @@
package pw.yumc.YumCore.config.inject; package pw.yumc.YumCore.config.inject;
import java.io.File;
import pw.yumc.YumCore.config.FileConfig; import pw.yumc.YumCore.config.FileConfig;
import java.io.File;
/** /**
* *
* *
@ -24,6 +24,7 @@ public abstract class InjectConfig extends AbstractInjectConfig {
public InjectConfig(FileConfig config) { public InjectConfig(FileConfig config) {
this.config = config; this.config = config;
inject(config); inject(config);
init();
} }
public InjectConfig(String name) { public InjectConfig(String name) {
@ -39,12 +40,19 @@ public abstract class InjectConfig extends AbstractInjectConfig {
return config; return config;
} }
/**
* ()
*/
public void init() {
}
/** /**
* *
*/ */
public void reload() { public void reload() {
config.reload(); config.reload();
inject(config); inject(config);
init();
} }
/** /**

View File

@ -1,19 +1,18 @@
package pw.yumc.YumCore.tellraw; package pw.yumc.YumCore.tellraw;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import pw.yumc.YumCore.bukkit.Log; import pw.yumc.YumCore.bukkit.Log;
import pw.yumc.YumCore.bukkit.P; import pw.yumc.YumCore.bukkit.P;
import pw.yumc.YumCore.bukkit.compatible.C; import pw.yumc.YumCore.bukkit.compatible.C;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/** /**
* TellRaw * TellRaw
* *
@ -22,7 +21,9 @@ import pw.yumc.YumCore.bukkit.compatible.C;
*/ */
public class Tellraw { public class Tellraw {
static boolean isPaper = Bukkit.getVersion().contains("Paper"); static boolean isPaper = Bukkit.getVersion().contains("Paper");
List<MessagePart> messageParts = new ArrayList<>(); private List<MessagePart> messageParts = new ArrayList<>();
private String json = null;
private String oldjson = null;
public Tellraw(String text) { public Tellraw(String text) {
messageParts.add(new MessagePart(text)); messageParts.add(new MessagePart(text));
@ -161,16 +162,17 @@ public class Tellraw {
* *
*/ */
public void send(final CommandSender sender) { public void send(final CommandSender sender) {
if (sender instanceof Player) { final String json = toJsonString();
if (sender instanceof Player && json.getBytes().length < 32000) {
if (isPaper && !Bukkit.isPrimaryThread()) { if (isPaper && !Bukkit.isPrimaryThread()) {
Bukkit.getScheduler().runTask(P.instance, new Runnable() { Bukkit.getScheduler().runTask(P.instance, new Runnable() {
@Override @Override
public void run() { public void run() {
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "tellraw " + sender.getName() + " " + toJsonString()); Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "tellraw " + sender.getName() + " " + json);
} }
}); });
} else { } else {
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "tellraw " + sender.getName() + " " + toJsonString()); Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "tellraw " + sender.getName() + " " + json);
} }
} else { } else {
sender.sendMessage(toOldMessageFormat()); sender.sendMessage(toOldMessageFormat());
@ -258,9 +260,7 @@ public class Tellraw {
* @return {@link Tellraw} * @return {@link Tellraw}
*/ */
public Tellraw tip(List<String> texts) { public Tellraw tip(List<String> texts) {
if (texts.isEmpty()) { if (texts.isEmpty()) { return this; }
return this;
}
StringBuilder text = new StringBuilder(); StringBuilder text = new StringBuilder();
for (String t : texts) { for (String t : texts) {
text.append(t).append("\n"); text.append(t).append("\n");