Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion protocol
Submodule protocol updated 88 files
+3 −1 VERSIONS.md
+10 −9 adventure/src/main/java/org/cloudburstmc/protocol/adventure/BedrockLegacyTextSerializer.java
+170 −80 adventure/src/test/java/org/cloudburstmc/protocol/bedrock/test/TextSerializationTest.java
+22 −0 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/codec/BedrockCodec.java
+2 −2 ...dec/src/main/java/org/cloudburstmc/protocol/bedrock/codec/v776/serializer/ItemComponentSerializer_v776.java
+6 −6 ...c/main/java/org/cloudburstmc/protocol/bedrock/codec/v800/serializer/BiomeDefinitionListSerializer_v800.java
+5 −13 ...c/main/java/org/cloudburstmc/protocol/bedrock/codec/v827/serializer/BiomeDefinitionListSerializer_v827.java
+17 −13 ...src/main/java/org/cloudburstmc/protocol/bedrock/codec/v827/serializer/CameraInstructionSerializer_v827.java
+2 −3 ...c/main/java/org/cloudburstmc/protocol/bedrock/codec/v844/serializer/BiomeDefinitionListSerializer_v844.java
+37 −36 ...src/main/java/org/cloudburstmc/protocol/bedrock/codec/v859/serializer/CameraInstructionSerializer_v859.java
+61 −39 .../main/java/org/cloudburstmc/protocol/bedrock/codec/v898/serializer/ClientboundDataStoreSerializer_v898.java
+2 −2 .../main/java/org/cloudburstmc/protocol/bedrock/codec/v898/serializer/ServerboundDataStoreSerializer_v898.java
+4 −1 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/codec/v924/Bedrock_v924.java
+40 −49 ...src/main/java/org/cloudburstmc/protocol/bedrock/codec/v924/serializer/CameraInstructionSerializer_v924.java
+8 −6 ...odec/src/main/java/org/cloudburstmc/protocol/bedrock/codec/v924/serializer/CameraSplineSerializer_v924.java
+5 −5 .../cloudburstmc/protocol/bedrock/codec/v924/serializer/ClientboundDataDrivenUICloseScreenSerializer_v924.java
+5 −39 .../main/java/org/cloudburstmc/protocol/bedrock/codec/v924/serializer/ClientboundDataStoreSerializer_v924.java
+4 −4 .../java/org/cloudburstmc/protocol/bedrock/codec/v924/serializer/GraphicsParameterOverrideSerializer_v924.java
+28 −18 ...k-codec/src/main/java/org/cloudburstmc/protocol/bedrock/codec/v924/serializer/StartGameSerializer_v924.java
+11 −17 ...codec/src/main/java/org/cloudburstmc/protocol/bedrock/codec/v924/serializer/VoxelShapesSerializer_v924.java
+54 −0 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/codec/v944/BedrockCodecHelper_v944.java
+73 −0 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/codec/v944/Bedrock_v944.java
+76 −0 ...src/main/java/org/cloudburstmc/protocol/bedrock/codec/v944/serializer/CameraInstructionSerializer_v944.java
+73 −0 ...odec/src/main/java/org/cloudburstmc/protocol/bedrock/codec/v944/serializer/CameraSplineSerializer_v944.java
+276 −0 ...a/org/cloudburstmc/protocol/bedrock/codec/v944/serializer/ClientboundAttributeLayerSyncSerializer_v944.java
+24 −0 .../cloudburstmc/protocol/bedrock/codec/v944/serializer/ClientboundDataDrivenUICloseScreenSerializer_v944.java
+28 −0 ...g/cloudburstmc/protocol/bedrock/codec/v944/serializer/ClientboundDataDrivenUIShowScreenSerializer_v944.java
+70 −0 ...-codec/src/main/java/org/cloudburstmc/protocol/bedrock/codec/v944/serializer/LocatorBarSerializer_v944.java
+24 −0 ...odec/src/main/java/org/cloudburstmc/protocol/bedrock/codec/v944/serializer/PartyChangedSerializer_v944.java
+28 −0 ...c/src/main/java/org/cloudburstmc/protocol/bedrock/codec/v944/serializer/PlayerAuthInputSerializer_v944.java
+22 −0 ...org/cloudburstmc/protocol/bedrock/codec/v944/serializer/ResourcePacksReadyForValidationSerializer_v944.java
+35 −0 ...g/cloudburstmc/protocol/bedrock/codec/v944/serializer/ServerboundDataDrivenScreenClosedSerializer_v944.java
+33 −0 ...k-codec/src/main/java/org/cloudburstmc/protocol/bedrock/codec/v944/serializer/StartGameSerializer_v944.java
+149 −0 ...c/src/main/java/org/cloudburstmc/protocol/bedrock/codec/v944/serializer/SyncWorldClocksSerializer_v944.java
+22 −0 ...ain/java/org/cloudburstmc/protocol/bedrock/codec/v944/serializer/UpdateClientInputLocksSerializer_v944.java
+25 −0 ...codec/src/main/java/org/cloudburstmc/protocol/bedrock/codec/v944/serializer/VoxelShapesSerializer_v944.java
+92 −0 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/GraphicsOverrideParameterType.java
+25 −0 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/LocatorBarWaypoint.java
+45 −1 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/MemoryCategoryCounter.java
+9 −1 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/ParticleType.java
+1 −1 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/SerializableVoxelShape.java
+0 −14 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/ServerTelemetryData.java
+8 −0 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/SoundEvent.java
+4 −0 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/attributelayer/AttributeData.java
+14 −0 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/attributelayer/AttributeLayerData.java
+25 −0 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/attributelayer/AttributeLayerSettings.java
+4 −0 ...ck-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/attributelayer/AttributeLayerSyncPayload.java
+14 −0 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/attributelayer/BoolAttributeData.java
+27 −0 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/attributelayer/ColorAttributeData.java
+19 −0 ...ock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/attributelayer/EnvironmentAttributeData.java
+19 −0 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/attributelayer/FloatAttributeData.java
+13 −0 ...ec/src/main/java/org/cloudburstmc/protocol/bedrock/data/attributelayer/RemoveEnvironmentAttributesData.java
+11 −0 ...c/src/main/java/org/cloudburstmc/protocol/bedrock/data/attributelayer/UpdateAttributeLayerSettingsData.java
+11 −0 ...ck-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/attributelayer/UpdateAttributeLayersData.java
+13 −0 ...ec/src/main/java/org/cloudburstmc/protocol/bedrock/data/attributelayer/UpdateEnvironmentAttributesData.java
+11 −16 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/biome/BiomeDefinitionData.java
+3 −0 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/camera/CameraAimAssistCategory.java
+3 −0 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/camera/CameraAimAssistPresetDefinition.java
+14 −2 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/camera/CameraSplineInstruction.java
+26 −2 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/camera/CameraSplineType.java
+12 −0 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/clock/AddTimeMarkerData.java
+11 −0 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/clock/InitializeRegistryData.java
+13 −0 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/clock/RemoveTimeMarkerData.java
+11 −0 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/clock/SyncStateData.java
+12 −0 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/clock/SyncWorldClockStateData.java
+5 −0 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/clock/SyncWorldClocksPayload.java
+12 −0 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/clock/TimeMarkerData.java
+15 −0 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/clock/WorldClockData.java
+3 −2 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/entity/EntityDataTypes.java
+13 −1 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/inventory/ContainerSlotType.java
+4 −0 ...ck-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/inventory/transaction/ItemUseTransaction.java
+25 −1 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/packet/BedrockPacketHandler.java
+7 −1 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/packet/BedrockPacketType.java
+38 −0 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/packet/ClientboundAttributeLayerSyncPacket.java
+13 −4 ...-codec/src/main/java/org/cloudburstmc/protocol/bedrock/packet/ClientboundDataDrivenUICloseScreenPacket.java
+14 −0 ...k-codec/src/main/java/org/cloudburstmc/protocol/bedrock/packet/ClientboundDataDrivenUIShowScreenPacket.java
+4 −1 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/packet/GraphicsParameterOverridePacket.java
+4 −0 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/packet/InventoryTransactionPacket.java
+57 −0 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/packet/LocatorBarPacket.java
+37 −0 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/packet/PartyChangedPacket.java
+35 −0 ...ock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/packet/ResourcePacksReadyForValidationPacket.java
+46 −0 ...k-codec/src/main/java/org/cloudburstmc/protocol/bedrock/packet/ServerboundDataDrivenScreenClosedPacket.java
+0 −4 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/packet/StartGamePacket.java
+40 −0 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/packet/SyncWorldClocksPacket.java
+3 −0 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/packet/UpdateClientInputLocksPacket.java
+4 −0 bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/packet/VoxelShapesPacket.java
+11 −7 bedrock-connection/src/main/java/org/cloudburstmc/protocol/bedrock/util/EncryptionUtils.java
+2 −2 gradle/libs.versions.toml
10 changes: 5 additions & 5 deletions src/main/java/org/cloudburstmc/proxypass/ProxyPass.java
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
import org.cloudburstmc.protocol.bedrock.BedrockPong;
import org.cloudburstmc.protocol.bedrock.codec.BedrockCodec;
import org.cloudburstmc.protocol.bedrock.codec.BedrockCodecHelper;
import org.cloudburstmc.protocol.bedrock.codec.v924.Bedrock_v924;
import org.cloudburstmc.protocol.bedrock.codec.v944.Bedrock_v944;
import org.cloudburstmc.protocol.bedrock.data.EncodingSettings;
import org.cloudburstmc.protocol.bedrock.data.definitions.BlockDefinition;
import org.cloudburstmc.protocol.bedrock.netty.initializer.BedrockChannelInitializer;
Expand Down Expand Up @@ -96,11 +96,11 @@ public class ProxyPass {
public static final YAMLMapper YAML_MAPPER = (YAMLMapper) new YAMLMapper().disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
public static final String MINECRAFT_VERSION;

public static final BedrockCodecHelper HELPER = Bedrock_v924.CODEC.createHelper();
public static final BedrockCodec CODEC = Bedrock_v924.CODEC
public static final BedrockCodecHelper HELPER = Bedrock_v944.CODEC.createHelper();
public static final BedrockCodec CODEC = Bedrock_v944.CODEC
.toBuilder()
.protocolVersion(924)
.minecraftVersion("1.26.0")
.protocolVersion(944)
.minecraftVersion("1.26.10")
.helper(() -> HELPER).build();

public static final int PROTOCOL_VERSION = CODEC.getProtocolVersion();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,10 @@ public static String forgeOfflineAuthData(KeyPair pair, AuthData authData) {
}

public static AuthPayload forgeOnlineAuthData(BedrockAuthManager authManager, ECPublicKey mojangPublicKey) throws InvalidJwtException, JoseException {
if (ProxyPass.CODEC.getProtocolVersion() > 924) {
return new DualPayload(List.of(".."), authManager.getMinecraftMultiplayerToken().getCached().getToken(), AuthType.FULL);
}

MinecraftCertificateChain mcChain = authManager.getMinecraftCertificateChain().getCached();
KeyPair sessionKeyPair = authManager.getSessionKeyPair();
String publicBase64Key = Base64.getEncoder().encodeToString(sessionKeyPair.getPublic().getEncoded());
Expand Down Expand Up @@ -134,7 +138,10 @@ public static String forgeOnlineSkinData(Account account, JSONObject skinData, S

HashMap<String,Object> overrideData = new HashMap<String,Object>();
overrideData.put("DeviceId", account.authManager().getDeviceId().toString().replace("-", ""));
overrideData.put("DeviceOS", 1); // Android per MinecraftAuth 4.0
if (ProxyPass.CODEC.getProtocolVersion() < 944) {
// Chain is no longer sent in v944 and above, so it should no longer be possible for a server to detect that auth was from android
overrideData.put("DeviceOS", 1); // Android per MinecraftAuth 4.0
}
overrideData.put("ThirdPartyName", account.authManager().getMinecraftMultiplayerToken().getCached().getDisplayName());

switch (serverAddress) {
Expand Down
Loading