From ac4d5112ef01b3a54b7985228df2d2911acf463f Mon Sep 17 00:00:00 2001 From: 502647092 Date: Mon, 3 Jul 2017 20:33:08 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=20PreLobbyTpEvent=20?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 502647092 --- .classpath | 8 ---- .project | 23 ---------- pom.xml | 20 ++++----- .../java/pw/yumc/MiaoLobby/MiaoLobby.java | 8 ++-- src/main/java/pw/yumc/MiaoLobby/Util.java | 10 +++++ .../yumc/MiaoLobby/event/PreLobbyTpEvent.java | 45 +++++++++++++++++++ .../pw/yumc/MiaoLobby/hook/AuthMeHook.java | 2 +- .../pw/yumc/MiaoLobby/hook/LoginHook.java | 4 +- .../pw/yumc/MiaoLobby/hook/VBossAuthHook.java | 4 +- 9 files changed, 75 insertions(+), 49 deletions(-) delete mode 100644 .classpath delete mode 100644 .project create mode 100644 src/main/java/pw/yumc/MiaoLobby/event/PreLobbyTpEvent.java diff --git a/.classpath b/.classpath deleted file mode 100644 index db5b5e4..0000000 --- a/.classpath +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/.project b/.project deleted file mode 100644 index ea2423c..0000000 --- a/.project +++ /dev/null @@ -1,23 +0,0 @@ - - - MiaoLobby - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.m2e.core.maven2Builder - - - - - - org.eclipse.m2e.core.maven2Nature - org.eclipse.jdt.core.javanature - - diff --git a/pom.xml b/pom.xml index b42b62a..e293afc 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 pw.yumc MiaoLobby - 1.7 + 1.8 ${project.name} @@ -13,14 +13,6 @@ - - maven-compiler-plugin - 3.3 - - 1.7 - 1.7 - - org.apache.maven.plugins maven-shade-plugin @@ -77,8 +69,16 @@ http://ci.yumc.pw/job/${project.artifactId}/ + §a正式版本 §bv${project.version} + + §617-07-03 §a新增: 传送前事件 PreLobbyTpEvent; + + + DEV UTF-8 + 1.8 + 1.8 @@ -98,7 +98,7 @@ pw.yumc YumCore jar - 1.5 + [1.7,) cn.citycraft diff --git a/src/main/java/pw/yumc/MiaoLobby/MiaoLobby.java b/src/main/java/pw/yumc/MiaoLobby/MiaoLobby.java index a6643e4..63add83 100644 --- a/src/main/java/pw/yumc/MiaoLobby/MiaoLobby.java +++ b/src/main/java/pw/yumc/MiaoLobby/MiaoLobby.java @@ -47,19 +47,19 @@ public class MiaoLobby extends JavaPlugin implements Executor, Listener { Bukkit.getPluginManager().registerEvents(this, this); if (config.AutoTP) { new LoginHook(); - Log.info("已配置为自动传送模式!"); + Log.i("已配置为自动传送模式!"); } else if (config.LoginAutoTP) { if (Bukkit.getPluginManager().isPluginEnabled("AuthMe")) { new AuthMeHook(); - Log.info("已配置为AuthMe登录传送模式!"); + Log.i("已配置为AuthMe登录传送模式!"); } if (Bukkit.getPluginManager().isPluginEnabled("VBossAuth")) { new VBossAuthHook(); - Log.info("已配置为VBossAuth登录传送模式!"); + Log.i("已配置为VBossAuth登录传送模式!"); } } new Statistics(); - new SubscribeTask(true, true); + new SubscribeTask(true, SubscribeTask.UpdateType.MAVEN); } @Override diff --git a/src/main/java/pw/yumc/MiaoLobby/Util.java b/src/main/java/pw/yumc/MiaoLobby/Util.java index a0d4a48..4b8bd4b 100644 --- a/src/main/java/pw/yumc/MiaoLobby/Util.java +++ b/src/main/java/pw/yumc/MiaoLobby/Util.java @@ -6,6 +6,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.scheduler.BukkitRunnable; import org.bukkit.scheduler.BukkitTask; @@ -13,6 +14,7 @@ import org.bukkit.scheduler.BukkitTask; import com.google.common.io.ByteArrayDataOutput; import com.google.common.io.ByteStreams; +import pw.yumc.MiaoLobby.event.PreLobbyTpEvent; import pw.yumc.YumCore.bukkit.P; import pw.yumc.YumCore.bukkit.compatible.C; @@ -45,6 +47,14 @@ public class Util { }.runTaskTimerAsynchronously(plugin, 0, 20)); } + public static void delayTpTargetEvent(final Player player) { + PreLobbyTpEvent event = new PreLobbyTpEvent(player); + Bukkit.getPluginManager().callEvent(event); + if (!event.isCancelled()) { + delayTp(player); + } + } + public static void cancel(Player player) { if (player != null) { BukkitTask task = tasks.get(player.getName()); diff --git a/src/main/java/pw/yumc/MiaoLobby/event/PreLobbyTpEvent.java b/src/main/java/pw/yumc/MiaoLobby/event/PreLobbyTpEvent.java new file mode 100644 index 0000000..f0eecde --- /dev/null +++ b/src/main/java/pw/yumc/MiaoLobby/event/PreLobbyTpEvent.java @@ -0,0 +1,45 @@ +package pw.yumc.MiaoLobby.event; + +import org.bukkit.entity.Player; +import org.bukkit.event.Cancellable; +import org.bukkit.event.Event; +import org.bukkit.event.HandlerList; + +/** + * Created with IntelliJ IDEA + * + * @author 喵♂呜 + * Created on 2017/7/3 18:58. + */ +public class PreLobbyTpEvent extends Event implements Cancellable { + private static final HandlerList handlers = new HandlerList(); + private final Player player; + private boolean cancel = false; + + public static HandlerList getHandlerList() { + return handlers; + } + + public PreLobbyTpEvent(final Player player) { + this.player = player; + } + + @Override + public HandlerList getHandlers() { + return handlers; + } + + public Player getPlayer() { + return this.player; + } + + @Override + public boolean isCancelled() { + return cancel; + } + + @Override + public void setCancelled(boolean cancel) { + this.cancel = cancel; + } +} diff --git a/src/main/java/pw/yumc/MiaoLobby/hook/AuthMeHook.java b/src/main/java/pw/yumc/MiaoLobby/hook/AuthMeHook.java index a5aae5c..63ce270 100644 --- a/src/main/java/pw/yumc/MiaoLobby/hook/AuthMeHook.java +++ b/src/main/java/pw/yumc/MiaoLobby/hook/AuthMeHook.java @@ -9,7 +9,7 @@ public class AuthMeHook extends Hook { @EventHandler public void onLogin(final LoginEvent e) { if (e.isLogin()) { - Util.delayTp(e.getPlayer()); + Util.delayTpTargetEvent(e.getPlayer()); } } } diff --git a/src/main/java/pw/yumc/MiaoLobby/hook/LoginHook.java b/src/main/java/pw/yumc/MiaoLobby/hook/LoginHook.java index 7cd49f5..c0e21b5 100644 --- a/src/main/java/pw/yumc/MiaoLobby/hook/LoginHook.java +++ b/src/main/java/pw/yumc/MiaoLobby/hook/LoginHook.java @@ -1,5 +1,6 @@ package pw.yumc.MiaoLobby.hook; +import org.bukkit.event.EventHandler; import org.bukkit.event.player.PlayerJoinEvent; import pw.yumc.MiaoLobby.Util; @@ -9,7 +10,8 @@ import pw.yumc.MiaoLobby.Util; * @since 2016/12/25 0025 */ public class LoginHook extends Hook { + @EventHandler public void onJoin(PlayerJoinEvent e) { - Util.delayTp(e.getPlayer()); + Util.delayTpTargetEvent(e.getPlayer()); } } diff --git a/src/main/java/pw/yumc/MiaoLobby/hook/VBossAuthHook.java b/src/main/java/pw/yumc/MiaoLobby/hook/VBossAuthHook.java index dd9ed22..0ca1d60 100644 --- a/src/main/java/pw/yumc/MiaoLobby/hook/VBossAuthHook.java +++ b/src/main/java/pw/yumc/MiaoLobby/hook/VBossAuthHook.java @@ -10,12 +10,12 @@ public class VBossAuthHook extends Hook { @EventHandler public void onLogin(LoginEvent e) { if (e.isLogin()) { - Util.delayTp(e.getPlayer()); + Util.delayTpTargetEvent(e.getPlayer()); } } @EventHandler public void onRegister(RegisterEvent e) { - Util.delayTp(e.getPlayer()); + Util.delayTpTargetEvent(e.getPlayer()); } }