Update fake player methods

This commit is contained in:
games647
2016-06-29 19:04:12 +02:00
parent a811a741f5
commit 8d1021e44c
4 changed files with 46 additions and 13 deletions

View File

@ -1424,4 +1424,34 @@ public class FakePlayer implements Player {
public boolean isCollidable() {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void stopSound(Sound sound) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void stopSound(String sound) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isSilent() {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void setSilent(boolean flag) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean hasGravity() {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void setGravity(boolean gravity) {
throw new UnsupportedOperationException("Not supported yet.");
}
}

View File

@ -45,31 +45,31 @@ public class PluginMessageListener implements Listener {
ByteArrayDataInput dataInput = ByteStreams.newDataInput(data);
String subchannel = dataInput.readUTF();
ProxiedPlayer fromPlayer = (ProxiedPlayer) pluginMessageEvent.getReceiver();
ProxiedPlayer forPlayer = (ProxiedPlayer) pluginMessageEvent.getReceiver();
if ("ON".equals(subchannel)) {
String playerName = dataInput.readUTF();
if (playerName.equals(fromPlayer.getName()) && plugin.getConfig().getBoolean("premium-warning")
&& !plugin.getPendingConfirms().contains(fromPlayer.getUniqueId())) {
fromPlayer.sendMessage(TextComponent.fromLegacyText(plugin.getCore().getMessage("premium-warning")));
plugin.getPendingConfirms().add(fromPlayer.getUniqueId());
if (playerName.equals(forPlayer.getName()) && plugin.getConfig().getBoolean("premium-warning")
&& !plugin.getPendingConfirms().contains(forPlayer.getUniqueId())) {
forPlayer.sendMessage(TextComponent.fromLegacyText(plugin.getCore().getMessage("premium-warning")));
plugin.getPendingConfirms().add(forPlayer.getUniqueId());
return;
}
plugin.getPendingConfirms().remove(fromPlayer.getUniqueId());
AsyncToggleMessage task = new AsyncToggleMessage(plugin, fromPlayer, playerName, true);
plugin.getPendingConfirms().remove(forPlayer.getUniqueId());
AsyncToggleMessage task = new AsyncToggleMessage(plugin, forPlayer, playerName, true);
ProxyServer.getInstance().getScheduler().runAsync(plugin, task);
} else if ("OFF".equals(subchannel)) {
String playerName = dataInput.readUTF();
AsyncToggleMessage task = new AsyncToggleMessage(plugin, fromPlayer, playerName, false);
AsyncToggleMessage task = new AsyncToggleMessage(plugin, forPlayer, playerName, false);
ProxyServer.getInstance().getScheduler().runAsync(plugin, task);
} else if ("SUCCESS".equals(subchannel)) {
if (fromPlayer.getPendingConnection().isOnlineMode()) {
if (forPlayer.getPendingConnection().isOnlineMode()) {
//bukkit module successfully received and force logged in the user
//update only on success to prevent corrupt data
PlayerProfile playerProfile = plugin.getCore().getStorage().loadProfile(fromPlayer.getName());
BungeeLoginSession loginSession = plugin.getSession().get(fromPlayer.getPendingConnection());
PlayerProfile playerProfile = plugin.getCore().getStorage().loadProfile(forPlayer.getName());
BungeeLoginSession loginSession = plugin.getSession().get(forPlayer.getPendingConnection());
loginSession.setRegistered(true);
if (!loginSession.isAlreadySaved()) {

View File

@ -31,12 +31,14 @@ public class ForceLoginTask implements Runnable {
try {
PendingConnection pendingConnection = player.getPendingConnection();
BungeeLoginSession session = plugin.getSession().get(pendingConnection);
PlayerProfile playerProfile = session.getProfile();
if (!player.isConnected()) {
if (session == null || !player.isConnected()) {
plugin.getLogger().log(Level.FINE, "Invalid session player {0} proparly left the server", player);
return;
}
PlayerProfile playerProfile = session.getProfile();
//force login only on success
if (pendingConnection.isOnlineMode()) {
boolean autoRegister = session.needsRegistration();

View File

@ -112,6 +112,7 @@ public abstract class MojangApiConnector {
try {
HttpURLConnection httpConnection = (HttpURLConnection) new URL(MCAPI_UUID_URL + playerName).openConnection();
httpConnection.addRequestProperty("Content-Type", "application/json");
httpConnection.setRequestProperty("User-Agent", USER_AGENT);
if (httpConnection.getResponseCode() == HttpURLConnection.HTTP_NOT_FOUND) {
//cracked