feat: 添加注册传送

Signed-off-by: 502647092 <admin@yumc.pw>
This commit is contained in:
2016-12-29 22:52:53 +08:00
parent e0bf4a1c49
commit 5264245c62
4 changed files with 30 additions and 5 deletions

View File

@@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>pw.yumc</groupId>
<artifactId>MiaoLobby</artifactId>
<version>1.5</version>
<version>1.6</version>
<build>
<finalName>${project.name}</finalName>
<resources>

View File

@@ -4,6 +4,9 @@ import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.plugin.java.JavaPlugin;
import pw.yumc.MiaoLobby.hook.AuthMeHook;
@@ -17,9 +20,14 @@ import pw.yumc.YumCore.commands.interfaces.Executor;
import pw.yumc.YumCore.statistic.Statistics;
import pw.yumc.YumCore.update.SubscribeTask;
public class MiaoLobby extends JavaPlugin implements Executor {
public class MiaoLobby extends JavaPlugin implements Executor, Listener {
Config config;
@EventHandler
public void onQuit(PlayerQuitEvent e) {
Util.cancel(e.getPlayer());
}
@Cmd(permission = "MiaoLobby.default", executor = Cmd.Executor.PLAYER)
@Help("进行随机服务器传送")
public boolean def(final Player player) {
@@ -36,6 +44,7 @@ public class MiaoLobby extends JavaPlugin implements Executor {
public void onEnable() {
new CommandSub("MiaoLobby", this);
Bukkit.getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
Bukkit.getPluginManager().registerEvents(this, this);
if (config.AutoTP) {
new LoginHook();
Log.info("已配置为自动传送模式!");

View File

@@ -3,9 +3,11 @@ package pw.yumc.MiaoLobby;
import java.security.SecureRandom;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitRunnable;
import org.bukkit.scheduler.BukkitTask;
import com.google.common.io.ByteArrayDataOutput;
import com.google.common.io.ByteStreams;
@@ -21,9 +23,10 @@ public class Util {
private final static SecureRandom random = new SecureRandom();
private static MiaoLobby plugin = P.getPlugin();
private static Config config = plugin.config;
private static Map<String, BukkitTask> tasks;
public static void delayTp(final Player player) {
new BukkitRunnable() {
tasks.put(player.getName(), new BukkitRunnable() {
int delay = config.AutoTPDelay;
@Override
@@ -38,7 +41,14 @@ public class Util {
}
cancel();
}
}.runTaskTimerAsynchronously(plugin, 0, 20);
}.runTaskTimerAsynchronously(plugin, 0, 20));
}
public static void cancel(Player player) {
BukkitTask task = tasks.get(player.getName());
if (task != null) {
task.cancel();
}
}
public static void connect(final Player p, final String server) {

View File

@@ -3,11 +3,17 @@ package pw.yumc.MiaoLobby.hook;
import org.bukkit.event.EventHandler;
import cn.citycraft.VBossAuth.event.LoginEvent;
import cn.citycraft.VBossAuth.event.RegisterEvent;
import pw.yumc.MiaoLobby.Util;
public class VBossAuthHook extends Hook {
@EventHandler
public void onLogin(final LoginEvent e) {
public void onLogin(LoginEvent e) {
Util.delayTp(e.getPlayer());
}
@EventHandler
public void onRegister(RegisterEvent e) {
Util.delayTp(e.getPlayer());
}
}