use of com.viaversion.viaversion.api.connection.ProtocolInfo in project ViaFabric by ViaVersion.
the class MixinDebugHud method getLeftText.
@Inject(at = @At("RETURN"), method = "getLeftText")
protected void getLeftText(CallbackInfoReturnable<List<String>> info) {
String line = "[ViaFabric] I: " + Via.getManager().getConnectionManager().getConnections().size() + " (F: " + Via.getManager().getConnectionManager().getConnectedClients().size() + ")";
@SuppressWarnings("ConstantConditions") ChannelHandler viaDecoder = ((MixinClientConnectionAccessor) MinecraftClient.getInstance().getNetworkHandler().getConnection()).getChannel().pipeline().get(CommonTransformer.HANDLER_DECODER_NAME);
if (viaDecoder instanceof FabricDecodeHandler) {
ProtocolInfo protocol = ((FabricDecodeHandler) viaDecoder).getInfo().getProtocolInfo();
if (protocol != null) {
ProtocolVersion serverVer = ProtocolVersion.getProtocol(protocol.getServerProtocolVersion());
ProtocolVersion clientVer = ProtocolVersion.getProtocol(protocol.getProtocolVersion());
line += " / C: " + clientVer + " S: " + serverVer + " A: " + protocol.getUser().isActive();
}
}
info.getReturnValue().add(line);
}
use of com.viaversion.viaversion.api.connection.ProtocolInfo in project ViaVersion by ViaVersion.
the class BukkitInventoryQuickMoveProvider method registerQuickMoveAction.
@Override
public boolean registerQuickMoveAction(short windowId, short slotId, short actionId, UserConnection userConnection) {
if (!supported) {
return false;
}
if (slotId < 0) {
// clicked out of inv slot
return false;
}
if (windowId == 0) {
// This has almost definitely something to do with the offhand slot.
if (slotId >= 36 && slotId <= 45) {
int protocolId = Via.getAPI().getServerVersion().lowestSupportedVersion();
// this seems to be working just fine.
if (protocolId == ProtocolVersion.v1_8.getVersion()) {
return false;
}
}
}
ProtocolInfo info = userConnection.getProtocolInfo();
UUID uuid = info.getUuid();
BukkitInventoryUpdateTask updateTask = updateTasks.get(uuid);
final boolean registered = updateTask != null;
if (!registered) {
updateTask = new BukkitInventoryUpdateTask(this, uuid);
updateTasks.put(uuid, updateTask);
}
// http://wiki.vg/index.php?title=Protocol&oldid=13223#Click_Window
updateTask.addItem(windowId, slotId, actionId);
if (!registered && Via.getPlatform().isPluginEnabled()) {
Via.getPlatform().runSync(updateTask);
}
return true;
}
Aggregations