1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
use std::collections::HashMap;

use crate::{traits::NbtRead, version::{JavaNetty, Java}, NbtValue, error::NbtError};

impl NbtRead for JavaNetty {

    fn read_i8_array(reader: &mut crate::reader::NbtReader) -> crate::error::NbtResult<Vec<i8>> {
        Java::read_i8_array(reader)
    }

    fn read_i32_array(reader: &mut crate::reader::NbtReader) -> crate::error::NbtResult<Vec<i32>> {
        Java::read_i32_array(reader)
    }

    fn read_i64_array(reader: &mut crate::reader::NbtReader) -> crate::error::NbtResult<Vec<i64>> {
        Java::read_i64_array(reader)
    }

    fn read_nbt_string(reader: &mut crate::reader::NbtReader) -> crate::error::NbtResult<String> {
        Java::read_nbt_string(reader)
    }

    fn read_list(reader: &mut crate::reader::NbtReader) -> crate::error::NbtResult<Vec<crate::NbtValue>> {
        Java::read_list(reader)
    }

    fn read_compound(reader: &mut crate::reader::NbtReader) -> crate::error::NbtResult<HashMap<String, crate::NbtValue>> {
        Java::read_compound(reader)
    }

    fn from_reader(mut reader: crate::reader::NbtReader) -> crate::error::NbtResult<crate::NbtValue> {
        match reader.read_u8()? {
            10 => Ok(NbtValue::Compound(None, Java::read_compound(&mut reader)?)),
            x => Err(NbtError::WrongRootType(x)),
        }
    }
    fn from_reader_text_component(mut reader: crate::reader::NbtReader) -> crate::error::NbtResult<crate::NbtValue> {
        match reader.read_u8()? {
            10 => Ok(NbtValue::Compound(None, Java::read_compound(&mut reader)?)),
            8 => Ok(NbtValue::String(Java::read_nbt_string(&mut reader)?)),
            x => Err(NbtError::WrongRootType(x)),
        }
    }
}