Emergency Fix

This commit is contained in:
Xephi 2013-04-14 00:29:04 +02:00
parent 73c97a39e6
commit 1c2b585a6f
5 changed files with 66 additions and 64 deletions

View File

@ -28,12 +28,12 @@
</plugin> </plugin>
</plugins> </plugins>
</build> </build>
<version>2.7.14</version> <version>2.7.15</version>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>org.bukkit</groupId> <groupId>org.bukkit</groupId>
<artifactId>bukkit</artifactId> <artifactId>bukkit</artifactId>
<version>1.5-R0.1-SNAPSHOT</version> <version>1.5.1-R0.2</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>net.milkbowl.vault</groupId> <groupId>net.milkbowl.vault</groupId>

View File

@ -483,15 +483,17 @@ public class AuthMe extends JavaPlugin {
for (i = 0 ; i <= players.length ; i++) { for (i = 0 ; i <= players.length ; i++) {
Random rdm = new Random(); Random rdm = new Random();
int a = rdm.nextInt(players.length); int a = rdm.nextInt(players.length);
if (!players[a].hasPermission("authme.vip")) { if (!(players[a].hasPermission("authme.vip"))) {
player = players[a]; player = players[a];
break; break;
} }
} }
if (player == null) { if (player == null) {
for (Player p : this.getServer().getOnlinePlayers()) { for (Player p : players) {
if (p.hasPermission("authme.vip")) if (!(p.hasPermission("authme.vip"))) {
player = p; player = p;
break;
}
} }
} }
return player; return player;

View File

@ -159,13 +159,13 @@ public class Management {
AuthMeTeleportEvent tpEvent = new AuthMeTeleportEvent(player, limbo.getLoc()); AuthMeTeleportEvent tpEvent = new AuthMeTeleportEvent(player, limbo.getLoc());
pm.callEvent(tpEvent); pm.callEvent(tpEvent);
if(!tpEvent.isCancelled()) { if(!tpEvent.isCancelled()) {
if (!tpEvent.getTo().getWorld().getChunkAt(tpEvent.getTo()).isLoaded()) {
tpEvent.getTo().getWorld().getChunkAt(tpEvent.getTo()).load();
}
final Location fLoc = tpEvent.getTo(); final Location fLoc = tpEvent.getTo();
Bukkit.getScheduler().runTask(plugin, new Runnable() { Bukkit.getScheduler().runTask(plugin, new Runnable() {
@Override @Override
public void run() { public void run() {
if (!fLoc.getChunk().isLoaded()) {
fLoc.getChunk().load();
}
player.teleport(fLoc); player.teleport(fLoc);
} }
}); });
@ -176,16 +176,16 @@ public class Management {
SpawnTeleportEvent tpEvent = new SpawnTeleportEvent(player, player.getLocation(), spawnLoc, true); SpawnTeleportEvent tpEvent = new SpawnTeleportEvent(player, player.getLocation(), spawnLoc, true);
pm.callEvent(tpEvent); pm.callEvent(tpEvent);
if(!tpEvent.isCancelled()) { if(!tpEvent.isCancelled()) {
if (!tpEvent.getTo().getWorld().getChunkAt(tpEvent.getTo()).isLoaded()) { final Location fLoc = tpEvent.getTo();
tpEvent.getTo().getWorld().getChunkAt(tpEvent.getTo()).load(); Bukkit.getScheduler().runTask(plugin, new Runnable() {
} @Override
final Location fLoc = tpEvent.getTo(); public void run() {
Bukkit.getScheduler().runTask(plugin, new Runnable() { if (!fLoc.getChunk().isLoaded()) {
@Override fLoc.getChunk().load();
public void run() { }
player.teleport(fLoc); player.teleport(fLoc);
} }
}); });
} }
} }
else if ((Settings.isSaveQuitLocationEnabled) && (getAuth.getQuitLocY() != 0)) else if ((Settings.isSaveQuitLocationEnabled) && (getAuth.getQuitLocY() != 0))
@ -196,13 +196,13 @@ public class Management {
AuthMeTeleportEvent tpEvent = new AuthMeTeleportEvent(player, limbo.getLoc()); AuthMeTeleportEvent tpEvent = new AuthMeTeleportEvent(player, limbo.getLoc());
pm.callEvent(tpEvent); pm.callEvent(tpEvent);
if(!tpEvent.isCancelled()) { if(!tpEvent.isCancelled()) {
if (!tpEvent.getTo().getWorld().getChunkAt(tpEvent.getTo()).isLoaded()) {
tpEvent.getTo().getWorld().getChunkAt(tpEvent.getTo()).load();
}
final Location fLoc = tpEvent.getTo(); final Location fLoc = tpEvent.getTo();
Bukkit.getScheduler().runTask(plugin, new Runnable() { Bukkit.getScheduler().runTask(plugin, new Runnable() {
@Override @Override
public void run() { public void run() {
if (!fLoc.getChunk().isLoaded()) {
fLoc.getChunk().load();
}
player.teleport(fLoc); player.teleport(fLoc);
} }
}); });
@ -319,16 +319,16 @@ public class Management {
AuthMeTeleportEvent tpEvent = new AuthMeTeleportEvent(player, quitLoc); AuthMeTeleportEvent tpEvent = new AuthMeTeleportEvent(player, quitLoc);
pm.callEvent(tpEvent); pm.callEvent(tpEvent);
if(!tpEvent.isCancelled()) { if(!tpEvent.isCancelled()) {
if (!tpEvent.getTo().getWorld().getChunkAt(tpEvent.getTo()).isLoaded()) { final Location fLoc = tpEvent.getTo();
tpEvent.getTo().getWorld().getChunkAt(tpEvent.getTo()).load(); Bukkit.getScheduler().runTask(plugin, new Runnable() {
} @Override
final Location fLoc = tpEvent.getTo(); public void run() {
Bukkit.getScheduler().runTask(plugin, new Runnable() { if (!fLoc.getChunk().isLoaded()) {
@Override fLoc.getChunk().load();
public void run() { }
player.teleport(fLoc); player.teleport(fLoc);
} }
}); });
} }
} }
else else
@ -336,16 +336,16 @@ public class Management {
AuthMeTeleportEvent tpEvent = new AuthMeTeleportEvent(player, limbo.getLoc()); AuthMeTeleportEvent tpEvent = new AuthMeTeleportEvent(player, limbo.getLoc());
pm.callEvent(tpEvent); pm.callEvent(tpEvent);
if(!tpEvent.isCancelled()) { if(!tpEvent.isCancelled()) {
if (!tpEvent.getTo().getWorld().getChunkAt(tpEvent.getTo()).isLoaded()) { final Location fLoc = tpEvent.getTo();
tpEvent.getTo().getWorld().getChunkAt(tpEvent.getTo()).load(); Bukkit.getScheduler().runTask(plugin, new Runnable() {
} @Override
final Location fLoc = tpEvent.getTo(); public void run() {
Bukkit.getScheduler().runTask(plugin, new Runnable() { if (!fLoc.getChunk().isLoaded()) {
@Override fLoc.getChunk().load();
public void run() { }
player.teleport(fLoc); player.teleport(fLoc);
} }
}); });
} }
} }
} }
@ -354,16 +354,16 @@ public class Management {
SpawnTeleportEvent tpEvent = new SpawnTeleportEvent(player, player.getLocation(), spawnLoc, true); SpawnTeleportEvent tpEvent = new SpawnTeleportEvent(player, player.getLocation(), spawnLoc, true);
pm.callEvent(tpEvent); pm.callEvent(tpEvent);
if(!tpEvent.isCancelled()) { if(!tpEvent.isCancelled()) {
if (!tpEvent.getTo().getWorld().getChunkAt(tpEvent.getTo()).isLoaded()) { final Location fLoc = tpEvent.getTo();
tpEvent.getTo().getWorld().getChunkAt(tpEvent.getTo()).load(); Bukkit.getScheduler().runTask(plugin, new Runnable() {
} @Override
final Location fLoc = tpEvent.getTo(); public void run() {
Bukkit.getScheduler().runTask(plugin, new Runnable() { if (!fLoc.getChunk().isLoaded()) {
@Override fLoc.getChunk().load();
public void run() { }
player.teleport(fLoc); player.teleport(fLoc);
} }
}); });
} }
} }
else if ((Settings.isSaveQuitLocationEnabled) && (database.getAuth(name).getQuitLocY() != 0)) { else if ((Settings.isSaveQuitLocationEnabled) && (database.getAuth(name).getQuitLocY() != 0)) {
@ -371,13 +371,13 @@ public class Management {
AuthMeTeleportEvent tpEvent = new AuthMeTeleportEvent(player, quitLoc); AuthMeTeleportEvent tpEvent = new AuthMeTeleportEvent(player, quitLoc);
pm.callEvent(tpEvent); pm.callEvent(tpEvent);
if(!tpEvent.isCancelled()) { if(!tpEvent.isCancelled()) {
if (!tpEvent.getTo().getWorld().getChunkAt(tpEvent.getTo()).isLoaded()) {
tpEvent.getTo().getWorld().getChunkAt(tpEvent.getTo()).load();
}
final Location fLoc = tpEvent.getTo(); final Location fLoc = tpEvent.getTo();
Bukkit.getScheduler().runTask(plugin, new Runnable() { Bukkit.getScheduler().runTask(plugin, new Runnable() {
@Override @Override
public void run() { public void run() {
if (!fLoc.getChunk().isLoaded()) {
fLoc.getChunk().load();
}
player.teleport(fLoc); player.teleport(fLoc);
} }
}); });
@ -388,13 +388,13 @@ public class Management {
AuthMeTeleportEvent tpEvent = new AuthMeTeleportEvent(player, limbo.getLoc()); AuthMeTeleportEvent tpEvent = new AuthMeTeleportEvent(player, limbo.getLoc());
pm.callEvent(tpEvent); pm.callEvent(tpEvent);
if(!tpEvent.isCancelled()) { if(!tpEvent.isCancelled()) {
if (!tpEvent.getTo().getWorld().getChunkAt(tpEvent.getTo()).isLoaded()) {
tpEvent.getTo().getWorld().getChunkAt(tpEvent.getTo()).load();
}
final Location fLoc = tpEvent.getTo(); final Location fLoc = tpEvent.getTo();
Bukkit.getScheduler().runTask(plugin, new Runnable() { Bukkit.getScheduler().runTask(plugin, new Runnable() {
@Override @Override
public void run() { public void run() {
if (!fLoc.getChunk().isLoaded()) {
fLoc.getChunk().load();
}
player.teleport(fLoc); player.teleport(fLoc);
} }
}); });

View File

@ -597,25 +597,25 @@ public class AuthMePlayerListener implements Listener {
if (name.length() > max || name.length() < min) { if (name.length() > max || name.length() < min) {
event.disallow(Result.KICK_OTHER, m._("name_len")); event.disallow(PlayerLoginEvent.Result.KICK_OTHER, m._("name_len"));
return; return;
} }
if (!player.getName().matches(regex) || name.equals("Player")) { if (!player.getName().matches(regex) || name.equals("Player")) {
try { try {
event.disallow(Result.KICK_OTHER, m._("regex").replaceAll("REG_EX", regex)); event.disallow(PlayerLoginEvent.Result.KICK_OTHER, m._("regex").replaceAll("REG_EX", regex));
} catch (StringIndexOutOfBoundsException exc) { } catch (StringIndexOutOfBoundsException exc) {
event.disallow(Result.KICK_OTHER, "allowed char : " + regex); event.disallow(PlayerLoginEvent.Result.KICK_OTHER, "allowed char : " + regex);
} }
return; return;
} }
if (Settings.isKickNonRegisteredEnabled) { if (Settings.isKickNonRegisteredEnabled) {
if (!data.isAuthAvailable(name)) { if (!data.isAuthAvailable(name)) {
event.disallow(Result.KICK_OTHER, m._("reg_only")); event.disallow(PlayerLoginEvent.Result.KICK_OTHER, m._("reg_only"));
return; return;
} }
} }
if (event.getResult() != Result.KICK_FULL) return; if (event.getResult() != PlayerLoginEvent.Result.KICK_FULL) return;
if (player.isBanned()) return; if (player.isBanned()) return;
if (!player.hasPermission("authme.vip")) { if (!player.hasPermission("authme.vip")) {
event.disallow(Result.KICK_FULL, m._("kick_fullserver")); event.disallow(Result.KICK_FULL, m._("kick_fullserver"));

View File

@ -3,7 +3,7 @@ author: darkwarriros,Xephi
website: http://www.multiplayer-italia.com/ website: http://www.multiplayer-italia.com/
description: AuthMe prevents people, which aren't logged in, from doing stuff like placing blocks, moving, typing commands or seeing the inventory of the current player. description: AuthMe prevents people, which aren't logged in, from doing stuff like placing blocks, moving, typing commands or seeing the inventory of the current player.
main: uk.org.whoami.authme.AuthMe main: uk.org.whoami.authme.AuthMe
version: 2.7.14 version: 2.7.15
softdepend: [Vault, ChestShop, Spout, Multiverse-Core, Notifications, Citizens, CombatTag] softdepend: [Vault, ChestShop, Spout, Multiverse-Core, Notifications, Citizens, CombatTag]
commands: commands:
register: register: