mirror of
https://e.coding.net/circlecloud/MiaoLobby.git
synced 2025-11-02 17:06:02 +00:00
2
pom.xml
2
pom.xml
@@ -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>
|
||||
|
||||
@@ -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("已配置为自动传送模式!");
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user