Updated VLB usage

This commit is contained in:
FlorianMichael 2023-03-30 18:03:55 +02:00
parent 5bbfbb2a54
commit 196b9c0261
32 changed files with 49 additions and 55 deletions

View File

@ -14,7 +14,7 @@ maven_group=de.florianmichael
archives_base_name=viafabricplus archives_base_name=viafabricplus
# base lib # base lib
vialoadingbase_version=a6bda59904 vialoadingbase_version=c0c310671d
raknet_transport_version=1.0.0.CR1-SNAPSHOT raknet_transport_version=1.0.0.CR1-SNAPSHOT
# viaversion (and required) libs # viaversion (and required) libs

View File

@ -19,8 +19,8 @@ package de.florianmichael.viafabricplus.definition.v1_14_4;
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
import de.florianmichael.vialoadingbase.ViaLoadingBase; import de.florianmichael.vialoadingbase.ViaLoadingBase;
import de.florianmichael.vialoadingbase.platform.ComparableProtocolVersion; import de.florianmichael.vialoadingbase.model.ComparableProtocolVersion;
import de.florianmichael.vialoadingbase.platform.ProtocolRange; import de.florianmichael.vialoadingbase.model.ProtocolRange;
import net.minecraft.client.network.AllowedAddressResolver; import net.minecraft.client.network.AllowedAddressResolver;
import net.minecraft.client.network.ServerAddress; import net.minecraft.client.network.ServerAddress;
import net.raphimc.viabedrock.api.BedrockProtocolVersion; import net.raphimc.viabedrock.api.BedrockProtocolVersion;
@ -30,7 +30,7 @@ public class LegacyServerAddress {
private final static ProtocolRange SRV_RANGE = new ProtocolRange(ProtocolVersion.v1_16_4, LegacyProtocolVersion.r1_3_1tor1_3_2); private final static ProtocolRange SRV_RANGE = new ProtocolRange(ProtocolVersion.v1_16_4, LegacyProtocolVersion.r1_3_1tor1_3_2);
public static ServerAddress parse(ComparableProtocolVersion version, String address) { public static ServerAddress parse(ComparableProtocolVersion version, String address) {
if (version == null) version = ViaLoadingBase.getClassWrapper().getTargetVersion(); if (version == null) version = ViaLoadingBase.getInstance().getTargetVersion();
final ServerAddress mc = ServerAddress.parse(address); final ServerAddress mc = ServerAddress.parse(address);
if (SRV_RANGE.contains(version) || version.isEqualTo(BedrockProtocolVersion.bedrockLatest)) { if (SRV_RANGE.contains(version) || version.isEqualTo(BedrockProtocolVersion.bedrockLatest)) {
if (!mc.equals(ServerAddress.INVALID)) { if (!mc.equals(ServerAddress.INVALID)) {

View File

@ -17,7 +17,7 @@
*/ */
package de.florianmichael.viafabricplus.event; package de.florianmichael.viafabricplus.event;
import de.florianmichael.vialoadingbase.platform.ComparableProtocolVersion; import de.florianmichael.vialoadingbase.model.ComparableProtocolVersion;
import net.fabricmc.fabric.api.event.Event; import net.fabricmc.fabric.api.event.Event;
import net.fabricmc.fabric.api.event.EventFactory; import net.fabricmc.fabric.api.event.EventFactory;

View File

@ -18,7 +18,7 @@
package de.florianmichael.viafabricplus.information; package de.florianmichael.viafabricplus.information;
import com.viaversion.viaversion.api.connection.UserConnection; import com.viaversion.viaversion.api.connection.UserConnection;
import de.florianmichael.vialoadingbase.platform.ProtocolRange; import de.florianmichael.vialoadingbase.model.ProtocolRange;
import java.util.List; import java.util.List;

View File

@ -24,7 +24,7 @@ import de.florianmichael.viafabricplus.definition.bedrock.ModelFormats;
import de.florianmichael.viafabricplus.information.AbstractInformationGroup; import de.florianmichael.viafabricplus.information.AbstractInformationGroup;
import de.florianmichael.viafabricplus.protocolhack.provider.viabedrock.ViaFabricPlusBlobCacheProvider; import de.florianmichael.viafabricplus.protocolhack.provider.viabedrock.ViaFabricPlusBlobCacheProvider;
import de.florianmichael.viafabricplus.util.ScreenUtil; import de.florianmichael.viafabricplus.util.ScreenUtil;
import de.florianmichael.vialoadingbase.platform.ProtocolRange; import de.florianmichael.vialoadingbase.model.ProtocolRange;
import net.lenni0451.reflect.stream.RStream; import net.lenni0451.reflect.stream.RStream;
import net.lenni0451.reflect.stream.field.FieldStream; import net.lenni0451.reflect.stream.field.FieldStream;
import net.raphimc.viabedrock.api.BedrockProtocolVersion; import net.raphimc.viabedrock.api.BedrockProtocolVersion;

View File

@ -19,7 +19,7 @@ package de.florianmichael.viafabricplus.information.impl;
import com.viaversion.viaversion.api.connection.UserConnection; import com.viaversion.viaversion.api.connection.UserConnection;
import de.florianmichael.viafabricplus.information.AbstractInformationGroup; import de.florianmichael.viafabricplus.information.AbstractInformationGroup;
import de.florianmichael.vialoadingbase.platform.ProtocolRange; import de.florianmichael.vialoadingbase.model.ProtocolRange;
import net.raphimc.vialegacy.api.LegacyProtocolVersion; import net.raphimc.vialegacy.api.LegacyProtocolVersion;
import net.raphimc.vialegacy.protocols.classic.protocolc0_28_30toc0_28_30cpe.storage.ExtensionProtocolMetadataStorage; import net.raphimc.vialegacy.protocols.classic.protocolc0_28_30toc0_28_30cpe.storage.ExtensionProtocolMetadataStorage;

View File

@ -33,7 +33,7 @@ public class GeneralInformation extends AbstractInformationGroup {
@Override @Override
public void applyInformation(UserConnection userConnection, List<String> output) { public void applyInformation(UserConnection userConnection, List<String> output) {
output.add("Pipeline count: " + userConnection.getProtocolInfo().getPipeline().pipes().size()); output.add("Pipeline count: " + userConnection.getProtocolInfo().getPipeline().pipes().size());
output.add("Selected version (in the GUI): " + ViaLoadingBase.getClassWrapper().getTargetVersion().getName() + " (" + ViaLoadingBase.getClassWrapper().getTargetVersion().getVersion() + ")"); output.add("Selected version (in the GUI): " + ViaLoadingBase.getInstance().getTargetVersion().getName() + " (" + ViaLoadingBase.getInstance().getTargetVersion().getVersion() + ")");
output.add("Connected version: " + ProtocolHack.getTargetVersion().getName() + " (" + ProtocolHack.getTargetVersion().getVersion() + ")"); output.add("Connected version: " + ProtocolHack.getTargetVersion().getName() + " (" + ProtocolHack.getTargetVersion().getVersion() + ")");
} }
} }

View File

@ -19,7 +19,7 @@ package de.florianmichael.viafabricplus.information.impl;
import com.viaversion.viaversion.api.connection.UserConnection; import com.viaversion.viaversion.api.connection.UserConnection;
import de.florianmichael.viafabricplus.information.AbstractInformationGroup; import de.florianmichael.viafabricplus.information.AbstractInformationGroup;
import de.florianmichael.vialoadingbase.platform.ProtocolRange; import de.florianmichael.vialoadingbase.model.ProtocolRange;
import net.raphimc.vialegacy.api.LegacyProtocolVersion; import net.raphimc.vialegacy.api.LegacyProtocolVersion;
import net.raphimc.vialegacy.protocols.release.protocol1_2_1_3to1_1.storage.SeedStorage; import net.raphimc.vialegacy.protocols.release.protocol1_2_1_3to1_1.storage.SeedStorage;

View File

@ -19,7 +19,7 @@ package de.florianmichael.viafabricplus.information.impl;
import com.viaversion.viaversion.api.connection.UserConnection; import com.viaversion.viaversion.api.connection.UserConnection;
import de.florianmichael.viafabricplus.information.AbstractInformationGroup; import de.florianmichael.viafabricplus.information.AbstractInformationGroup;
import de.florianmichael.vialoadingbase.platform.ProtocolRange; import de.florianmichael.vialoadingbase.model.ProtocolRange;
import net.raphimc.vialegacy.api.LegacyProtocolVersion; import net.raphimc.vialegacy.api.LegacyProtocolVersion;
import net.raphimc.vialegacy.protocols.release.protocol1_3_1_2to1_2_4_5.storage.EntityTracker; import net.raphimc.vialegacy.protocols.release.protocol1_3_1_2to1_2_4_5.storage.EntityTracker;

View File

@ -19,7 +19,7 @@ package de.florianmichael.viafabricplus.information.impl;
import com.viaversion.viaversion.api.connection.UserConnection; import com.viaversion.viaversion.api.connection.UserConnection;
import de.florianmichael.viafabricplus.information.AbstractInformationGroup; import de.florianmichael.viafabricplus.information.AbstractInformationGroup;
import de.florianmichael.vialoadingbase.platform.ProtocolRange; import de.florianmichael.vialoadingbase.model.ProtocolRange;
import net.raphimc.vialegacy.api.LegacyProtocolVersion; import net.raphimc.vialegacy.api.LegacyProtocolVersion;
import net.raphimc.vialegacy.protocols.release.protocol1_6_1to1_5_2.storage.EntityTracker; import net.raphimc.vialegacy.protocols.release.protocol1_6_1to1_5_2.storage.EntityTracker;

View File

@ -20,7 +20,7 @@ package de.florianmichael.viafabricplus.information.impl;
import com.viaversion.viaversion.api.connection.UserConnection; import com.viaversion.viaversion.api.connection.UserConnection;
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
import de.florianmichael.viafabricplus.information.AbstractInformationGroup; import de.florianmichael.viafabricplus.information.AbstractInformationGroup;
import de.florianmichael.vialoadingbase.platform.ProtocolRange; import de.florianmichael.vialoadingbase.model.ProtocolRange;
import net.raphimc.vialegacy.protocols.release.protocol1_8to1_7_6_10.storage.EntityTracker; import net.raphimc.vialegacy.protocols.release.protocol1_8to1_7_6_10.storage.EntityTracker;
import java.util.List; import java.util.List;

View File

@ -17,7 +17,7 @@
*/ */
package de.florianmichael.viafabricplus.injection.access; package de.florianmichael.viafabricplus.injection.access;
import de.florianmichael.vialoadingbase.platform.ComparableProtocolVersion; import de.florianmichael.vialoadingbase.model.ComparableProtocolVersion;
public interface IServerInfo { public interface IServerInfo {

View File

@ -25,7 +25,7 @@ import de.florianmichael.viafabricplus.protocolhack.constants.BedrockRakNetConst
import de.florianmichael.viafabricplus.protocolhack.ProtocolHack; import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
import de.florianmichael.viafabricplus.protocolhack.PipelineInjector; import de.florianmichael.viafabricplus.protocolhack.PipelineInjector;
import de.florianmichael.vialoadingbase.ViaLoadingBase; import de.florianmichael.vialoadingbase.ViaLoadingBase;
import de.florianmichael.vialoadingbase.event.PipelineReorderEvent; import de.florianmichael.vialoadingbase.netty.event.PipelineReorderEvent;
import io.netty.channel.*; import io.netty.channel.*;
import net.minecraft.network.ClientConnection; import net.minecraft.network.ClientConnection;
import net.minecraft.network.encryption.PacketDecryptor; import net.minecraft.network.encryption.PacketDecryptor;
@ -108,7 +108,7 @@ public abstract class MixinClientConnection extends SimpleChannelInboundHandler<
@Inject(method = "disconnect", at = @At("RETURN")) @Inject(method = "disconnect", at = @At("RETURN"))
public void resetStorages(Text disconnectReason, CallbackInfo ci) { public void resetStorages(Text disconnectReason, CallbackInfo ci) {
ChangeProtocolVersionCallback.EVENT.invoker().onChangeProtocolVersion(ViaLoadingBase.getClassWrapper().getTargetVersion()); ChangeProtocolVersionCallback.EVENT.invoker().onChangeProtocolVersion(ViaLoadingBase.getInstance().getTargetVersion());
DisconnectConnectionCallback.EVENT.invoker().onDisconnect(); DisconnectConnectionCallback.EVENT.invoker().onDisconnect();
} }

View File

@ -19,7 +19,7 @@ package de.florianmichael.viafabricplus.injection.mixin.base;
import de.florianmichael.viafabricplus.injection.access.IServerInfo; import de.florianmichael.viafabricplus.injection.access.IServerInfo;
import de.florianmichael.viafabricplus.protocolhack.ProtocolHack; import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
import de.florianmichael.vialoadingbase.platform.ComparableProtocolVersion; import de.florianmichael.vialoadingbase.model.ComparableProtocolVersion;
import net.minecraft.client.network.MultiplayerServerListPinger; import net.minecraft.client.network.MultiplayerServerListPinger;
import net.minecraft.client.network.ServerAddress; import net.minecraft.client.network.ServerAddress;
import net.minecraft.client.network.ServerInfo; import net.minecraft.client.network.ServerInfo;

View File

@ -19,7 +19,7 @@ package de.florianmichael.viafabricplus.injection.mixin.bridge;
import de.florianmichael.viafabricplus.injection.access.IServerInfo; import de.florianmichael.viafabricplus.injection.access.IServerInfo;
import de.florianmichael.viafabricplus.screen.ForceVersionScreen; import de.florianmichael.viafabricplus.screen.ForceVersionScreen;
import de.florianmichael.vialoadingbase.platform.ComparableProtocolVersion; import de.florianmichael.vialoadingbase.model.ComparableProtocolVersion;
import net.minecraft.client.gui.screen.AddServerScreen; import net.minecraft.client.gui.screen.AddServerScreen;
import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.widget.ButtonWidget; import net.minecraft.client.gui.widget.ButtonWidget;

View File

@ -18,8 +18,8 @@
package de.florianmichael.viafabricplus.injection.mixin.bridge; package de.florianmichael.viafabricplus.injection.mixin.bridge;
import de.florianmichael.viafabricplus.injection.access.IServerInfo; import de.florianmichael.viafabricplus.injection.access.IServerInfo;
import de.florianmichael.vialoadingbase.platform.ComparableProtocolVersion; import de.florianmichael.vialoadingbase.ViaLoadingBase;
import de.florianmichael.vialoadingbase.platform.InternalProtocolList; import de.florianmichael.vialoadingbase.model.ComparableProtocolVersion;
import net.minecraft.client.network.ServerInfo; import net.minecraft.client.network.ServerInfo;
import net.minecraft.nbt.NbtCompound; import net.minecraft.nbt.NbtCompound;
import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mixin;
@ -59,7 +59,7 @@ public class MixinServerInfo implements IServerInfo {
@Inject(method = "fromNbt", at = @At("TAIL"), locals = LocalCapture.CAPTURE_FAILHARD) @Inject(method = "fromNbt", at = @At("TAIL"), locals = LocalCapture.CAPTURE_FAILHARD)
private static void loadForcedVersion(NbtCompound root, CallbackInfoReturnable<ServerInfo> cir, ServerInfo serverInfo) { private static void loadForcedVersion(NbtCompound root, CallbackInfoReturnable<ServerInfo> cir, ServerInfo serverInfo) {
if (root.contains("viafabricplus_forcedversion")) { if (root.contains("viafabricplus_forcedversion")) {
((IServerInfo) serverInfo).viafabricplus_forceVersion(InternalProtocolList.fromProtocolVersion(InternalProtocolList.fromProtocolId(root.getInt("viafabricplus_forcedversion")))); ((IServerInfo) serverInfo).viafabricplus_forceVersion(ViaLoadingBase.fromProtocolId(root.getInt("viafabricplus_forcedversion")));
} }
} }

View File

@ -19,7 +19,7 @@ package de.florianmichael.viafabricplus.injection.mixin.fixes.minecraft.item;
import de.florianmichael.viafabricplus.settings.groups.GeneralSettings; import de.florianmichael.viafabricplus.settings.groups.GeneralSettings;
import de.florianmichael.viafabricplus.protocolhack.ProtocolHack; import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
import de.florianmichael.vialoadingbase.platform.ComparableProtocolVersion; import de.florianmichael.vialoadingbase.model.ComparableProtocolVersion;
import net.minecraft.item.ItemGroup; import net.minecraft.item.ItemGroup;
import net.minecraft.item.ItemGroups; import net.minecraft.item.ItemGroups;
import net.minecraft.registry.RegistryWrapper; import net.minecraft.registry.RegistryWrapper;

View File

@ -31,7 +31,7 @@ import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
import de.florianmichael.viafabricplus.protocolhack.provider.vialegacy.ViaFabricPlusClassicMPPassProvider; import de.florianmichael.viafabricplus.protocolhack.provider.vialegacy.ViaFabricPlusClassicMPPassProvider;
import de.florianmichael.viafabricplus.settings.groups.MPPassSettings; import de.florianmichael.viafabricplus.settings.groups.MPPassSettings;
import de.florianmichael.vialoadingbase.ViaLoadingBase; import de.florianmichael.vialoadingbase.ViaLoadingBase;
import de.florianmichael.vialoadingbase.platform.ComparableProtocolVersion; import de.florianmichael.vialoadingbase.model.ComparableProtocolVersion;
import net.minecraft.client.MinecraftClient; import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.ConnectScreen; import net.minecraft.client.gui.screen.ConnectScreen;
import net.minecraft.client.network.ServerAddress; import net.minecraft.client.network.ServerAddress;

View File

@ -18,7 +18,7 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.vialoadingbase; package de.florianmichael.viafabricplus.injection.mixin.fixes.vialoadingbase;
import com.viaversion.viaversion.configuration.AbstractViaConfig; import com.viaversion.viaversion.configuration.AbstractViaConfig;
import de.florianmichael.vialoadingbase.defaults.viaversion.VLBViaConfig; import de.florianmichael.vialoadingbase.platform.viaversion.VLBViaConfig;
import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mixin;
import java.io.File; import java.io.File;

View File

@ -20,8 +20,8 @@ package de.florianmichael.viafabricplus.mappings;
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
import de.florianmichael.viafabricplus.event.ChangeProtocolVersionCallback; import de.florianmichael.viafabricplus.event.ChangeProtocolVersionCallback;
import de.florianmichael.viafabricplus.protocolhack.ProtocolHack; import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
import de.florianmichael.vialoadingbase.platform.ComparableProtocolVersion; import de.florianmichael.vialoadingbase.model.ComparableProtocolVersion;
import de.florianmichael.vialoadingbase.platform.ProtocolRange; import de.florianmichael.vialoadingbase.model.ProtocolRange;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.Items; import net.minecraft.item.Items;
import net.minecraft.registry.Registries; import net.minecraft.registry.Registries;

View File

@ -31,7 +31,7 @@ import de.florianmichael.viafabricplus.protocolhack.platform.vialegacy.VFPPreNet
import de.florianmichael.viafabricplus.protocolhack.platform.vialegacy.VFPPreNettyEncoder; import de.florianmichael.viafabricplus.protocolhack.platform.vialegacy.VFPPreNettyEncoder;
import de.florianmichael.viafabricplus.protocolhack.replacement.ViaFabricPlusVLBViaDecodeHandler; import de.florianmichael.viafabricplus.protocolhack.replacement.ViaFabricPlusVLBViaDecodeHandler;
import de.florianmichael.vialoadingbase.netty.NettyConstants; import de.florianmichael.vialoadingbase.netty.NettyConstants;
import de.florianmichael.vialoadingbase.netty.VLBViaEncodeHandler; import de.florianmichael.vialoadingbase.netty.handler.VLBViaEncodeHandler;
import io.netty.bootstrap.Bootstrap; import io.netty.bootstrap.Bootstrap;
import io.netty.channel.*; import io.netty.channel.*;
import io.netty.channel.epoll.EpollDatagramChannel; import io.netty.channel.epoll.EpollDatagramChannel;

View File

@ -37,8 +37,8 @@ import de.florianmichael.viafabricplus.protocolhack.provider.viaversion.ViaFabri
import de.florianmichael.viafabricplus.protocolhack.provider.viaversion.ViaFabricPlusMovementTransmitterProvider; import de.florianmichael.viafabricplus.protocolhack.provider.viaversion.ViaFabricPlusMovementTransmitterProvider;
import de.florianmichael.viafabricplus.protocolhack.replacement.ViaFabricPlusVLBBaseVersionProvider; import de.florianmichael.viafabricplus.protocolhack.replacement.ViaFabricPlusVLBBaseVersionProvider;
import de.florianmichael.vialoadingbase.ViaLoadingBase; import de.florianmichael.vialoadingbase.ViaLoadingBase;
import de.florianmichael.vialoadingbase.platform.ComparableProtocolVersion; import de.florianmichael.vialoadingbase.model.ComparableProtocolVersion;
import de.florianmichael.vialoadingbase.platform.SubPlatform; import de.florianmichael.vialoadingbase.model.Platform;
import io.netty.channel.Channel; import io.netty.channel.Channel;
import io.netty.util.AttributeKey; import io.netty.util.AttributeKey;
import net.minecraft.SharedConstants; import net.minecraft.SharedConstants;
@ -76,7 +76,7 @@ public class ProtocolHack {
public static ComparableProtocolVersion getTargetVersion(final Channel channel) { public static ComparableProtocolVersion getTargetVersion(final Channel channel) {
if (channel != null && channel.hasAttr(FORCED_VERSION)) return channel.attr(FORCED_VERSION).get(); if (channel != null && channel.hasAttr(FORCED_VERSION)) return channel.attr(FORCED_VERSION).get();
return ViaLoadingBase.getClassWrapper().getTargetVersion(); return ViaLoadingBase.getInstance().getTargetVersion();
} }
public static Map<InetSocketAddress, ComparableProtocolVersion> getForcedVersions() { public static Map<InetSocketAddress, ComparableProtocolVersion> getForcedVersions() {
@ -102,8 +102,8 @@ public class ProtocolHack {
public ProtocolHack() { public ProtocolHack() {
ViaLoadingBase.ViaLoadingBaseBuilder builder = ViaLoadingBase.ViaLoadingBaseBuilder.create(); ViaLoadingBase.ViaLoadingBaseBuilder builder = ViaLoadingBase.ViaLoadingBaseBuilder.create();
builder = builder.subPlatform(new SubPlatform("ViaBedrock", () -> true, ViaBedrockPlatformImpl::new, protocolVersions -> protocolVersions.add(BedrockProtocolVersion.bedrockLatest)), 0); builder = builder.platform(new Platform("ViaBedrock", () -> true, ViaBedrockPlatformImpl::new, protocolVersions -> protocolVersions.add(BedrockProtocolVersion.bedrockLatest)), 0);
builder = builder.subPlatform(new SubPlatform("ViaLegacy", () -> true, ViaLegacyPlatformImpl::new, protocolVersions -> { builder = builder.platform(new Platform("ViaLegacy", () -> true, ViaLegacyPlatformImpl::new, protocolVersions -> {
final List<ProtocolVersion> legacyProtocols = new ArrayList<>(LegacyProtocolVersion.PROTOCOLS); final List<ProtocolVersion> legacyProtocols = new ArrayList<>(LegacyProtocolVersion.PROTOCOLS);
Collections.reverse(legacyProtocols); Collections.reverse(legacyProtocols);
@ -112,7 +112,7 @@ public class ProtocolHack {
protocolVersions.addAll(legacyProtocols); protocolVersions.addAll(legacyProtocols);
})); }));
builder = builder.subPlatform(new SubPlatform("ViaAprilFools", () -> true, ViaAprilFoolsPlatformImpl::new, protocolVersions -> { builder = builder.platform(new Platform("ViaAprilFools", () -> true, ViaAprilFoolsPlatformImpl::new, protocolVersions -> {
protocolVersions.add(protocolVersions.indexOf(ProtocolVersion.v1_14) + 1, AprilFoolsProtocolVersion.s3d_shareware); protocolVersions.add(protocolVersions.indexOf(ProtocolVersion.v1_14) + 1, AprilFoolsProtocolVersion.s3d_shareware);
protocolVersions.add(protocolVersions.indexOf(ProtocolVersion.v1_16) + 1, AprilFoolsProtocolVersion.s20w14infinite); protocolVersions.add(protocolVersions.indexOf(ProtocolVersion.v1_16) + 1, AprilFoolsProtocolVersion.s20w14infinite);
protocolVersions.add(protocolVersions.indexOf(ProtocolVersion.v1_16_2) + 1, AprilFoolsProtocolVersion.sCombatTest8c); protocolVersions.add(protocolVersions.indexOf(ProtocolVersion.v1_16_2) + 1, AprilFoolsProtocolVersion.sCombatTest8c);

View File

@ -21,7 +21,7 @@ import com.viaversion.viaversion.api.Via;
import com.viaversion.viaversion.api.connection.UserConnection; import com.viaversion.viaversion.api.connection.UserConnection;
import com.viaversion.viaversion.exception.CancelCodecException; import com.viaversion.viaversion.exception.CancelCodecException;
import com.viaversion.viaversion.util.PipelineUtil; import com.viaversion.viaversion.util.PipelineUtil;
import de.florianmichael.vialoadingbase.netty.VLBViaDecodeHandler; import de.florianmichael.vialoadingbase.netty.handler.VLBViaDecodeHandler;
import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBuf;
import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelHandlerContext;

View File

@ -41,7 +41,7 @@ import java.util.stream.Collectors;
public class ItemTranslator { public class ItemTranslator {
public static Item minecraftToViaVersion(final UserConnection user, final ItemStack stack, final int targetVersion) { public static Item minecraftToViaVersion(final UserConnection user, final ItemStack stack, final int targetVersion) {
final List<ProtocolPathEntry> protocolPath = Via.getManager().getProtocolManager().getProtocolPath(ViaLoadingBase.getClassWrapper().getNativeVersion(), targetVersion); final List<ProtocolPathEntry> protocolPath = Via.getManager().getProtocolManager().getProtocolPath(ViaLoadingBase.getInstance().getNativeVersion(), targetVersion);
if (protocolPath == null) return null; if (protocolPath == null) return null;
final CreativeInventoryActionC2SPacket dummyPacket = new CreativeInventoryActionC2SPacket(36, stack); final CreativeInventoryActionC2SPacket dummyPacket = new CreativeInventoryActionC2SPacket(36, stack);

View File

@ -18,7 +18,7 @@
package de.florianmichael.viafabricplus.screen; package de.florianmichael.viafabricplus.screen;
import de.florianmichael.viafabricplus.event.ChangeProtocolVersionCallback; import de.florianmichael.viafabricplus.event.ChangeProtocolVersionCallback;
import de.florianmichael.vialoadingbase.platform.ComparableProtocolVersion; import de.florianmichael.vialoadingbase.model.ComparableProtocolVersion;
import net.minecraft.client.MinecraftClient; import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.sound.PositionedSoundInstance; import net.minecraft.client.sound.PositionedSoundInstance;

View File

@ -18,13 +18,12 @@
package de.florianmichael.viafabricplus.screen; package de.florianmichael.viafabricplus.screen;
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
import de.florianmichael.vialoadingbase.platform.ComparableProtocolVersion; import de.florianmichael.vialoadingbase.ViaLoadingBase;
import de.florianmichael.vialoadingbase.platform.InternalProtocolList; import de.florianmichael.vialoadingbase.model.ComparableProtocolVersion;
import net.minecraft.client.MinecraftClient; import net.minecraft.client.MinecraftClient;
import net.minecraft.client.font.TextRenderer; import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.widget.AlwaysSelectedEntryListWidget; import net.minecraft.client.gui.widget.AlwaysSelectedEntryListWidget;
import net.minecraft.client.gui.widget.ButtonWidget;
import net.minecraft.client.sound.PositionedSoundInstance; import net.minecraft.client.sound.PositionedSoundInstance;
import net.minecraft.client.util.math.MatrixStack; import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.sound.SoundEvents; import net.minecraft.sound.SoundEvents;
@ -33,7 +32,6 @@ import net.minecraft.text.Text;
import net.minecraft.util.Formatting; import net.minecraft.util.Formatting;
import java.awt.*; import java.awt.*;
import java.util.List;
import java.util.function.Consumer; import java.util.function.Consumer;
@SuppressWarnings({"DataFlowIssue", "DuplicatedCode"}) @SuppressWarnings({"DataFlowIssue", "DuplicatedCode"})
@ -78,7 +76,7 @@ public class ForceVersionScreen extends Screen {
super(minecraftClient, width, height, top, bottom, entryHeight); super(minecraftClient, width, height, top, bottom, entryHeight);
this.addEntry(new ResetProtocolSlot()); this.addEntry(new ResetProtocolSlot());
InternalProtocolList.getProtocols().stream().map(ViaProtocolSlot::new).forEach(this::addEntry); ViaLoadingBase.getProtocols().stream().map(ViaProtocolSlot::new).forEach(this::addEntry);
} }
} }
@ -123,7 +121,7 @@ public class ForceVersionScreen extends Screen {
@Override @Override
public boolean mouseClicked(double mouseX, double mouseY, int button) { public boolean mouseClicked(double mouseX, double mouseY, int button) {
ForceVersionScreen.this.selectionConsumer.accept(InternalProtocolList.fromProtocolVersion(protocolVersion)); ForceVersionScreen.this.selectionConsumer.accept(ViaLoadingBase.fromProtocolVersion(protocolVersion));
MinecraftClient.getInstance().getSoundManager().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F)); MinecraftClient.getInstance().getSoundManager().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F));
ForceVersionScreen.this.close(); ForceVersionScreen.this.close();
return super.mouseClicked(mouseX, mouseY, button); return super.mouseClicked(mouseX, mouseY, button);

View File

@ -28,7 +28,6 @@ import de.florianmichael.viafabricplus.screen.settings.SettingsScreen;
import de.florianmichael.viafabricplus.protocolhack.ProtocolHack; import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
import de.florianmichael.viafabricplus.util.ScreenUtil; import de.florianmichael.viafabricplus.util.ScreenUtil;
import de.florianmichael.vialoadingbase.ViaLoadingBase; import de.florianmichael.vialoadingbase.ViaLoadingBase;
import de.florianmichael.vialoadingbase.platform.InternalProtocolList;
import net.minecraft.client.MinecraftClient; import net.minecraft.client.MinecraftClient;
import net.minecraft.client.font.TextRenderer; import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.gui.screen.NoticeScreen; import net.minecraft.client.gui.screen.NoticeScreen;
@ -119,7 +118,7 @@ public class ProtocolSelectionScreen extends Screen {
public SlotList(MinecraftClient minecraftClient, int width, int height, int top, int bottom, int entryHeight) { public SlotList(MinecraftClient minecraftClient, int width, int height, int top, int bottom, int entryHeight) {
super(minecraftClient, width, height, top, bottom, entryHeight); super(minecraftClient, width, height, top, bottom, entryHeight);
InternalProtocolList.getProtocols().stream().map(ProtocolSlot::new).forEach(this::addEntry); ViaLoadingBase.getProtocols().stream().map(ProtocolSlot::new).forEach(this::addEntry);
} }
} }
@ -137,7 +136,7 @@ public class ProtocolSelectionScreen extends Screen {
@Override @Override
public boolean mouseClicked(double mouseX, double mouseY, int button) { public boolean mouseClicked(double mouseX, double mouseY, int button) {
ViaLoadingBase.getClassWrapper().reload(this.protocolVersion); ViaLoadingBase.getInstance().reload(this.protocolVersion);
ScreenUtil.playClickSound(); ScreenUtil.playClickSound();
return super.mouseClicked(mouseX, mouseY, button); return super.mouseClicked(mouseX, mouseY, button);
} }

View File

@ -28,10 +28,9 @@ import de.florianmichael.viafabricplus.screen.ProtocolSelectionScreen;
import de.florianmichael.viafabricplus.screen.base.MappedSlotEntry; import de.florianmichael.viafabricplus.screen.base.MappedSlotEntry;
import de.florianmichael.viafabricplus.settings.groups.MPPassSettings; import de.florianmichael.viafabricplus.settings.groups.MPPassSettings;
import de.florianmichael.viafabricplus.util.ScreenUtil; import de.florianmichael.viafabricplus.util.ScreenUtil;
import de.florianmichael.vialoadingbase.platform.InternalProtocolList; import de.florianmichael.vialoadingbase.ViaLoadingBase;
import net.minecraft.client.MinecraftClient; import net.minecraft.client.MinecraftClient;
import net.minecraft.client.font.TextRenderer; import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.gui.DrawableHelper;
import net.minecraft.client.gui.screen.ConnectScreen; import net.minecraft.client.gui.screen.ConnectScreen;
import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.screen.TitleScreen; import net.minecraft.client.gui.screen.TitleScreen;
@ -145,7 +144,7 @@ public class ClassiCubeServerListScreen extends Screen {
ViaFabricPlusClassicMPPassProvider.classiCubeMPPass = classiCubeServerInfo.mppass(); ViaFabricPlusClassicMPPassProvider.classiCubeMPPass = classiCubeServerInfo.mppass();
if (MPPassSettings.INSTANCE.forceCPEIfUsingClassiCube.getValue()) { if (MPPassSettings.INSTANCE.forceCPEIfUsingClassiCube.getValue()) {
((IServerInfo) entry).viafabricplus_forceVersion(InternalProtocolList.fromProtocolVersion(LegacyProtocolVersion.c0_30cpe)); ((IServerInfo) entry).viafabricplus_forceVersion(ViaLoadingBase.fromProtocolVersion(LegacyProtocolVersion.c0_30cpe));
} }
ConnectScreen.connect(MinecraftClient.getInstance().currentScreen, MinecraftClient.getInstance(), serverAddress, entry); ConnectScreen.connect(MinecraftClient.getInstance().currentScreen, MinecraftClient.getInstance(), serverAddress, entry);

View File

@ -23,9 +23,7 @@ import de.florianmichael.viafabricplus.settings.base.AbstractSetting;
import de.florianmichael.viafabricplus.settings.base.SettingGroup; import de.florianmichael.viafabricplus.settings.base.SettingGroup;
import de.florianmichael.viafabricplus.settings.groups.*; import de.florianmichael.viafabricplus.settings.groups.*;
import de.florianmichael.viafabricplus.util.FileSaver; import de.florianmichael.viafabricplus.util.FileSaver;
import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
import de.florianmichael.vialoadingbase.ViaLoadingBase; import de.florianmichael.vialoadingbase.ViaLoadingBase;
import de.florianmichael.vialoadingbase.platform.InternalProtocolList;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
@ -56,7 +54,7 @@ public class SettingsSystem extends FileSaver {
@Override @Override
public void write(JsonObject object) { public void write(JsonObject object) {
object.addProperty("protocol", ViaLoadingBase.getClassWrapper().getTargetVersion().getVersion()); object.addProperty("protocol", ViaLoadingBase.getInstance().getTargetVersion().getVersion());
for (SettingGroup group : groups) { for (SettingGroup group : groups) {
for (AbstractSetting<?> setting : group.getSettings()) { for (AbstractSetting<?> setting : group.getSettings()) {
setting.write(object); setting.write(object);
@ -67,7 +65,7 @@ public class SettingsSystem extends FileSaver {
@Override @Override
public void read(JsonObject object) { public void read(JsonObject object) {
if (object.has("protocol")) { if (object.has("protocol")) {
ViaLoadingBase.getClassWrapper().reload(InternalProtocolList.fromProtocolId(object.get("protocol").getAsInt())); ViaLoadingBase.getInstance().reload(ViaLoadingBase.fromProtocolId(object.get("protocol").getAsInt()));
} }
for (SettingGroup group : groups) { for (SettingGroup group : groups) {
for (AbstractSetting<?> setting : group.getSettings()) { for (AbstractSetting<?> setting : group.getSettings()) {

View File

@ -20,7 +20,7 @@ package de.florianmichael.viafabricplus.settings.groups;
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
import de.florianmichael.viafabricplus.settings.base.SettingGroup; import de.florianmichael.viafabricplus.settings.base.SettingGroup;
import de.florianmichael.viafabricplus.settings.type_impl.ProtocolSyncBooleanSetting; import de.florianmichael.viafabricplus.settings.type_impl.ProtocolSyncBooleanSetting;
import de.florianmichael.vialoadingbase.platform.ProtocolRange; import de.florianmichael.vialoadingbase.model.ProtocolRange;
import net.minecraft.text.Text; import net.minecraft.text.Text;
import net.raphimc.vialegacy.api.LegacyProtocolVersion; import net.raphimc.vialegacy.api.LegacyProtocolVersion;

View File

@ -20,7 +20,7 @@ package de.florianmichael.viafabricplus.settings.groups;
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
import de.florianmichael.viafabricplus.settings.base.SettingGroup; import de.florianmichael.viafabricplus.settings.base.SettingGroup;
import de.florianmichael.viafabricplus.settings.type_impl.ProtocolSyncBooleanSetting; import de.florianmichael.viafabricplus.settings.type_impl.ProtocolSyncBooleanSetting;
import de.florianmichael.vialoadingbase.platform.ProtocolRange; import de.florianmichael.vialoadingbase.model.ProtocolRange;
import net.minecraft.text.Text; import net.minecraft.text.Text;
import net.raphimc.vialegacy.api.LegacyProtocolVersion; import net.raphimc.vialegacy.api.LegacyProtocolVersion;

View File

@ -23,7 +23,7 @@ import de.florianmichael.viafabricplus.screen.settings.settingrenderer.ProtocolS
import de.florianmichael.viafabricplus.settings.base.SettingGroup; import de.florianmichael.viafabricplus.settings.base.SettingGroup;
import de.florianmichael.viafabricplus.settings.groups.GeneralSettings; import de.florianmichael.viafabricplus.settings.groups.GeneralSettings;
import de.florianmichael.viafabricplus.protocolhack.ProtocolHack; import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
import de.florianmichael.vialoadingbase.platform.ProtocolRange; import de.florianmichael.vialoadingbase.model.ProtocolRange;
import net.minecraft.text.MutableText; import net.minecraft.text.MutableText;
public class ProtocolSyncBooleanSetting extends BooleanSetting { public class ProtocolSyncBooleanSetting extends BooleanSetting {