diff --git a/pom.xml b/pom.xml index 2bd9971..64bf076 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 MiaoLobby - 2.0 + 2.1 pw.yumc @@ -24,11 +24,12 @@ §a正式版本 §bv${project.version} + §621-04-01 §a新增: 重复传送限制 离线清理数据; + + §617-07-05 §a新增: 添加对MOD服和1.12的ActionBar支持; §617-07-05 §a新增: 未混淆的API接口; §617-07-03 §a新增: 传送前事件 PreLobbyTpEvent - - DEV diff --git a/src/main/java/pw/yumc/MiaoLobby/MiaoLobby.java b/src/main/java/pw/yumc/MiaoLobby/MiaoLobby.java index 6363330..f38d838 100644 --- a/src/main/java/pw/yumc/MiaoLobby/MiaoLobby.java +++ b/src/main/java/pw/yumc/MiaoLobby/MiaoLobby.java @@ -30,7 +30,7 @@ public class MiaoLobby extends JavaPlugin implements Executor, Listener { @Cmd(permission = "MiaoLobby.default", executor = Cmd.Executor.PLAYER) @Help("进行随机服务器传送") public boolean def(final Player player) { - Util.random(player); + Util.delayTp(player); return true; } diff --git a/src/main/java/pw/yumc/MiaoLobby/Util.java b/src/main/java/pw/yumc/MiaoLobby/Util.java index 3f59745..4a8c6b6 100644 --- a/src/main/java/pw/yumc/MiaoLobby/Util.java +++ b/src/main/java/pw/yumc/MiaoLobby/Util.java @@ -8,6 +8,7 @@ import org.bukkit.scheduler.BukkitRunnable; import org.bukkit.scheduler.BukkitTask; import pw.yumc.MiaoLobby.config.Config; import pw.yumc.MiaoLobby.event.PreLobbyTpEvent; +import pw.yumc.YumCore.bukkit.Log; import pw.yumc.YumCore.bukkit.P; import pw.yumc.YumCore.bukkit.compatible.C; @@ -28,6 +29,10 @@ public class Util { private static Map tasks = new HashMap<>(); public static void delayTp(final Player player) { + if (tasks.containsKey(player.getName())) { + Log.sender(player, config.TPing); + return; + } tasks.put(player.getName(), new BukkitRunnable() { int delay = config.AutoTPDelay; @@ -41,7 +46,7 @@ public class Util { } random(player); } - cancel(); + this.cancel(); } }.runTaskTimerAsynchronously(plugin, 0, 20)); } @@ -56,7 +61,7 @@ public class Util { public static void cancel(Player player) { if (player != null) { - BukkitTask task = tasks.get(player.getName()); + BukkitTask task = tasks.remove(player.getName()); if (task != null) { task.cancel(); } @@ -94,7 +99,8 @@ public class Util { i++; return; } - cancel(); + Util.cancel(player); + this.cancel(); } }.runTaskTimerAsynchronously(plugin, 0, config.WaitTime); } diff --git a/src/main/java/pw/yumc/MiaoLobby/config/Config.java b/src/main/java/pw/yumc/MiaoLobby/config/Config.java index 661fb73..c8acbb9 100644 --- a/src/main/java/pw/yumc/MiaoLobby/config/Config.java +++ b/src/main/java/pw/yumc/MiaoLobby/config/Config.java @@ -1,9 +1,9 @@ package pw.yumc.MiaoLobby.config; -import java.util.List; - import pw.yumc.YumCore.config.inject.InjectConfig; +import java.util.List; + /** * 配置文件 * @@ -16,6 +16,7 @@ public class Config extends InjectConfig { public String Message; public String TimeOut; public String TPDelay; + public String TPing; public String Unavailable; public Boolean AutoTP; public Boolean LoginAutoTP; diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index a0fa635..c0d8c37 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -19,4 +19,5 @@ ReTry: true Message: '&a请稍候 正在传送至服务器 %s ...' TimeOut: '&c传送超时 正在切换到服务器 %s ...' TPDelay: '&a登陆成功 正在为您匹配服务器 剩余 %s 秒...' +TPing: '&c正在为您选择可用大厅 请稍候重试!' Unavailable: '&4已尝试所有可用服务器 传送失败!' \ No newline at end of file