feat: 完成 Paper 26.1 适配并整理配置结构

This commit is contained in:
2026-04-24 04:37:57 +08:00
parent 33ca8abd2a
commit 00aa10a44e
39 changed files with 2345 additions and 849 deletions
@@ -1,55 +1,57 @@
package cn.infstar.essentialsC.commands;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;
public class SeenCommand extends BaseCommand {
public SeenCommand() {
super("essentialsc.command.seen");
}
@Override
protected boolean execute(@NotNull Player player, String[] args) {
protected boolean execute(Player player, String[] args) {
if (args.length == 0) {
player.sendMessage(getLang().getString("messages.seen-usage"));
player.sendMessage(getLang().getPrefixedString("messages.seen-usage"));
return true;
}
OfflinePlayer target = Bukkit.getOfflinePlayer(args[0]);
if (!target.hasPlayedBefore() && !target.isOnline()) {
player.sendMessage(getLang().getString("messages.player-not-found", Map.of("player", args[0])));
player.sendMessage(getLang().getPrefixedString("messages.player-not-found", Map.of("player", args[0])));
return true;
}
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
StringBuilder info = new StringBuilder();
info.append("§6========== §e玩家信息 §6==========\n");
info.append("§7玩家名称: §f").append(target.getName()).append("\n");
info.append(getLang().getPrefix()).append(ChatColor.GOLD).append("Player info: ")
.append(ChatColor.WHITE).append(target.getName()).append("\n");
if (target.isOnline()) {
info.append("§7状态: §a在线\n");
info.append(ChatColor.GRAY).append("Status: ").append(ChatColor.GREEN).append("Online").append("\n");
Player onlinePlayer = target.getPlayer();
if (onlinePlayer != null) {
info.append("§7所在世界: §f").append(onlinePlayer.getWorld().getName()).append("\n");
info.append(ChatColor.GRAY).append("World: ").append(ChatColor.WHITE)
.append(onlinePlayer.getWorld().getName()).append("\n");
}
} else {
info.append("§7状态: §c离线\n");
info.append(ChatColor.GRAY).append("Status: ").append(ChatColor.RED).append("Offline").append("\n");
long lastSeen = target.getLastSeen();
if (lastSeen > 0) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
info.append("§7最后上线: §f").append(sdf.format(new Date(lastSeen))).append("\n");
info.append(ChatColor.GRAY).append("Last seen: ").append(ChatColor.WHITE)
.append(format.format(new Date(lastSeen))).append("\n");
}
}
info.append("§7首次加入: §f").append(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(target.getFirstPlayed()))).append("\n");
info.append("§6=============================");
info.append(ChatColor.GRAY).append("First joined: ").append(ChatColor.WHITE)
.append(format.format(new Date(target.getFirstPlayed())));
player.sendMessage(info.toString());
return true;
}