Skip to content

Commit b042cb9

Browse files
authored
Merge pull request Swofty-Developments#662 from ArikSquad/fix/viaversion-1.21.1
Proper ViaVersion
2 parents 69960be + d20dc74 commit b042cb9

7 files changed

Lines changed: 59 additions & 61 deletions

File tree

commons/src/main/java/net/swofty/commons/MinecraftVersion.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,14 @@ public enum MinecraftVersion {
4848
MINECRAFT_1_20_5(766, new String[]{"1.20.5", "1.20.6"}),
4949
MINECRAFT_1_21(767, new String[]{"1.21", "1.21.1"}),
5050
MINECRAFT_1_21_2(768, new String[]{"1.21.2", "1.21.3"}),
51+
MINECRAFT_1_21_4(769, new String[]{"1.21.4"}),
52+
MINECRAFT_1_21_5(770, new String[]{"1.21.5"}),
53+
MINECRAFT_1_21_6(771, new String[]{"1.21.6"}),
54+
MINECRAFT_1_21_7(772, new String[]{"1.21.7"}),
55+
MINECRAFT_1_21_8(772, new String[]{"1.21.8"}),
56+
MINECRAFT_1_21_9(773, new String[]{"1.21.9"}),
57+
MINECRAFT_1_21_10(773, new String[]{"1.21.10"}),
58+
MINECRAFT_1_21_11(774, new String[]{"1.21.11"}),
5159
;
5260

5361
private final int protocol;
@@ -64,7 +72,5 @@ public static MinecraftVersion byProtocolId(int protocolID) {
6472
.findFirst()
6573
.orElse(null);
6674
}
67-
public boolean isMoreRecentThan(MinecraftVersion version) {
68-
return this.protocol > version.protocol;
69-
}
75+
7076
}

type.generic/src/main/java/net/swofty/type/generic/event/actions/ActionPlayerWarnCrossVersion.java

Lines changed: 0 additions & 29 deletions
This file was deleted.

type.generic/src/main/java/net/swofty/type/generic/user/HypixelPlayer.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,6 @@ public class HypixelPlayer extends Player {
3232
@Setter
3333
@Getter
3434
private ServerType originServer = ServerType.SKYBLOCK_HUB;
35-
@Setter
36-
@Getter
37-
private MinecraftVersion version = MinecraftVersion.MINECRAFT_1_20_3;
3835
@Getter
3936
private boolean readyForEvents = false;
4037
@Getter

type.skyblockgeneric/src/main/java/net/swofty/type/skyblockgeneric/commands/VersionCommand.java

Lines changed: 0 additions & 25 deletions
This file was deleted.

velocity.extension/src/main/java/net/swofty/velocity/SkyBlockVelocity.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,10 @@
1313
import com.velocitypowered.api.event.player.KickedFromServerEvent;
1414
import com.velocitypowered.api.event.player.PlayerChooseInitialServerEvent;
1515
import com.velocitypowered.api.event.player.ServerConnectedEvent;
16+
import com.velocitypowered.api.event.player.ServerPostConnectEvent;
1617
import com.velocitypowered.api.event.proxy.ProxyInitializeEvent;
1718
import com.velocitypowered.api.event.proxy.ProxyPingEvent;
19+
import com.velocitypowered.api.network.ProtocolVersion;
1820
import com.velocitypowered.api.permission.PermissionFunction;
1921
import com.velocitypowered.api.plugin.Plugin;
2022
import com.velocitypowered.api.plugin.annotation.DataDirectory;
@@ -37,6 +39,7 @@
3739
import net.swofty.commons.ServerType;
3840
import net.swofty.commons.proxy.FromProxyChannels;
3941
import net.swofty.redisapi.api.RedisAPI;
42+
import net.swofty.velocity.command.ProtocolVersionCommand;
4043
import net.swofty.velocity.command.ServerStatusCommand;
4144
import net.swofty.velocity.data.CoopDatabase;
4245
import net.swofty.velocity.data.ProfilesDatabase;
@@ -174,6 +177,13 @@ public void onProxyInitialization(ProxyInitializeEvent event) {
174177

175178
commandManager.register(statusCommandMeta, new ServerStatusCommand());
176179

180+
CommandMeta protocolVersionMeta = commandManager.metaBuilder("protocolversion")
181+
.aliases("protocol")
182+
.plugin(this)
183+
.build();
184+
185+
commandManager.register(protocolVersionMeta, new ProtocolVersionCommand());
186+
177187

178188
/**
179189
* Handle database
@@ -339,6 +349,22 @@ public void onPing(ProxyPingEvent event) {
339349
));
340350
}
341351

352+
@Subscribe
353+
public void onPlayerConnect(ServerPostConnectEvent event) {
354+
if (!(event.getPlayer().getProtocolVersion().getProtocol() >= ProtocolVersion.MAXIMUM_VERSION.getProtocol())) {
355+
StringBuilder message = new StringBuilder();
356+
357+
message.append("\n");
358+
message.append("§6§l----------- §cServer Notice §6§l-----------\n");
359+
message.append("§cAlthough we do support versions prior to §6" + ProtocolVersion.MAXIMUM_VERSION.getVersionIntroducedIn() + "§c, the experience may be buggy.\n");
360+
message.append("§cIf you experience a bug, please test if it also occurs on §6" + ProtocolVersion.MAXIMUM_VERSION.getVersionIntroducedIn() + "§c before reporting it.\n");
361+
message.append("§6§l---------------------------------\n");
362+
message.append("\n");
363+
364+
event.getPlayer().sendMessage(Component.text(message.toString()));
365+
}
366+
}
367+
342368
public static <T> Stream<T> loopThroughPackage(String packageName, Class<T> clazz) {
343369
Reflections reflections = new Reflections(packageName);
344370
Set<Class<? extends T>> subTypes = reflections.getSubTypesOf(clazz);
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package net.swofty.velocity.command;
2+
3+
import com.velocitypowered.api.command.CommandSource;
4+
import com.velocitypowered.api.command.SimpleCommand;
5+
import com.velocitypowered.api.network.ProtocolVersion;
6+
import com.velocitypowered.api.proxy.Player;
7+
import net.kyori.adventure.text.Component;
8+
9+
import java.util.List;
10+
11+
public class ProtocolVersionCommand implements SimpleCommand {
12+
13+
@Override
14+
public void execute(Invocation invocation) {
15+
CommandSource source = invocation.source();
16+
if (!(source instanceof Player player)) {
17+
return;
18+
}
19+
ProtocolVersion version = player.getProtocolVersion();
20+
List<String> versionsSupportedBy = version.getVersionsSupportedBy();
21+
player.sendMessage(Component.text(version.getProtocol() + " §7(" + String.join(", ", versionsSupportedBy) + ")"));
22+
}
23+
}

velocity.extension/src/main/java/net/swofty/velocity/viaversion/provider/SkyBlockVersionProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public ProtocolVersion getClosestServerProtocol(UserConnection user) throws Exce
2929
}
3030

3131
private ProtocolVersion getBackProtocol(UserConnection user) {
32-
return ProtocolVersion.v1_21_4; // backend server version
32+
return ProtocolVersion.v1_21_11; // backend server version
3333
}
3434

3535
private ProtocolVersion getFrontProtocol(UserConnection user) throws Exception {

0 commit comments

Comments
 (0)