feat: 添加配置初始化 根据Tellraw数据发送不同消息
Signed-off-by: 502647092 <admin@yumc.pw>merge/1/MERGE
parent
b4d7f14d49
commit
fffe3156a2
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -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");
|
||||||
|
|
Loading…
Reference in New Issue