3
0
Mirror von https://github.com/ViaVersion/ViaVersion.git synchronisiert 2024-12-27 08:30:09 +01:00

javadoc, remove ViaAPIs getPortedPlayers, fix ViaManager.getPortedPlayers name, rename to ViaAPI#isInjected

Dieser Commit ist enthalten in:
creeper123123321 2020-04-15 11:35:09 -03:00
Ursprung ee7eaecdb3
Commit 17881b342a
8 geänderte Dateien mit 64 neuen und 67 gelöschten Zeilen

Datei anzeigen

@ -16,7 +16,6 @@ import us.myles.ViaVersion.boss.ViaBossBar;
import us.myles.ViaVersion.bukkit.util.ProtocolSupportUtil; import us.myles.ViaVersion.bukkit.util.ProtocolSupportUtil;
import us.myles.ViaVersion.protocols.base.ProtocolInfo; import us.myles.ViaVersion.protocols.base.ProtocolInfo;
import java.util.Map;
import java.util.SortedSet; import java.util.SortedSet;
import java.util.TreeSet; import java.util.TreeSet;
import java.util.UUID; import java.util.UUID;
@ -35,9 +34,9 @@ public class BukkitViaAPI implements ViaAPI<Player> {
@Override @Override
public int getPlayerVersion(@NonNull UUID uuid) { public int getPlayerVersion(@NonNull UUID uuid) {
if (!isPorted(uuid)) if (!isInjected(uuid))
return getExternalVersion(Bukkit.getPlayer(uuid)); return getExternalVersion(Bukkit.getPlayer(uuid));
return getPortedPlayers().get(uuid).get(ProtocolInfo.class).getProtocolVersion(); return Via.getManager().getConnection(uuid).get(ProtocolInfo.class).getProtocolVersion();
} }
private int getExternalVersion(Player player) { private int getExternalVersion(Player player) {
@ -49,8 +48,8 @@ public class BukkitViaAPI implements ViaAPI<Player> {
} }
@Override @Override
public boolean isPorted(UUID playerUUID) { public boolean isInjected(UUID playerUUID) {
return getPortedPlayers().containsKey(playerUUID); return Via.getManager().isClientConnected(playerUUID);
} }
@Override @Override
@ -60,8 +59,8 @@ public class BukkitViaAPI implements ViaAPI<Player> {
@Override @Override
public void sendRawPacket(UUID uuid, ByteBuf packet) throws IllegalArgumentException { public void sendRawPacket(UUID uuid, ByteBuf packet) throws IllegalArgumentException {
if (!isPorted(uuid)) throw new IllegalArgumentException("This player is not controlled by ViaVersion!"); if (!isInjected(uuid)) throw new IllegalArgumentException("This player is not controlled by ViaVersion!");
UserConnection ci = getPortedPlayers().get(uuid); UserConnection ci = Via.getManager().getConnection(uuid);
ci.sendRawPacket(packet); ci.sendRawPacket(packet);
} }
@ -107,7 +106,4 @@ public class BukkitViaAPI implements ViaAPI<Player> {
return plugin.isProtocolSupport(); return plugin.isProtocolSupport();
} }
private Map<UUID, UserConnection> getPortedPlayers() {
return Via.getManager().getConnectedClients();
}
} }

Datei anzeigen

@ -15,7 +15,6 @@ import us.myles.ViaVersion.api.protocol.ProtocolRegistry;
import us.myles.ViaVersion.bungee.service.ProtocolDetectorService; import us.myles.ViaVersion.bungee.service.ProtocolDetectorService;
import us.myles.ViaVersion.protocols.base.ProtocolInfo; import us.myles.ViaVersion.protocols.base.ProtocolInfo;
import java.util.Map;
import java.util.SortedSet; import java.util.SortedSet;
import java.util.TreeSet; import java.util.TreeSet;
import java.util.UUID; import java.util.UUID;
@ -23,24 +22,21 @@ import java.util.UUID;
public class BungeeViaAPI implements ViaAPI<ProxiedPlayer> { public class BungeeViaAPI implements ViaAPI<ProxiedPlayer> {
@Override @Override
public int getPlayerVersion(@NonNull ProxiedPlayer player) { public int getPlayerVersion(@NonNull ProxiedPlayer player) {
if (!isPorted(player.getUniqueId())) UserConnection conn = Via.getManager().getConnection(player.getUniqueId());
if (conn == null) {
return player.getPendingConnection().getVersion(); return player.getPendingConnection().getVersion();
return getPortedPlayers().get(player.getUniqueId()).get(ProtocolInfo.class).getProtocolVersion(); }
return conn.get(ProtocolInfo.class).getProtocolVersion();
} }
@Override @Override
public int getPlayerVersion(@NonNull UUID uuid) { public int getPlayerVersion(@NonNull UUID uuid) {
if (!isPorted(uuid)) { return getPlayerVersion(ProxyServer.getInstance().getPlayer(uuid));
ProxiedPlayer player = ProxyServer.getInstance().getPlayer(uuid);
if (player != null) return player.getPendingConnection().getVersion();
return ProtocolRegistry.SERVER_PROTOCOL;
}
return getPortedPlayers().get(uuid).get(ProtocolInfo.class).getProtocolVersion();
} }
@Override @Override
public boolean isPorted(UUID playerUUID) { public boolean isInjected(UUID playerUUID) {
return getPortedPlayers().containsKey(playerUUID); return Via.getManager().isClientConnected(playerUUID);
} }
@Override @Override
@ -50,8 +46,10 @@ public class BungeeViaAPI implements ViaAPI<ProxiedPlayer> {
@Override @Override
public void sendRawPacket(UUID uuid, ByteBuf packet) throws IllegalArgumentException { public void sendRawPacket(UUID uuid, ByteBuf packet) throws IllegalArgumentException {
if (!isPorted(uuid)) throw new IllegalArgumentException("This player is not controlled by ViaVersion!"); if (!isInjected(uuid)) {
UserConnection ci = getPortedPlayers().get(uuid); throw new IllegalArgumentException("This player is not controlled by ViaVersion!");
}
UserConnection ci = Via.getManager().getConnection(uuid);
ci.sendRawPacket(packet); ci.sendRawPacket(packet);
} }
@ -78,10 +76,6 @@ public class BungeeViaAPI implements ViaAPI<ProxiedPlayer> {
return outputSet; return outputSet;
} }
private Map<UUID, UserConnection> getPortedPlayers() {
return Via.getManager().getConnectedClients();
}
/** /**
* Forces ViaVersion to probe a server * Forces ViaVersion to probe a server
* *

Datei anzeigen

@ -21,11 +21,11 @@ import java.util.UUID;
public class ViaManager { public class ViaManager {
private final ViaPlatform<?> platform; private final ViaPlatform<?> platform;
private final ViaProviders providers = new ViaProviders(); private final ViaProviders providers = new ViaProviders();
private boolean debug;
// Internals // Internals
private final ViaInjector injector; private final ViaInjector injector;
private final ViaCommandHandler commandHandler; private final ViaCommandHandler commandHandler;
private final ViaPlatformLoader loader; private final ViaPlatformLoader loader;
private boolean debug;
@Builder @Builder
public ViaManager(ViaPlatform<?> platform, ViaInjector injector, ViaCommandHandler commandHandler, ViaPlatformLoader loader) { public ViaManager(ViaPlatform<?> platform, ViaInjector injector, ViaCommandHandler commandHandler, ViaPlatformLoader loader) {
@ -118,7 +118,7 @@ public class ViaManager {
* @deprecated use getConnectedClients() * @deprecated use getConnectedClients()
*/ */
@Deprecated @Deprecated
public Map<UUID, UserConnection> getPortedClients() { public Map<UUID, UserConnection> getPortedPlayers() {
return getConnectedClients(); return getConnectedClients();
} }
@ -126,6 +126,10 @@ public class ViaManager {
return platform.getConnectionManager().getConnectedClients(); return platform.getConnectionManager().getConnectedClients();
} }
public boolean isClientConnected(UUID player) {
return platform.getConnectionManager().isClientConnected(player);
}
public void handleLoginSuccess(UserConnection info) { public void handleLoginSuccess(UserConnection info) {
platform.getConnectionManager().onLoginSuccess(info); platform.getConnectionManager().onLoginSuccess(info);
} }

Datei anzeigen

@ -38,10 +38,21 @@ public interface ViaAPI<T> {
* *
* @param playerUUID UUID of a player * @param playerUUID UUID of a player
* @return true if Via has a cached userconnection for this player * @return true if Via has a cached userconnection for this player
* @deprecated as of 0.9.9, because all players are ported use {@link #getPlayerVersion(UUID)} * @deprecated as of 0.9.9, because all players are ported use {@link #getPlayerVersion(UUID)},
* or use {@link #isInjected(UUID)}
*/ */
@Deprecated @Deprecated
boolean isPorted(UUID playerUUID); default boolean isPorted(UUID playerUUID) {
return isInjected(playerUUID);
}
/**
* Returns if Via injected into this player connection
*
* @param playerUUID UUID of a player
* @return true if Via has a cached UserConnection for this player
*/
boolean isInjected(UUID playerUUID);
/** /**
* Get the version of the plugin * Get the version of the plugin

Datei anzeigen

@ -7,7 +7,7 @@ import java.util.*;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
/** /**
* Handles UserConnections * Handles injected UserConnections
*/ */
public class ViaConnectionManager { public class ViaConnectionManager {
protected final Map<UUID, UserConnection> clients = new ConcurrentHashMap<>(); protected final Map<UUID, UserConnection> clients = new ConcurrentHashMap<>();
@ -30,6 +30,8 @@ public class ViaConnectionManager {
/** /**
* Returns a map containing the UUIDs and frontend UserConnections from players connected to this proxy server * Returns a map containing the UUIDs and frontend UserConnections from players connected to this proxy server
* Returns empty list when there isn't a server * Returns empty list when there isn't a server
* When ViaVersion is reloaded, this method may not return some players.
* May not contain ProtocolSupport players.
*/ */
public Map<UUID, UserConnection> getConnectedClients() { public Map<UUID, UserConnection> getConnectedClients() {
return Collections.unmodifiableMap(clients); return Collections.unmodifiableMap(clients);
@ -38,17 +40,25 @@ public class ViaConnectionManager {
/** /**
* Returns the frontend UserConnection from the player connected to this proxy server * Returns the frontend UserConnection from the player connected to this proxy server
* Returns null when there isn't a server or connection was not found * Returns null when there isn't a server or connection was not found
* When ViaVersion is reloaded, this method may not return some players.
* May not return ProtocolSupport players.
*/ */
public UserConnection getConnectedClient(UUID clientIdentifier) { public UserConnection getConnectedClient(UUID clientIdentifier) {
return clients.get(clientIdentifier); return clients.get(clientIdentifier);
} }
/** /**
* Returns all UserConnections which are active * Returns all UserConnections which are registered
* May contain duplicated UUIDs on multiple ProtocolInfo. * May contain duplicated UUIDs on multiple ProtocolInfo.
* May contain frontend, backend and/or client-sided connections. * May contain frontend, backend and/or client-sided connections.
* When ViaVersion is reloaded, this method may not return some players.
* May not contain ProtocolSupport players.
*/ */
public Set<UserConnection> getConnections() { public Set<UserConnection> getConnections() {
return Collections.unmodifiableSet(connections); return Collections.unmodifiableSet(connections);
} }
public boolean isClientConnected(UUID playerId) {
return clients.containsKey(playerId);
}
} }

Datei anzeigen

@ -161,7 +161,7 @@ public abstract class CommonBoss<T> extends BossBar<T> {
} }
private void sendPacket(UUID uuid, PacketWrapper wrapper) { private void sendPacket(UUID uuid, PacketWrapper wrapper) {
if (!Via.getAPI().isPorted(uuid) || !(Via.getAPI().getPlayerVersion(uuid) >= ProtocolVersion.v1_9.getId())) { if (!Via.getAPI().isInjected(uuid) || !(Via.getAPI().getPlayerVersion(uuid) >= ProtocolVersion.v1_9.getId())) {
players.remove(uuid); players.remove(uuid);
return; return;
} }

Datei anzeigen

@ -12,7 +12,6 @@ import us.myles.ViaVersion.api.data.UserConnection;
import us.myles.ViaVersion.api.protocol.ProtocolRegistry; import us.myles.ViaVersion.api.protocol.ProtocolRegistry;
import us.myles.ViaVersion.protocols.base.ProtocolInfo; import us.myles.ViaVersion.protocols.base.ProtocolInfo;
import java.util.Map;
import java.util.SortedSet; import java.util.SortedSet;
import java.util.TreeSet; import java.util.TreeSet;
import java.util.UUID; import java.util.UUID;
@ -21,21 +20,19 @@ public class SpongeViaAPI implements ViaAPI<Player> {
@Override @Override
public int getPlayerVersion(@NonNull Player player) { public int getPlayerVersion(@NonNull Player player) {
if (!isPorted(player.getUniqueId())) return getPlayerVersion(player.getUniqueId());
return ProtocolRegistry.SERVER_PROTOCOL;
return getPortedPlayers().get(player.getUniqueId()).get(ProtocolInfo.class).getProtocolVersion();
} }
@Override @Override
public int getPlayerVersion(@NonNull UUID uuid) { public int getPlayerVersion(@NonNull UUID uuid) {
if (!isPorted(uuid)) if (!isInjected(uuid))
return ProtocolRegistry.SERVER_PROTOCOL; return ProtocolRegistry.SERVER_PROTOCOL;
return getPortedPlayers().get(uuid).get(ProtocolInfo.class).getProtocolVersion(); return Via.getManager().getConnection(uuid).get(ProtocolInfo.class).getProtocolVersion();
} }
@Override @Override
public boolean isPorted(UUID playerUUID) { public boolean isInjected(UUID playerUUID) {
return getPortedPlayers().containsKey(playerUUID); return Via.getManager().isClientConnected(playerUUID);
} }
@Override @Override
@ -45,8 +42,8 @@ public class SpongeViaAPI implements ViaAPI<Player> {
@Override @Override
public void sendRawPacket(UUID uuid, ByteBuf packet) throws IllegalArgumentException { public void sendRawPacket(UUID uuid, ByteBuf packet) throws IllegalArgumentException {
if (!isPorted(uuid)) throw new IllegalArgumentException("This player is not controlled by ViaVersion!"); if (!isInjected(uuid)) throw new IllegalArgumentException("This player is not controlled by ViaVersion!");
UserConnection ci = getPortedPlayers().get(uuid); UserConnection ci = Via.getManager().getConnection(uuid);
ci.sendRawPacket(packet); ci.sendRawPacket(packet);
} }
@ -72,8 +69,4 @@ public class SpongeViaAPI implements ViaAPI<Player> {
return outputSet; return outputSet;
} }
private Map<UUID, UserConnection> getPortedPlayers() {
return Via.getManager().getConnectedClients();
}
} }

Datei anzeigen

@ -1,7 +1,5 @@
package us.myles.ViaVersion.velocity.platform; package us.myles.ViaVersion.velocity.platform;
import com.velocitypowered.api.network.ProtocolVersion;
import com.velocitypowered.api.proxy.InboundConnection;
import com.velocitypowered.api.proxy.Player; import com.velocitypowered.api.proxy.Player;
import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBuf;
import lombok.NonNull; import lombok.NonNull;
@ -15,7 +13,7 @@ import us.myles.ViaVersion.api.data.UserConnection;
import us.myles.ViaVersion.api.protocol.ProtocolRegistry; import us.myles.ViaVersion.api.protocol.ProtocolRegistry;
import us.myles.ViaVersion.protocols.base.ProtocolInfo; import us.myles.ViaVersion.protocols.base.ProtocolInfo;
import java.util.Map; import java.util.NoSuchElementException;
import java.util.SortedSet; import java.util.SortedSet;
import java.util.TreeSet; import java.util.TreeSet;
import java.util.UUID; import java.util.UUID;
@ -23,25 +21,19 @@ import java.util.UUID;
public class VelocityViaAPI implements ViaAPI<Player> { public class VelocityViaAPI implements ViaAPI<Player> {
@Override @Override
public int getPlayerVersion(@NonNull Player player) { public int getPlayerVersion(@NonNull Player player) {
if (!isPorted(player.getUniqueId())) if (!isInjected(player.getUniqueId()))
return player.getProtocolVersion().getProtocol(); return player.getProtocolVersion().getProtocol();
return getPortedPlayers().get(player.getUniqueId()).get(ProtocolInfo.class).getProtocolVersion(); return Via.getManager().getConnection(player.getUniqueId()).get(ProtocolInfo.class).getProtocolVersion();
} }
@Override @Override
public int getPlayerVersion(@NonNull UUID uuid) { public int getPlayerVersion(@NonNull UUID uuid) {
if (!isPorted(uuid)) { return getPlayerVersion(VelocityPlugin.PROXY.getPlayer(uuid).orElseThrow(NoSuchElementException::new));
return VelocityPlugin.PROXY.getPlayer(uuid)
.map(InboundConnection::getProtocolVersion)
.map(ProtocolVersion::getProtocol)
.orElse(ProtocolRegistry.SERVER_PROTOCOL);
}
return getPortedPlayers().get(uuid).get(ProtocolInfo.class).getProtocolVersion();
} }
@Override @Override
public boolean isPorted(UUID playerUUID) { public boolean isInjected(UUID playerUUID) {
return getPortedPlayers().containsKey(playerUUID); return Via.getManager().isClientConnected(playerUUID);
} }
@Override @Override
@ -51,8 +43,8 @@ public class VelocityViaAPI implements ViaAPI<Player> {
@Override @Override
public void sendRawPacket(UUID uuid, ByteBuf packet) throws IllegalArgumentException { public void sendRawPacket(UUID uuid, ByteBuf packet) throws IllegalArgumentException {
if (!isPorted(uuid)) throw new IllegalArgumentException("This player is not controlled by ViaVersion!"); if (!isInjected(uuid)) throw new IllegalArgumentException("This player is not controlled by ViaVersion!");
UserConnection ci = getPortedPlayers().get(uuid); UserConnection ci = Via.getManager().getConnection(uuid);
ci.sendRawPacket(packet); ci.sendRawPacket(packet);
} }
@ -79,7 +71,4 @@ public class VelocityViaAPI implements ViaAPI<Player> {
return outputSet; return outputSet;
} }
private Map<UUID, UserConnection> getPortedPlayers() {
return Via.getManager().getConnectedClients();
}
} }