@EventHandler(priority = EventPriority.LOWEST)
public void onPlayerJoin(AsyncPlayerPreLoginEvent event) {
String ip = event.getAddress().getHostAddress();
if (!ip.equals("127.0.0.1")) {
event.disallow(Result.KICK_OTHER, ChatColor.RED + "Eh?");
}
}
java类org.bukkit.event.player.AsyncPlayerPreLoginEvent的实例源码
PaloozaPlugin.java 文件源码
项目:MiniMiniGames
阅读 22
收藏 0
点赞 0
评论 0
PlayerListener.java 文件源码
项目:BGDCore
阅读 26
收藏 0
点赞 0
评论 0
@EventHandler(priority = EventPriority.LOWEST)
public void onPlayerLogin(final AsyncPlayerPreLoginEvent event) {
// let's load it async!
wrappers.put(event.getUniqueId(), BGDCore.loadPlayerWrapper(event.getUniqueId(), event.getName()));
new BukkitRunnable() {
@Override
public void run() {
if (wrappers.contains(event.getUniqueId())) {
wrappers.remove(event.getUniqueId()); // aw, wasn't used
}
}
}.runTaskLater(BGDCore.getPlugin(BGDCore.class), 30);
}
JoinQuitListener.java 文件源码
项目:BetonQuest
阅读 23
收藏 0
点赞 0
评论 0
@EventHandler(priority = EventPriority.HIGHEST)
public void playerPreLogin(AsyncPlayerPreLoginEvent event) {
// if player was kicked, don't load the data
if (event.getLoginResult() != Result.ALLOWED) {
return;
}
String playerID = event.getUniqueId().toString();
BetonQuest plugin = BetonQuest.getInstance();
plugin.putPlayerData(playerID, new PlayerData(playerID));
}
PlayerListener.java 文件源码
项目:CraftoPlugin
阅读 20
收藏 0
点赞 0
评论 0
void checkForNameChange(StoredPlayer player, AsyncPlayerPreLoginEvent event, PlayerStorage storage) {
if (player == null || event == null || !player.getUniqueId().equals(event.getUniqueId())) { return; }
// TODO: Register name change record as soon as RecordModule is ported to 4.0
// TODO: Call StoredPlayerChangeNameEvent
if (!player.getName().equals(event.getName())) {
info("Player " + player.getId() + " changed name from '" + player.getName() + "' to '" + event.getName() + "'");
((DatabaseStoredPlayer) player).setName(event.getName());
// Restore into nameMap
storage.store(player);
}
}
PlayerListener.java 文件源码
项目:CraftoPlugin
阅读 22
收藏 0
点赞 0
评论 0
void checkForIPChange(StoredPlayer player, AsyncPlayerPreLoginEvent event, boolean firstJoin) {
if (player == null || event == null || !player.getUniqueId().equals(event.getUniqueId())) { return; }
String newAddress = event.getAddress().toString().replace("/", "");
if (!player.getCurrentAddress().equals(newAddress) || firstJoin) {
((DatabaseStoredPlayer) player).setCurrentAddress(newAddress);
if (!firstJoin) {
// TODO: Call StoredPlayerChangeIPEvent
info("Player " +player.getId() + " changed ip from '" + player.getCurrentAddress() + "' to '" + newAddress + "'");
}
}
}
CraftoDatabase.java 文件源码
项目:CraftoPlugin
阅读 17
收藏 0
点赞 0
评论 0
private void checkForIPChange(final CraftoPlayer player, final AsyncPlayerPreLoginEvent event, final boolean firstJoin) {
if (player != null && event != null && player.getUniqueId().equals(event.getUniqueId())) {
final String newAddress = event.getAddress().toString().replace("/", "");
if (!player.getCurrentAddress().equals(newAddress) || firstJoin) {
((DatabaseCraftoPlayer) player).setCurrentAddress(event.getAddress().getHostAddress());
if (!firstJoin) {
this.plugin.getServer().getPluginManager().callEvent(new CraftoPlayerIPChangeEvent(player, player.getCurrentAddress(), event.getAddress().toString()));
}
}
}
}
PlayerLogin.java 文件源码
项目:ProtectPlugin
阅读 22
收藏 0
点赞 0
评论 0
private void work(AsyncPlayerPreLoginEvent event) {
InetAddress addr = event.getAddress();
if (this.segment.contains(addr)) {
event.setLoginResult(Result.KICK_BANNED);
event.setKickMessage("您的IP已被服务器封禁");
} else if (addr.getHostAddress().equals(LOCAL_HOST)) {
// DO NOTHING
} else if (checkAddr(addr.getHostAddress())) {
event.setLoginResult(Result.KICK_OTHER);
event.setKickMessage("请稍后尝试登陆服务器");
}
this.addrLast.put(addr.getHostAddress(), System.currentTimeMillis());
}
LoginListener.java 文件源码
项目:SpigotSource
阅读 21
收藏 0
点赞 0
评论 0
public void fireEvents() throws Exception {
String playerName = i.getName();
java.net.InetAddress address = ((java.net.InetSocketAddress) networkManager.getSocketAddress()).getAddress();
java.util.UUID uniqueId = i.getId();
final org.bukkit.craftbukkit.CraftServer server = LoginListener.this.server.server;
AsyncPlayerPreLoginEvent asyncEvent = new AsyncPlayerPreLoginEvent(playerName, address, uniqueId);
server.getPluginManager().callEvent(asyncEvent);
if (PlayerPreLoginEvent.getHandlerList().getRegisteredListeners().length != 0) {
final PlayerPreLoginEvent event = new PlayerPreLoginEvent(playerName, address, uniqueId);
if (asyncEvent.getResult() != PlayerPreLoginEvent.Result.ALLOWED) {
event.disallow(asyncEvent.getResult(), asyncEvent.getKickMessage());
}
Waitable<PlayerPreLoginEvent.Result> waitable = new Waitable<PlayerPreLoginEvent.Result>() {
@Override
protected PlayerPreLoginEvent.Result evaluate() {
server.getPluginManager().callEvent(event);
return event.getResult();
}};
LoginListener.this.server.processQueue.add(waitable);
if (waitable.get() != PlayerPreLoginEvent.Result.ALLOWED) {
disconnect(event.getKickMessage());
return;
}
} else {
if (asyncEvent.getLoginResult() != AsyncPlayerPreLoginEvent.Result.ALLOWED) {
disconnect(asyncEvent.getKickMessage());
return;
}
}
// CraftBukkit end
LoginListener.c.info("UUID of player " + LoginListener.this.i.getName() + " is " + LoginListener.this.i.getId());
LoginListener.this.g = LoginListener.EnumProtocolState.READY_TO_ACCEPT;
}
LoginListener.java 文件源码
项目:Bukkit-Connect
阅读 22
收藏 0
点赞 0
评论 0
@EventHandler(priority = EventPriority.LOWEST)
public void onAsyncPlayerPreLogin(AsyncPlayerPreLoginEvent event) {
LoginPayload payload = payloadCache.getByName(event.getName());
if (payload == null) {
event.disallow(AsyncPlayerPreLoginEvent.Result.KICK_OTHER, "LilyPad: Internal server error");
return;
}
}
BukkitPlugin.java 文件源码
项目:ServerListPlus
阅读 25
收藏 0
点赞 0
评论 0
@EventHandler
public void onPlayerLogin(AsyncPlayerPreLoginEvent event) {
if (core == null) return; // Too early, we haven't finished initializing yet
UUID uuid = null;
try { uuid = event.getUniqueId(); } catch (NoSuchMethodError ignored) {}
core.updateClient(event.getAddress(), uuid, event.getName());
}