diff --git a/azalea-core/src/registries.rs b/azalea-core/src/registries.rs new file mode 100644 index 00000000..605d7770 --- /dev/null +++ b/azalea-core/src/registries.rs @@ -0,0 +1,8 @@ +struct RegistryHolder {} + +fn make_network_codec() -> NetworkCodec { + // Codec codec = ResourceLocation.CODEC.xmap(ResourceKey::createRegistryKey, ResourceKey::location); + // Codec codec2 = codec.partialDispatch("type", mappedRegistry -> DataResult.success(mappedRegistry.key()), resourceKey -> RegistryHolder.getNetworkCodec(resourceKey).map(codec -> MappedRegistry.networkCodec(resourceKey, Lifecycle.experimental(), codec))); + // UnboundedMapCodec unboundedMapCodec = Codec.unboundedMap((Codec)codec, (Codec)codec2); + // return RegistryHolder.captureMap(unboundedMapCodec); +} diff --git a/azalea-protocol/src/packets/game/clientbound_login_packet.rs b/azalea-protocol/src/packets/game/clientbound_login_packet.rs index fc701d9d..0e23460e 100644 --- a/azalea-protocol/src/packets/game/clientbound_login_packet.rs +++ b/azalea-protocol/src/packets/game/clientbound_login_packet.rs @@ -27,7 +27,7 @@ pub struct ClientboundLoginPacket { pub game_type: GameType, pub previous_game_type: Option, pub levels: Vec, - pub registry_holder: azalea_core::registry::RegistryAccess, + // pub registry_holder: azalea_core::registry::RegistryAccess, } impl ClientboundLoginPacket { @@ -37,7 +37,7 @@ impl ClientboundLoginPacket { pub fn write(&self, buf: &mut Vec) { buf.write_int(self.player_id); - buf.write_bool(self.hardcore); + // buf.write_bool(self.hardcore); // buf.write_byte(self.game_type. } @@ -47,11 +47,12 @@ impl ClientboundLoginPacket { let transaction_id = buf.read_varint().await? as u32; let identifier = ResourceLocation::new(&buf.read_utf().await?)?; let data = buf.read_bytes(1048576).await?; - Ok(ClientboundLoginPacket { - transaction_id, - identifier, - data, - } - .get()) + panic!("not implemented"); + // Ok(ClientboundLoginPacket { + // transaction_id, + // identifier, + // data, + // } + // .get()) } } diff --git a/azalea-protocol/src/packets/game/mod.rs b/azalea-protocol/src/packets/game/mod.rs index 73f66c33..932435d9 100644 --- a/azalea-protocol/src/packets/game/mod.rs +++ b/azalea-protocol/src/packets/game/mod.rs @@ -8,7 +8,10 @@ use tokio::io::BufReader; #[derive(Clone, Debug)] pub enum GamePacket where - Self: Sized, {} + Self: Sized, +{ + ClientboundLoginPacket(clientbound_login_packet::ClientboundLoginPacket), +} #[async_trait] impl ProtocolPacket for GamePacket {