aboutsummaryrefslogtreecommitdiff
path: root/azalea-protocol/src/mc_buf/mod.rs
diff options
context:
space:
mode:
authormat <github@matdoes.dev>2022-05-07 16:54:02 -0500
committermat <github@matdoes.dev>2022-05-07 16:54:02 -0500
commit9f496a89b5af63fef1a60276d6f7cf4d79c315e2 (patch)
treeea5716049ab6c23f0d39a46565ef524e39df9c9f /azalea-protocol/src/mc_buf/mod.rs
parent71acb5b3363fe8a7a9ac09691de01d7342db3ad1 (diff)
downloadazalea-drasl-9f496a89b5af63fef1a60276d6f7cf4d79c315e2.tar.xz
basic code generator
Diffstat (limited to 'azalea-protocol/src/mc_buf/mod.rs')
-rwxr-xr-xazalea-protocol/src/mc_buf/mod.rs39
1 files changed, 2 insertions, 37 deletions
diff --git a/azalea-protocol/src/mc_buf/mod.rs b/azalea-protocol/src/mc_buf/mod.rs
index 1626d163..bee269c9 100755
--- a/azalea-protocol/src/mc_buf/mod.rs
+++ b/azalea-protocol/src/mc_buf/mod.rs
@@ -1,8 +1,10 @@
//! Utilities for reading and writing for the Minecraft protocol
+mod definitions;
mod read;
mod write;
+pub use definitions::{BitSet, EntityMetadata, UnsizedByteArray};
use packet_macros::{McBufReadable, McBufWritable};
pub use read::{read_varint_async, McBufReadable, McBufVarReadable, Readable};
use std::ops::Deref;
@@ -14,43 +16,6 @@ const MAX_STRING_LENGTH: u16 = 32767;
// TODO: have a definitions.rs in mc_buf that contains UnsizedByteArray and BitSet
-/// A Vec<u8> that isn't prefixed by a VarInt with the size.
-#[derive(Debug, Clone, PartialEq, Eq, Hash)]
-pub struct UnsizedByteArray(Vec<u8>);
-
-impl Deref for UnsizedByteArray {
- type Target = Vec<u8>;
-
- fn deref(&self) -> &Self::Target {
- &self.0
- }
-}
-
-impl From<Vec<u8>> for UnsizedByteArray {
- fn from(vec: Vec<u8>) -> Self {
- Self(vec)
- }
-}
-
-impl From<&str> for UnsizedByteArray {
- fn from(s: &str) -> Self {
- Self(s.as_bytes().to_vec())
- }
-}
-
-/// Represents Java's BitSet, a list of bits.
-#[derive(Debug, Clone, PartialEq, Eq, Hash, McBufReadable, McBufWritable)]
-pub struct BitSet {
- data: Vec<u64>,
-}
-
-// the Index trait requires us to return a reference, but we can't do that
-impl BitSet {
- pub fn index(&self, index: usize) -> bool {
- (self.data[index / 64] & (1u64 << (index % 64))) != 0
- }
-}
-
#[cfg(test)]
mod tests {
use super::*;