Updated Via API usage

This commit is contained in:
RaphiMC 2024-02-14 23:08:24 +01:00
parent 035d63847c
commit 37ecd17dbd
No known key found for this signature in database
GPG Key ID: 0F6BB0657A03AC94
3 changed files with 61 additions and 16 deletions

View File

@ -23,8 +23,8 @@ repositories {
} }
dependencies { dependencies {
compileOnly "com.viaversion:viaversion-common:4.10.0-24w06a-SNAPSHOT" compileOnly "com.viaversion:viaversion-common:4.10.0-24w07a-SNAPSHOT"
compileOnly "com.viaversion:viabackwards-common:4.10.0-24w06a-SNAPSHOT" compileOnly "com.viaversion:viabackwards-common:4.10.0-24w07a-SNAPSHOT"
compileOnly "org.yaml:snakeyaml:2.2" compileOnly "org.yaml:snakeyaml:2.2"
compileOnly "com.google.guava:guava:33.0.0-jre" compileOnly "com.google.guava:guava:33.0.0-jre"
compileOnly "io.netty:netty-handler:4.1.107.Final" compileOnly "io.netty:netty-handler:4.1.107.Final"

View File

@ -20,31 +20,76 @@ package net.raphimc.viaaprilfools.api;
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Comparator;
import java.util.List; import java.util.List;
import static com.viaversion.viaversion.api.protocol.version.VersionType.SPECIAL;
public class AprilFoolsProtocolVersion { public class AprilFoolsProtocolVersion {
public static final List<ProtocolVersion> PROTOCOLS = new ArrayList<>(); public static final List<ProtocolVersion> PROTOCOLS = new ArrayList<>();
public static final List<ProtocolVersion> SNAPSHOTS_PROTOCOLS = new ArrayList<>(); public static final List<ProtocolVersion> SNAPSHOTS_PROTOCOLS = new ArrayList<>();
public static final List<ProtocolVersion> APRIL_FOOLS_PROTOCOLS = new ArrayList<>(); public static final List<ProtocolVersion> APRIL_FOOLS_PROTOCOLS = new ArrayList<>();
public static final ProtocolVersion s3d_shareware = registerAprilFools(1, "3D Shareware"); public static final ProtocolVersion s3d_shareware = new ProtocolVersion(SPECIAL, 1, -1, "3D Shareware", null) {
public static final ProtocolVersion s20w14infinite = registerAprilFools(709, "20w14infinite"); @Override
public static final ProtocolVersion sCombatTest8c = registerSnapshot(803, "Combat Test 8c"); protected Comparator<ProtocolVersion> customComparator() {
return (o1, o2) -> {
if (o1 == s3d_shareware) {
o1 = ProtocolVersion.v1_13_2;
}
if (o2 == s3d_shareware) {
o2 = ProtocolVersion.v1_13_2;
}
return o1.compareTo(o2);
};
}
};
public static final ProtocolVersion s20w14infinite = new ProtocolVersion(SPECIAL, 709, -1, "20w14infinite", null) {
@Override
protected Comparator<ProtocolVersion> customComparator() {
return (o1, o2) -> {
if (o1 == s20w14infinite) {
o1 = ProtocolVersion.v1_15_2;
}
if (o2 == s20w14infinite) {
o2 = ProtocolVersion.v1_15_2;
}
return o1.compareTo(o2);
};
}
};
public static final ProtocolVersion sCombatTest8c = new ProtocolVersion(SPECIAL, 803, -1, "Combat Test 8c", null) {
@Override
protected Comparator<ProtocolVersion> customComparator() {
return (o1, o2) -> {
if (o1 == sCombatTest8c) {
o1 = ProtocolVersion.v1_16_1;
}
if (o2 == sCombatTest8c) {
o2 = ProtocolVersion.v1_16_1;
}
return o1.compareTo(o2);
};
}
};
static {
private static ProtocolVersion registerSnapshot(final int version, final String name) { registerAprilFools(s3d_shareware);
final ProtocolVersion protocolVersion = ProtocolVersion.register(version, name); registerAprilFools(s20w14infinite);
PROTOCOLS.add(protocolVersion); registerSnapshot(sCombatTest8c);
SNAPSHOTS_PROTOCOLS.add(protocolVersion);
return protocolVersion;
} }
private static ProtocolVersion registerAprilFools(final int version, final String name) { private static void registerSnapshot(final ProtocolVersion protocolVersion) {
final ProtocolVersion protocolVersion = ProtocolVersion.register(version, name); ProtocolVersion.register(protocolVersion);
PROTOCOLS.add(protocolVersion);
SNAPSHOTS_PROTOCOLS.add(protocolVersion);
}
private static void registerAprilFools(final ProtocolVersion protocolVersion) {
ProtocolVersion.register(protocolVersion);
PROTOCOLS.add(protocolVersion); PROTOCOLS.add(protocolVersion);
APRIL_FOOLS_PROTOCOLS.add(protocolVersion); APRIL_FOOLS_PROTOCOLS.add(protocolVersion);
return protocolVersion;
} }
} }

View File

@ -50,8 +50,8 @@ public interface ViaAprilFoolsPlatform {
protocolManager.registerProtocol(new Protocol1_16to20w14infinite(), ProtocolVersion.v1_16, AprilFoolsProtocolVersion.s20w14infinite); protocolManager.registerProtocol(new Protocol1_16to20w14infinite(), ProtocolVersion.v1_16, AprilFoolsProtocolVersion.s20w14infinite);
protocolManager.registerProtocol(new Protocol1_16_2toCombatTest8c(), ProtocolVersion.v1_16_2, AprilFoolsProtocolVersion.sCombatTest8c); protocolManager.registerProtocol(new Protocol1_16_2toCombatTest8c(), ProtocolVersion.v1_16_2, AprilFoolsProtocolVersion.sCombatTest8c);
protocolManager.registerBaseProtocol(new BaseProtocol1_16(), Range.singleton(AprilFoolsProtocolVersion.s20w14infinite.getVersion())); protocolManager.registerBaseProtocol(new BaseProtocol1_16(), Range.singleton(AprilFoolsProtocolVersion.s20w14infinite));
protocolManager.registerBaseProtocol(new BaseProtocol1_16(), Range.singleton(AprilFoolsProtocolVersion.sCombatTest8c.getVersion())); protocolManager.registerBaseProtocol(new BaseProtocol1_16(), Range.singleton(AprilFoolsProtocolVersion.sCombatTest8c));
} }
Logger getLogger(); Logger getLogger();