forked from SteamWar/SteamWar
Merge pull request 'Update WorldEdit CUI to RBlockDisplay' (#34) from WorldEditCUI into main
Reviewed-on: SteamWar/SteamWar#34 Reviewed-by: D4rkr34lm <dark@steamwar.de>
This commit is contained in:
@@ -27,19 +27,33 @@ import com.velocitypowered.api.proxy.server.ServerInfo;
|
||||
import com.viaversion.viaversion.api.Via;
|
||||
import com.viaversion.viaversion.velocity.platform.VelocityViaConfig;
|
||||
import de.steamwar.messages.Chatter;
|
||||
import de.steamwar.network.packets.server.ClientVersionPacket;
|
||||
import de.steamwar.persistent.Subserver;
|
||||
import de.steamwar.velocitycore.VelocityCore;
|
||||
import de.steamwar.velocitycore.network.NetworkSender;
|
||||
|
||||
import java.time.Duration;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
|
||||
public class VersionAnnouncer extends BasicListener {
|
||||
|
||||
@Subscribe
|
||||
public void postConnect(ServerConnectedEvent e) {
|
||||
ServerInfo server = e.getServer().getServerInfo();
|
||||
if(!Subserver.isBuild(Subserver.getSubserver(server)))
|
||||
return;
|
||||
|
||||
Player player = e.getPlayer();
|
||||
int serverVersion = ((VelocityViaConfig) Via.getConfig()).getVelocityServerProtocols().get(server.getName());
|
||||
if(Via.getAPI().getPlayerVersion(player) == serverVersion)
|
||||
|
||||
int playerVersion = Via.getAPI().getPlayerVersion(player);
|
||||
String version = ProtocolVersion.getProtocolVersion(playerVersion).getVersionIntroducedIn();
|
||||
// PluginChannel 'vv:proxy_details' from ViaVersion apparently does not work any longer!
|
||||
VelocityCore.schedule(() -> {
|
||||
NetworkSender.send(player, new ClientVersionPacket(player.getUniqueId(), Integer.parseInt(version.split("-")[0].split("\\.")[1])));
|
||||
}).delay(Duration.of(100, ChronoUnit.MILLIS)).schedule();
|
||||
|
||||
if(playerVersion == serverVersion)
|
||||
return;
|
||||
|
||||
if(!Subserver.isBuild(Subserver.getSubserver(server)))
|
||||
return;
|
||||
|
||||
player.sendActionBar(Chatter.of(player).parse("SERVER_VERSION", ProtocolVersion.getProtocolVersion(serverVersion).getMostRecentSupportedVersion()));
|
||||
|
||||
Reference in New Issue
Block a user