diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_2to1_20/Protocol1_20_2To1_20.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_2to1_20/Protocol1_20_2To1_20.java index df94577fe..1d0fbcc3d 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_2to1_20/Protocol1_20_2To1_20.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_2to1_20/Protocol1_20_2To1_20.java @@ -18,6 +18,7 @@ package com.viaversion.viaversion.protocols.protocol1_20_2to1_20; import com.github.steveice10.opennbt.tag.builtin.CompoundTag; +import com.google.gson.JsonElement; import com.viaversion.viaversion.api.Via; import com.viaversion.viaversion.api.connection.UserConnection; import com.viaversion.viaversion.api.data.MappingData; @@ -45,6 +46,7 @@ import com.viaversion.viaversion.protocols.protocol1_20_2to1_20.rewriter.BlockIt import com.viaversion.viaversion.protocols.protocol1_20_2to1_20.rewriter.EntityPacketRewriter1_20_2; import com.viaversion.viaversion.protocols.protocol1_20_2to1_20.storage.ConfigurationState; import com.viaversion.viaversion.protocols.protocol1_20_2to1_20.storage.ConfigurationState.BridgePhase; +import com.viaversion.viaversion.protocols.protocol1_20_2to1_20.storage.LastResourcePack; import com.viaversion.viaversion.rewriter.SoundRewriter; import java.util.UUID; import org.checkerframework.checker.nullness.qual.Nullable; @@ -68,6 +70,14 @@ public final class Protocol1_20_2To1_20 extends AbstractProtocol { + final String url = wrapper.passthrough(Type.STRING); + final String hash = wrapper.passthrough(Type.STRING); + final boolean required = wrapper.passthrough(Type.BOOLEAN); + final JsonElement prompt = wrapper.passthrough(Type.OPTIONAL_COMPONENT); + wrapper.user().put(new LastResourcePack(url, hash, required, prompt)); + }); + registerClientbound(ClientboundPackets1_19_4.DISPLAY_SCOREBOARD, wrapper -> { final byte slot = wrapper.read(Type.BYTE); wrapper.write(Type.VAR_INT, (int) slot); @@ -115,7 +125,8 @@ public final class Protocol1_20_2To1_20 extends AbstractProtocol { @@ -128,7 +139,9 @@ public final class Protocol1_20_2To1_20 extends AbstractProtocol. + */ +package com.viaversion.viaversion.protocols.protocol1_20_2to1_20.storage; + +import com.google.gson.JsonElement; +import com.viaversion.viaversion.api.connection.StorableObject; +import org.checkerframework.checker.nullness.qual.Nullable; + +public final class LastResourcePack implements StorableObject { + + private final String url; + private final String hash; + private final boolean required; + private final JsonElement prompt; + + public LastResourcePack(final String url, final String hash, final boolean required, @Nullable final JsonElement prompt) { + this.url = url; + this.hash = hash; + this.required = required; + this.prompt = prompt; + } + + public String url() { + return url; + } + + public String hash() { + return hash; + } + + public boolean required() { + return required; + } + + public @Nullable JsonElement prompt() { + return prompt; + } +}