diff options
| author | mat <github@matdoes.dev> | 2021-12-18 10:11:53 -0600 |
|---|---|---|
| committer | mat <github@matdoes.dev> | 2021-12-18 10:11:53 -0600 |
| commit | 428d0ee0e643676e47683c7d314cefebd03bf3f1 (patch) | |
| tree | e866351a18886ed75017ec7fe09e9b3499534c75 | |
| parent | 8e3ba097b48543a85f2cf487d5db90add3f28bac (diff) | |
| download | azalea-drasl-428d0ee0e643676e47683c7d314cefebd03bf3f1.tar.xz | |
mmm registries
| -rw-r--r-- | azalea-core/src/registries.rs | 8 | ||||
| -rw-r--r-- | azalea-protocol/src/packets/game/clientbound_login_packet.rs | 17 | ||||
| -rw-r--r-- | azalea-protocol/src/packets/game/mod.rs | 5 |
3 files changed, 21 insertions, 9 deletions
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<GameType>, pub levels: Vec<ResourceLocation>, - 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<u8>) { 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 { |
