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>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>pw.yumc</groupId>
|
<groupId>pw.yumc</groupId>
|
||||||
<artifactId>MiaoLobby</artifactId>
|
<artifactId>MiaoLobby</artifactId>
|
||||||
<version>1.5</version>
|
<version>1.6</version>
|
||||||
<build>
|
<build>
|
||||||
<finalName>${project.name}</finalName>
|
<finalName>${project.name}</finalName>
|
||||||
<resources>
|
<resources>
|
||||||
|
|||||||
@@ -4,6 +4,9 @@ import org.bukkit.Bukkit;
|
|||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.configuration.file.FileConfiguration;
|
import org.bukkit.configuration.file.FileConfiguration;
|
||||||
import org.bukkit.entity.Player;
|
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 org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
import pw.yumc.MiaoLobby.hook.AuthMeHook;
|
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.statistic.Statistics;
|
||||||
import pw.yumc.YumCore.update.SubscribeTask;
|
import pw.yumc.YumCore.update.SubscribeTask;
|
||||||
|
|
||||||
public class MiaoLobby extends JavaPlugin implements Executor {
|
public class MiaoLobby extends JavaPlugin implements Executor, Listener {
|
||||||
Config config;
|
Config config;
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onQuit(PlayerQuitEvent e) {
|
||||||
|
Util.cancel(e.getPlayer());
|
||||||
|
}
|
||||||
|
|
||||||
@Cmd(permission = "MiaoLobby.default", executor = Cmd.Executor.PLAYER)
|
@Cmd(permission = "MiaoLobby.default", executor = Cmd.Executor.PLAYER)
|
||||||
@Help("进行随机服务器传送")
|
@Help("进行随机服务器传送")
|
||||||
public boolean def(final Player player) {
|
public boolean def(final Player player) {
|
||||||
@@ -36,6 +44,7 @@ public class MiaoLobby extends JavaPlugin implements Executor {
|
|||||||
public void onEnable() {
|
public void onEnable() {
|
||||||
new CommandSub("MiaoLobby", this);
|
new CommandSub("MiaoLobby", this);
|
||||||
Bukkit.getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
|
Bukkit.getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
|
||||||
|
Bukkit.getPluginManager().registerEvents(this, this);
|
||||||
if (config.AutoTP) {
|
if (config.AutoTP) {
|
||||||
new LoginHook();
|
new LoginHook();
|
||||||
Log.info("已配置为自动传送模式!");
|
Log.info("已配置为自动传送模式!");
|
||||||
|
|||||||
@@ -3,9 +3,11 @@ package pw.yumc.MiaoLobby;
|
|||||||
import java.security.SecureRandom;
|
import java.security.SecureRandom;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.scheduler.BukkitRunnable;
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
|
import org.bukkit.scheduler.BukkitTask;
|
||||||
|
|
||||||
import com.google.common.io.ByteArrayDataOutput;
|
import com.google.common.io.ByteArrayDataOutput;
|
||||||
import com.google.common.io.ByteStreams;
|
import com.google.common.io.ByteStreams;
|
||||||
@@ -21,9 +23,10 @@ public class Util {
|
|||||||
private final static SecureRandom random = new SecureRandom();
|
private final static SecureRandom random = new SecureRandom();
|
||||||
private static MiaoLobby plugin = P.getPlugin();
|
private static MiaoLobby plugin = P.getPlugin();
|
||||||
private static Config config = plugin.config;
|
private static Config config = plugin.config;
|
||||||
|
private static Map<String, BukkitTask> tasks;
|
||||||
|
|
||||||
public static void delayTp(final Player player) {
|
public static void delayTp(final Player player) {
|
||||||
new BukkitRunnable() {
|
tasks.put(player.getName(), new BukkitRunnable() {
|
||||||
int delay = config.AutoTPDelay;
|
int delay = config.AutoTPDelay;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -38,7 +41,14 @@ public class Util {
|
|||||||
}
|
}
|
||||||
cancel();
|
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) {
|
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 org.bukkit.event.EventHandler;
|
||||||
|
|
||||||
import cn.citycraft.VBossAuth.event.LoginEvent;
|
import cn.citycraft.VBossAuth.event.LoginEvent;
|
||||||
|
import cn.citycraft.VBossAuth.event.RegisterEvent;
|
||||||
import pw.yumc.MiaoLobby.Util;
|
import pw.yumc.MiaoLobby.Util;
|
||||||
|
|
||||||
public class VBossAuthHook extends Hook {
|
public class VBossAuthHook extends Hook {
|
||||||
@EventHandler
|
@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());
|
Util.delayTp(e.getPlayer());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user