From a390b067cd2ce441834ee114ba71fdae5b30d55a Mon Sep 17 00:00:00 2001 From: MiniDay <372403923@qq.com> Date: Mon, 4 Mar 2024 15:39:56 +0800 Subject: [PATCH] =?UTF-8?q?build(hamster-tpa):=20=E7=A7=BB=E9=99=A4=20hams?= =?UTF-8?q?ter-tpa=20=E9=A1=B9=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hamster-tpa/build.gradle | 7 -- .../mc/plugin/tpa/HamsterTPAPlugin.java | 35 ------ .../mc/plugin/tpa/command/TPACommand.java | 102 ------------------ .../plugin/tpa/command/TPAcceptCommand.java | 63 ----------- .../mc/plugin/tpa/command/TPDenyCommand.java | 71 ------------ .../mc/plugin/tpa/config/ConfigManager.java | 33 ------ .../mc/plugin/tpa/core/DataManager.java | 57 ---------- .../hamster3/mc/plugin/tpa/core/Message.java | 62 ----------- .../mc/plugin/tpa/listener/MainListener.java | 52 --------- .../mc/plugin/tpa/thread/TimeoutThread.java | 41 ------- hamster-tpa/src/main/resources/config.yml | 33 ------ hamster-tpa/src/main/resources/plugin.yml | 25 ----- settings.gradle | 1 - 13 files changed, 582 deletions(-) delete mode 100644 hamster-tpa/build.gradle delete mode 100644 hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/HamsterTPAPlugin.java delete mode 100644 hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/command/TPACommand.java delete mode 100644 hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/command/TPAcceptCommand.java delete mode 100644 hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/command/TPDenyCommand.java delete mode 100644 hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/config/ConfigManager.java delete mode 100644 hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/core/DataManager.java delete mode 100644 hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/core/Message.java delete mode 100644 hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/listener/MainListener.java delete mode 100644 hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/thread/TimeoutThread.java delete mode 100644 hamster-tpa/src/main/resources/config.yml delete mode 100644 hamster-tpa/src/main/resources/plugin.yml diff --git a/hamster-tpa/build.gradle b/hamster-tpa/build.gradle deleted file mode 100644 index b854ecb..0000000 --- a/hamster-tpa/build.gradle +++ /dev/null @@ -1,7 +0,0 @@ -version = '1.1.1' -setArchivesBaseName("HamsterTPA") - -dependencies { - compileOnly "cn.hamster3.mc.plugin:core-bukkit:${hamster_core_version}" - compileOnly "cn.hamster3.mc.plugin:ball-bukkit:${hamster_ball_version}" -} diff --git a/hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/HamsterTPAPlugin.java b/hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/HamsterTPAPlugin.java deleted file mode 100644 index a28c3d1..0000000 --- a/hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/HamsterTPAPlugin.java +++ /dev/null @@ -1,35 +0,0 @@ -package cn.hamster3.mc.plugin.tpa; - -import cn.hamster3.mc.plugin.ball.common.api.BallAPI; -import cn.hamster3.mc.plugin.tpa.command.TPACommand; -import cn.hamster3.mc.plugin.tpa.command.TPAcceptCommand; -import cn.hamster3.mc.plugin.tpa.command.TPDenyCommand; -import cn.hamster3.mc.plugin.tpa.config.ConfigManager; -import cn.hamster3.mc.plugin.tpa.core.DataManager; -import cn.hamster3.mc.plugin.tpa.listener.MainListener; -import org.bukkit.plugin.java.JavaPlugin; - -public class HamsterTPAPlugin extends JavaPlugin { - public static final String BALL_CHANNEL = "HamsterTPA"; - private static HamsterTPAPlugin instance; - - public static HamsterTPAPlugin getInstance() { - return instance; - } - - @Override - public void onLoad() { - instance = this; - ConfigManager.init(); - DataManager.init(); - } - - @Override - public void onEnable() { - TPACommand.INSTANCE.register(); - TPAcceptCommand.INSTANCE.register(); - TPDenyCommand.INSTANCE.register(); - BallAPI.getInstance().getEventBus().register(MainListener.INSTANCE); - BallAPI.getInstance().subscribe(BALL_CHANNEL); - } -} diff --git a/hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/command/TPACommand.java b/hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/command/TPACommand.java deleted file mode 100644 index e49207b..0000000 --- a/hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/command/TPACommand.java +++ /dev/null @@ -1,102 +0,0 @@ -package cn.hamster3.mc.plugin.tpa.command; - -import cn.hamster3.mc.plugin.ball.common.api.BallAPI; -import cn.hamster3.mc.plugin.ball.common.entity.BallPlayerInfo; -import cn.hamster3.mc.plugin.core.bukkit.command.ParentCommand; -import cn.hamster3.mc.plugin.core.bukkit.constant.CoreMessage; -import cn.hamster3.mc.plugin.core.common.api.CoreAPI; -import cn.hamster3.mc.plugin.core.lib.net.kyori.adventure.text.TextReplacementConfig; -import cn.hamster3.mc.plugin.tpa.HamsterTPAPlugin; -import cn.hamster3.mc.plugin.tpa.config.ConfigManager; -import cn.hamster3.mc.plugin.tpa.core.DataManager; -import cn.hamster3.mc.plugin.tpa.core.Message; -import cn.hamster3.mc.plugin.tpa.thread.TimeoutThread; -import org.bukkit.command.Command; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.jetbrains.annotations.NotNull; - -import java.util.Collections; -import java.util.List; -import java.util.UUID; -import java.util.concurrent.TimeUnit; -import java.util.stream.Collectors; - -public final class TPACommand extends ParentCommand { - public static final TPACommand INSTANCE = new TPACommand(); - - private TPACommand() { - super("hamster-tpa"); - } - - @Override - public @NotNull JavaPlugin getPlugin() { - return HamsterTPAPlugin.getInstance(); - } - - @Override - public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) { - if (!(sender instanceof Player)) { - CoreMessage.COMMAND_MUST_USED_BY_PLAYER.show(sender); - return true; - } - Player player = (Player) sender; - UUID uuid = player.getUniqueId(); - if (args.length < 1) { - Message.TPA_NOT_INPUT_PLAYER_NAME.show(sender); - return true; - } - long now = System.currentTimeMillis(); - long cdTime = DataManager.getPlayerUseTime(uuid) + ConfigManager.getTpaCD(); - if (cdTime >= now) { - Message.TPA_IN_CD.show(player, TextReplacementConfig.builder() - .matchLiteral("%cd_time%") - .replacement(String.valueOf((cdTime - now) / 1000)) - .build()); - return true; - } - BallPlayerInfo playerInfo = BallAPI.getInstance().getPlayerInfo(args[0]); - if (playerInfo == null) { - Message.TPA_TARGET_PLAYER_NOT_ONLINE.show(player); - return true; - } - if (!playerInfo.isOnline()) { - Message.TPA_TARGET_PLAYER_NOT_ONLINE.show(player); - return true; - } - DataManager.setPlayerUseTime(uuid, now, true); - DataManager.sendTPA(uuid, playerInfo.getUuid(), now, true); - Message.TPA_SEND_SUCCESS.show(sender, TextReplacementConfig.builder() - .matchLiteral("%player_name%") - .replacement(playerInfo.getName()) - .build()); - BallAPI.getInstance().sendMessageToPlayer( - playerInfo.getUuid(), - Message.TPA_RECEIVED.getMessage().replace(TextReplacementConfig.builder() - .matchLiteral("%player_name%") - .replacement(player.getName()) - .build()), - false); - CoreAPI.getInstance().getScheduledService().schedule( - new TimeoutThread(uuid, playerInfo.getUuid()), - ConfigManager.getTimeout(), - TimeUnit.MILLISECONDS - ); - return true; - } - - @Override - public List onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, String[] args) { - if (args.length == 1) { - String lowerCase = args[0].toLowerCase(); - return BallAPI.getInstance().getAllPlayerInfo().values() - .stream() - .filter(BallPlayerInfo::isOnline) - .map(BallPlayerInfo::getName) - .filter(name -> name.toLowerCase().startsWith(lowerCase)) - .collect(Collectors.toList()); - } - return Collections.emptyList(); - } -} diff --git a/hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/command/TPAcceptCommand.java b/hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/command/TPAcceptCommand.java deleted file mode 100644 index dbafdf6..0000000 --- a/hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/command/TPAcceptCommand.java +++ /dev/null @@ -1,63 +0,0 @@ -package cn.hamster3.mc.plugin.tpa.command; - -import cn.hamster3.mc.plugin.ball.common.api.BallAPI; -import cn.hamster3.mc.plugin.core.bukkit.command.ParentCommand; -import cn.hamster3.mc.plugin.core.bukkit.constant.CoreMessage; -import cn.hamster3.mc.plugin.tpa.HamsterTPAPlugin; -import cn.hamster3.mc.plugin.tpa.config.ConfigManager; -import cn.hamster3.mc.plugin.tpa.core.DataManager; -import cn.hamster3.mc.plugin.tpa.core.Message; -import org.bukkit.command.Command; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.jetbrains.annotations.NotNull; - -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.UUID; -import java.util.stream.Collectors; - -public final class TPAcceptCommand extends ParentCommand { - public static final TPAcceptCommand INSTANCE = new TPAcceptCommand(); - - private TPAcceptCommand() { - super("hamster-tpaccept"); - } - - @Override - public @NotNull JavaPlugin getPlugin() { - return HamsterTPAPlugin.getInstance(); - } - - @Override - public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) { - if (!(sender instanceof Player)) { - CoreMessage.COMMAND_MUST_USED_BY_PLAYER.show(sender); - return true; - } - Player player = (Player) sender; - UUID uuid = player.getUniqueId(); - long now = System.currentTimeMillis(); - List list = DataManager.getPlayerReceivedTpa(uuid).entrySet() - .stream() - .filter(o -> o.getValue() + ConfigManager.getTimeout() >= now) - .map(Map.Entry::getKey) - .collect(Collectors.toList()); - if (list.isEmpty()) { - Message.RECEIVED_TPA_LIST_IS_EMPTY.show(sender); - return true; - } - BallAPI.getInstance().sendPlayerToPlayer(list, uuid, - Message.TPA_SUCCESS.getMessage(), - Message.TPA_ACCEPT_SUCCESS.getMessage()); - DataManager.clearTPAList(uuid, true); - return true; - } - - @Override - public List onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, String[] args) { - return Collections.emptyList(); - } -} diff --git a/hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/command/TPDenyCommand.java b/hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/command/TPDenyCommand.java deleted file mode 100644 index 85bee87..0000000 --- a/hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/command/TPDenyCommand.java +++ /dev/null @@ -1,71 +0,0 @@ -package cn.hamster3.mc.plugin.tpa.command; - -import cn.hamster3.mc.plugin.ball.common.api.BallAPI; -import cn.hamster3.mc.plugin.core.bukkit.command.ParentCommand; -import cn.hamster3.mc.plugin.core.bukkit.constant.CoreMessage; -import cn.hamster3.mc.plugin.core.lib.net.kyori.adventure.text.TextReplacementConfig; -import cn.hamster3.mc.plugin.tpa.HamsterTPAPlugin; -import cn.hamster3.mc.plugin.tpa.config.ConfigManager; -import cn.hamster3.mc.plugin.tpa.core.DataManager; -import cn.hamster3.mc.plugin.tpa.core.Message; -import org.bukkit.command.Command; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.jetbrains.annotations.NotNull; - -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.UUID; -import java.util.stream.Collectors; - -public final class TPDenyCommand extends ParentCommand { - public static final TPDenyCommand INSTANCE = new TPDenyCommand(); - - private TPDenyCommand() { - super("hamster-tpdeny"); - } - - @Override - public @NotNull JavaPlugin getPlugin() { - return HamsterTPAPlugin.getInstance(); - } - - @Override - public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) { - if (!(sender instanceof Player)) { - CoreMessage.COMMAND_MUST_USED_BY_PLAYER.show(sender); - return true; - } - Player player = (Player) sender; - UUID uuid = player.getUniqueId(); - long now = System.currentTimeMillis(); - List list = DataManager.getPlayerReceivedTpa(uuid).entrySet() - .stream() - .filter(o -> o.getValue() + ConfigManager.getTimeout() >= now) - .map(Map.Entry::getKey) - .collect(Collectors.toList()); - if (list.isEmpty()) { - Message.RECEIVED_TPA_LIST_IS_EMPTY.show(sender); - return true; - } - for (UUID requireUUID : list) { - DataManager.setPlayerUseTime(requireUUID, 0, true); - BallAPI.getInstance().sendMessageToPlayer(requireUUID, - Message.TPA_DENIED.getMessage().replace(TextReplacementConfig.builder() - .matchLiteral("%player_name%") - .replacement(player.getName()) - .build()), - false); - } - DataManager.clearTPAList(uuid, true); - Message.TPA_DENY_SUCCESS.show(player); - return true; - } - - @Override - public List onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, String[] args) { - return Collections.emptyList(); - } -} diff --git a/hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/config/ConfigManager.java b/hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/config/ConfigManager.java deleted file mode 100644 index 0bb9ce8..0000000 --- a/hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/config/ConfigManager.java +++ /dev/null @@ -1,33 +0,0 @@ -package cn.hamster3.mc.plugin.tpa.config; - -import cn.hamster3.mc.plugin.tpa.HamsterTPAPlugin; -import cn.hamster3.mc.plugin.tpa.core.Message; -import org.bukkit.configuration.file.FileConfiguration; - -public final class ConfigManager { - private static long tpaCD; - private static long timeout; - - private ConfigManager() { - } - - public static void init() { - HamsterTPAPlugin plugin = HamsterTPAPlugin.getInstance(); - plugin.saveDefaultConfig(); - plugin.reloadConfig(); - FileConfiguration pluginConfig = plugin.getConfig(); - - tpaCD = pluginConfig.getLong("tpa-cd") * 1000L; - timeout = pluginConfig.getLong("timeout") * 1000L; - - Message.init(plugin); - } - - public static long getTpaCD() { - return tpaCD; - } - - public static long getTimeout() { - return timeout; - } -} diff --git a/hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/core/DataManager.java b/hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/core/DataManager.java deleted file mode 100644 index 49c7c61..0000000 --- a/hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/core/DataManager.java +++ /dev/null @@ -1,57 +0,0 @@ -package cn.hamster3.mc.plugin.tpa.core; - -import cn.hamster3.mc.plugin.ball.common.api.BallAPI; -import cn.hamster3.mc.plugin.tpa.HamsterTPAPlugin; -import com.google.gson.JsonObject; -import org.jetbrains.annotations.NotNull; - -import java.util.HashMap; -import java.util.Map; -import java.util.UUID; - -public class DataManager { - private static Map PLAYER_USE_TIME; - private static Map> PLAYER_RECEIVED_TPA; - - public static void init() { - PLAYER_USE_TIME = new HashMap<>(); - PLAYER_RECEIVED_TPA = new HashMap<>(); - } - - public static void setPlayerUseTime(@NotNull UUID uuid, long time, boolean broadcast) { - PLAYER_USE_TIME.put(uuid, time); - if (broadcast) { - JsonObject object = new JsonObject(); - object.addProperty("uuid", uuid.toString()); - object.addProperty("time", time); - BallAPI.getInstance().sendBallMessage(HamsterTPAPlugin.BALL_CHANNEL, "setPlayerUseTime", object); - } - } - - public static void sendTPA(@NotNull UUID sender, @NotNull UUID target, long time, boolean broadcast) { - Map map = PLAYER_RECEIVED_TPA.computeIfAbsent(target, o -> new HashMap<>()); - map.put(sender, time); - if (broadcast) { - JsonObject object = new JsonObject(); - object.addProperty("sender", sender.toString()); - object.addProperty("target", target.toString()); - object.addProperty("time", time); - BallAPI.getInstance().sendBallMessage(HamsterTPAPlugin.BALL_CHANNEL, "sendTPA", object); - } - } - - public static void clearTPAList(@NotNull UUID uuid, boolean broadcast) { - PLAYER_RECEIVED_TPA.remove(uuid); - if (broadcast) { - BallAPI.getInstance().sendBallMessage(HamsterTPAPlugin.BALL_CHANNEL, "clearTPAList", uuid.toString()); - } - } - - public static long getPlayerUseTime(@NotNull UUID uuid) { - return PLAYER_USE_TIME.getOrDefault(uuid, 0L); - } - - public static Map getPlayerReceivedTpa(@NotNull UUID uuid) { - return PLAYER_RECEIVED_TPA.computeIfAbsent(uuid, o -> new HashMap<>()); - } -} diff --git a/hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/core/Message.java b/hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/core/Message.java deleted file mode 100644 index 2066866..0000000 --- a/hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/core/Message.java +++ /dev/null @@ -1,62 +0,0 @@ -package cn.hamster3.mc.plugin.tpa.core; - -import cn.hamster3.mc.plugin.core.bukkit.api.CoreBukkitAPI; -import cn.hamster3.mc.plugin.core.bukkit.util.CoreBukkitUtils; -import cn.hamster3.mc.plugin.core.common.data.DisplayMessage; -import cn.hamster3.mc.plugin.core.lib.net.kyori.adventure.audience.Audience; -import cn.hamster3.mc.plugin.core.lib.net.kyori.adventure.text.TextReplacementConfig; -import org.bukkit.command.CommandSender; -import org.bukkit.configuration.ConfigurationSection; -import org.bukkit.plugin.Plugin; -import org.jetbrains.annotations.NotNull; - -public enum Message { - TPA_IN_CD, - TPA_NOT_INPUT_PLAYER_NAME, - TPA_TARGET_PLAYER_NOT_ONLINE, - TPA_SEND_SUCCESS, - RECEIVED_TPA_LIST_IS_EMPTY, - TPA_RECEIVED, - TPA_SUCCESS, - TPA_ACCEPT_SUCCESS, - TPA_DENIED, - TPA_DENY_SUCCESS, - SEND_TPA_TIMEOUT, - RECEIVED_TPA_TIMEOUT; - - private DisplayMessage message; - - public static void init(@NotNull Plugin plugin) { - ConfigurationSection config = plugin.getConfig().getConfigurationSection("messages"); - if (config == null) { - plugin.getLogger().warning("加载消息失败: 配置文件中未找到 messages 节点!"); - return; - } - for (Message value : values()) { - ConfigurationSection section = config.getConfigurationSection(value.name()); - if (section == null) { - continue; - } - try { - value.message = CoreBukkitUtils.loadDisplayMessage(section); - } catch (Exception e) { - plugin.getLogger().warning("加载消息设置 " + value.name() + " 时遇到了一个异常: "); - e.printStackTrace(); - } - } - } - - public void show(CommandSender sender, TextReplacementConfig... replacement) { - if (message == null) { - sender.sendMessage(name()); - return; - } - Audience audience = CoreBukkitAPI.getInstance().getAudienceProvider().sender(sender); - message.show(audience, replacement); - } - - @SuppressWarnings("unused") - public DisplayMessage getMessage() { - return message; - } -} diff --git a/hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/listener/MainListener.java b/hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/listener/MainListener.java deleted file mode 100644 index 370a4f5..0000000 --- a/hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/listener/MainListener.java +++ /dev/null @@ -1,52 +0,0 @@ -package cn.hamster3.mc.plugin.tpa.listener; - -import cn.hamster3.mc.plugin.ball.common.event.message.MessageReceivedEvent; -import cn.hamster3.mc.plugin.tpa.HamsterTPAPlugin; -import cn.hamster3.mc.plugin.tpa.core.DataManager; -import com.google.common.eventbus.Subscribe; -import com.google.gson.JsonObject; -import org.bukkit.event.Listener; - -import java.util.UUID; - -public final class MainListener implements Listener { - public static final MainListener INSTANCE = new MainListener(); - - private MainListener() { - } - - @Subscribe - public void onMessageReceived(MessageReceivedEvent event) { - if (!HamsterTPAPlugin.BALL_CHANNEL.equals(event.getChannel())) { - return; - } - switch (event.getAction()) { - case "setPlayerUseTime": { - JsonObject object = event.getContentAsJsonObject(); - DataManager.setPlayerUseTime( - UUID.fromString(object.get("uuid").getAsString()), - object.get("time").getAsLong(), - false - ); - break; - } - case "sendTPA": { - JsonObject object = event.getContentAsJsonObject(); - DataManager.sendTPA( - UUID.fromString(object.get("sender").getAsString()), - UUID.fromString(object.get("target").getAsString()), - object.get("time").getAsLong(), - false - ); - break; - } - case "clearTPAList": { - DataManager.clearTPAList(event.getContentAsUUID(), false); - break; - } - case "": { - break; - } - } - } -} \ No newline at end of file diff --git a/hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/thread/TimeoutThread.java b/hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/thread/TimeoutThread.java deleted file mode 100644 index eea1204..0000000 --- a/hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/thread/TimeoutThread.java +++ /dev/null @@ -1,41 +0,0 @@ -package cn.hamster3.mc.plugin.tpa.thread; - -import cn.hamster3.mc.plugin.ball.common.api.BallAPI; -import cn.hamster3.mc.plugin.core.lib.net.kyori.adventure.text.TextReplacementConfig; -import cn.hamster3.mc.plugin.tpa.core.DataManager; -import cn.hamster3.mc.plugin.tpa.core.Message; - -import java.util.Map; -import java.util.UUID; - -public class TimeoutThread implements Runnable { - private final UUID sender; - private final UUID target; - - public TimeoutThread(UUID sender, UUID target) { - this.sender = sender; - this.target = target; - } - - @Override - public void run() { - Map map = DataManager.getPlayerReceivedTpa(target); - if (map.containsKey(sender)) { - BallAPI.getInstance().sendMessageToPlayer(sender, - Message.SEND_TPA_TIMEOUT.getMessage().replace( - TextReplacementConfig.builder() - .matchLiteral("%player_name%") - .replacement(BallAPI.getInstance().getPlayerName(target, "")) - .build()), - false); - BallAPI.getInstance().sendMessageToPlayer(target, - Message.RECEIVED_TPA_TIMEOUT.getMessage().replace( - TextReplacementConfig.builder() - .matchLiteral("%player_name%") - .replacement(BallAPI.getInstance().getPlayerName(sender, "")) - .build()), - false); - DataManager.setPlayerUseTime(sender, 0, true); - } - } -} diff --git a/hamster-tpa/src/main/resources/config.yml b/hamster-tpa/src/main/resources/config.yml deleted file mode 100644 index 384b6a7..0000000 --- a/hamster-tpa/src/main/resources/config.yml +++ /dev/null @@ -1,33 +0,0 @@ -# 使用 TPA 传送的冷却时间 -# 以秒为单位 -tpa-cd: 300 - -# 传送请求超时的时间 -# 以秒为单位 -timeout: 30 - -messages: - TPA_IN_CD: - message: "§a传送正在冷却中,时间:%cd_time% 秒" - TPA_NOT_INPUT_PLAYER_NAME: - message: "§c请输入要传送的玩家名称" - TPA_TARGET_PLAYER_NOT_ONLINE: - message: "§c该玩家不在线" - TPA_SEND_SUCCESS: - message: "§a已向玩家 %player_name% 发出传送申请" - RECEIVED_TPA_LIST_IS_EMPTY: - message: "§a你没有收到任何传送请求" - TPA_RECEIVED: - message: "§a收到了来自 %player_name% 的传送申请\n §a请输入 §e§l/tpaccept §a同意请求\n §a或使用 §c§l/tpdeny §a拒绝请求" - TPA_SUCCESS: - message: "§a已成功传送至玩家 %player_name%" - TPA_ACCEPT_SUCCESS: - message: "§a已成功接受玩家 %player_name% 的传送请求" - TPA_DENIED: - message: "§a玩家 %player_name% 拒绝了你的传送请求,冷却时间已返还" - TPA_DENY_SUCCESS: - message: "§a已拒绝玩家 %player_name% 的传送请求" - SEND_TPA_TIMEOUT: - message: "§a玩家 %player_name% 未能及时处理你的传送请求,冷却时间已返还" - RECEIVED_TPA_TIMEOUT: - message: "§a你未能及时处理 %player_name% 的传送请求" diff --git a/hamster-tpa/src/main/resources/plugin.yml b/hamster-tpa/src/main/resources/plugin.yml deleted file mode 100644 index be8f787..0000000 --- a/hamster-tpa/src/main/resources/plugin.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: HamsterTPA -main: cn.hamster3.mc.plugin.tpa.HamsterTPAPlugin -version: ${version} -api-version: 1.13 - -author: MiniDay -website: https://github.com/MiniDay/hamster-little-plugins -description: TPA 功能 - -depend: - - HamsterCore - - HamsterBall - -commands: - hamster-tpa: - aliases: [ tpa ] - hamster-tpaccept: - aliases: [ tpaccept ] - hamster-tpdeny: - aliases: [ tpdeny ] - -permissions: - hamster.tpa.use: - default: true - description: 允许使用 HamsterTPA 的权限 diff --git a/settings.gradle b/settings.gradle index 1b3463a..e99b37e 100644 --- a/settings.gradle +++ b/settings.gradle @@ -8,7 +8,6 @@ include 'hamster-sudo' include 'hamster-lobby' include 'hamster-spawn' include 'hamster-chain-break' -include 'hamster-tpa' include 'hamster-join-message' include 'hamster-protect-explosion' include 'hamster-protect-piston-wool-carpet'