diff --git a/assets/viabackwards/data/mappings-1.10to1.9.4.nbt b/assets/viabackwards/data/mappings-1.10to1.9.4.nbt new file mode 100644 index 000000000..5cc2fc8c6 Binary files /dev/null and b/assets/viabackwards/data/mappings-1.10to1.9.4.nbt differ diff --git a/assets/viabackwards/data/mappings-1.11to1.10.nbt b/assets/viabackwards/data/mappings-1.11to1.10.nbt new file mode 100644 index 000000000..de017f505 Binary files /dev/null and b/assets/viabackwards/data/mappings-1.11to1.10.nbt differ diff --git a/assets/viabackwards/data/mappings-1.12to1.11.nbt b/assets/viabackwards/data/mappings-1.12to1.11.nbt new file mode 100644 index 000000000..cfc52f18c Binary files /dev/null and b/assets/viabackwards/data/mappings-1.12to1.11.nbt differ diff --git a/assets/viabackwards/data/mappings-1.13.2to1.13.nbt b/assets/viabackwards/data/mappings-1.13.2to1.13.nbt new file mode 100644 index 000000000..e47ef2f7b Binary files /dev/null and b/assets/viabackwards/data/mappings-1.13.2to1.13.nbt differ diff --git a/assets/viabackwards/data/mappings-1.13to1.12.nbt b/assets/viabackwards/data/mappings-1.13to1.12.nbt new file mode 100644 index 000000000..bc0485942 Binary files /dev/null and b/assets/viabackwards/data/mappings-1.13to1.12.nbt differ diff --git a/assets/viabackwards/data/mappings-1.14to1.13.2.nbt b/assets/viabackwards/data/mappings-1.14to1.13.2.nbt new file mode 100644 index 000000000..82bcab32e Binary files /dev/null and b/assets/viabackwards/data/mappings-1.14to1.13.2.nbt differ diff --git a/assets/viabackwards/data/mappings-1.15to1.14.nbt b/assets/viabackwards/data/mappings-1.15to1.14.nbt new file mode 100644 index 000000000..c10e6ec34 Binary files /dev/null and b/assets/viabackwards/data/mappings-1.15to1.14.nbt differ diff --git a/assets/viabackwards/data/mappings-1.16.2to1.16.nbt b/assets/viabackwards/data/mappings-1.16.2to1.16.nbt new file mode 100644 index 000000000..5d636dd05 Binary files /dev/null and b/assets/viabackwards/data/mappings-1.16.2to1.16.nbt differ diff --git a/assets/viabackwards/data/mappings-1.16to1.15.nbt b/assets/viabackwards/data/mappings-1.16to1.15.nbt new file mode 100644 index 000000000..e7ca0ccf7 Binary files /dev/null and b/assets/viabackwards/data/mappings-1.16to1.15.nbt differ diff --git a/assets/viabackwards/data/mappings-1.17to1.16.2.nbt b/assets/viabackwards/data/mappings-1.17to1.16.2.nbt new file mode 100644 index 000000000..eb5769c59 Binary files /dev/null and b/assets/viabackwards/data/mappings-1.17to1.16.2.nbt differ diff --git a/assets/viabackwards/data/mappings-1.18to1.17.nbt b/assets/viabackwards/data/mappings-1.18to1.17.nbt new file mode 100644 index 000000000..804a036ed Binary files /dev/null and b/assets/viabackwards/data/mappings-1.18to1.17.nbt differ diff --git a/assets/viabackwards/data/mappings-1.19.3to1.19.nbt b/assets/viabackwards/data/mappings-1.19.3to1.19.nbt new file mode 100644 index 000000000..0194ce6b9 Binary files /dev/null and b/assets/viabackwards/data/mappings-1.19.3to1.19.nbt differ diff --git a/assets/viabackwards/data/mappings-1.19.4to1.19.3.nbt b/assets/viabackwards/data/mappings-1.19.4to1.19.3.nbt new file mode 100644 index 000000000..f3c83faaf Binary files /dev/null and b/assets/viabackwards/data/mappings-1.19.4to1.19.3.nbt differ diff --git a/assets/viabackwards/data/mappings-1.19to1.18.nbt b/assets/viabackwards/data/mappings-1.19to1.18.nbt new file mode 100644 index 000000000..bcff6311f Binary files /dev/null and b/assets/viabackwards/data/mappings-1.19to1.18.nbt differ diff --git a/assets/viabackwards/data/mappings-1.20.2to1.20.nbt b/assets/viabackwards/data/mappings-1.20.2to1.20.nbt new file mode 100644 index 000000000..05200471d Binary files /dev/null and b/assets/viabackwards/data/mappings-1.20.2to1.20.nbt differ diff --git a/assets/viabackwards/data/mappings-1.20.3to1.20.2.nbt b/assets/viabackwards/data/mappings-1.20.3to1.20.2.nbt new file mode 100644 index 000000000..eb33b3274 Binary files /dev/null and b/assets/viabackwards/data/mappings-1.20.3to1.20.2.nbt differ diff --git a/assets/viabackwards/data/mappings-1.20.5to1.20.3.nbt b/assets/viabackwards/data/mappings-1.20.5to1.20.3.nbt new file mode 100644 index 000000000..58bf41ba6 Binary files /dev/null and b/assets/viabackwards/data/mappings-1.20.5to1.20.3.nbt differ diff --git a/assets/viabackwards/data/mappings-1.20to1.19.4.nbt b/assets/viabackwards/data/mappings-1.20to1.19.4.nbt new file mode 100644 index 000000000..24f1e7e06 Binary files /dev/null and b/assets/viabackwards/data/mappings-1.20to1.19.4.nbt differ diff --git a/pumpkin-codegen/Cargo.lock b/pumpkin-codegen/Cargo.lock index 208a46b94..268bf242c 100644 --- a/pumpkin-codegen/Cargo.lock +++ b/pumpkin-codegen/Cargo.lock @@ -772,7 +772,6 @@ dependencies = [ name = "pumpkin-codecs" version = "0.1.0-dev+26.2" dependencies = [ - "either", "serde_json", "tracing", ] @@ -806,7 +805,6 @@ dependencies = [ "cesu8", "flate2", "pumpkin-codecs", - "rustc-hash", "serde", "thiserror", "tracing", @@ -925,12 +923,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "rustc-hash" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d" - [[package]] name = "rustls" version = "0.23.39" diff --git a/pumpkin-codegen/src/block.rs b/pumpkin-codegen/src/block.rs index 362eb8bc6..b3dcc3d8c 100644 --- a/pumpkin-codegen/src/block.rs +++ b/pumpkin-codegen/src/block.rs @@ -1456,10 +1456,10 @@ fn get_be_data_from_nbt( let data_end = reader.seek(SeekFrom::End(0)).unwrap(); let _ = reader.seek(SeekFrom::Start(data_start)); - let nbt_reader = &mut NbtReadHelperBedrock::new(&mut *reader); + let nbt_reader = &mut NbtReadHelperBedrock::new(pumpkin_nbt::deserializer::NbtStreamReader(&mut *reader)); loop { - if nbt_reader.reader().stream_position().unwrap() >= data_end { + if nbt_reader.reader().0.stream_position().unwrap() >= data_end { break; } diff --git a/pumpkin-codegen/src/main.rs b/pumpkin-codegen/src/main.rs index 045df0eb4..5476b3c7a 100644 --- a/pumpkin-codegen/src/main.rs +++ b/pumpkin-codegen/src/main.rs @@ -75,8 +75,6 @@ pub fn main() { fs::create_dir_all(OUT_DIR).expect("Failed to create output directory"); - wit::main(); - let mut build_functions: Vec<(BuilderFn, &str)> = vec![ (advancement::build, "advancement.rs"), (bedrock_creative::build, "bedrock_creative.rs"), @@ -146,6 +144,7 @@ pub fn main() { // e.g. `cargo run -- chest_loot` only regenerates chest_loot.rs. let filters: Vec = std::env::args().skip(1).collect(); let build_functions: Vec<_> = if filters.is_empty() { + wit::main(); build_functions } else { build_functions diff --git a/pumpkin-codegen/src/remap/block_state.rs b/pumpkin-codegen/src/remap/block_state.rs index e2e728483..ca9a6173a 100644 --- a/pumpkin-codegen/src/remap/block_state.rs +++ b/pumpkin-codegen/src/remap/block_state.rs @@ -7,10 +7,95 @@ use crate::version::JavaMinecraftVersion; /// Generates the `TokenStream` for per-version block-state remap tables and the /// `remap_block_state_for_version` function. pub fn build() -> TokenStream { + let node_1_10 = MappingNode { + version: JavaMinecraftVersion::V_1_10, + value: "../assets/viabackwards/data/mappings-1.11to1.10.nbt", + child: None, + }; + let node_1_11 = MappingNode { + version: JavaMinecraftVersion::V_1_11, + value: "../assets/viabackwards/data/mappings-1.12to1.11.nbt", + child: Some(&node_1_10), + }; + let node_1_12 = MappingNode { + version: JavaMinecraftVersion::V_1_12, + value: "../assets/viabackwards/data/mappings-1.13to1.12.nbt", + child: Some(&node_1_11), + }; + let node_1_13 = MappingNode { + version: JavaMinecraftVersion::V_1_13, + value: "../assets/viabackwards/data/mappings-1.13.2to1.13.nbt", + child: Some(&node_1_12), + }; + let node_1_13_2 = MappingNode { + version: JavaMinecraftVersion::V_1_13_2, + value: "../assets/viabackwards/data/mappings-1.14to1.13.2.nbt", + child: Some(&node_1_13), + }; + let node_1_14 = MappingNode { + version: JavaMinecraftVersion::V_1_14, + value: "../assets/viabackwards/data/mappings-1.15to1.14.nbt", + child: Some(&node_1_13_2), + }; + let node_1_15 = MappingNode { + version: JavaMinecraftVersion::V_1_15, + value: "../assets/viabackwards/data/mappings-1.16to1.15.nbt", + child: Some(&node_1_14), + }; + let node_1_16 = MappingNode { + version: JavaMinecraftVersion::V_1_16, + value: "../assets/viabackwards/data/mappings-1.16.2to1.16.nbt", + child: Some(&node_1_15), + }; + let node_1_16_2 = MappingNode { + version: JavaMinecraftVersion::V_1_16_2, + value: "../assets/viabackwards/data/mappings-1.17to1.16.2.nbt", + child: Some(&node_1_16), + }; + let node_1_17 = MappingNode { + version: JavaMinecraftVersion::V_1_17, + value: "../assets/viabackwards/data/mappings-1.18to1.17.nbt", + child: Some(&node_1_16_2), + }; + let node_1_18 = MappingNode { + version: JavaMinecraftVersion::V_1_18, + value: "../assets/viabackwards/data/mappings-1.19to1.18.nbt", + child: Some(&node_1_17), + }; + let node_1_19 = MappingNode { + version: JavaMinecraftVersion::V_1_19, + value: "../assets/viabackwards/data/mappings-1.19.3to1.19.nbt", + child: Some(&node_1_18), + }; + let node_1_19_3 = MappingNode { + version: JavaMinecraftVersion::V_1_19_3, + value: "../assets/viabackwards/data/mappings-1.19.4to1.19.3.nbt", + child: Some(&node_1_19), + }; + let node_1_19_4 = MappingNode { + version: JavaMinecraftVersion::V_1_19_4, + value: "../assets/viabackwards/data/mappings-1.20to1.19.4.nbt", + child: Some(&node_1_19_3), + }; + let node_1_20 = MappingNode { + version: JavaMinecraftVersion::V_1_20, + value: "../assets/viabackwards/data/mappings-1.20.2to1.20.nbt", + child: Some(&node_1_19_4), + }; + let node_1_20_2 = MappingNode { + version: JavaMinecraftVersion::V_1_20_2, + value: "../assets/viabackwards/data/mappings-1.20.3to1.20.2.nbt", + child: Some(&node_1_20), + }; + let node_1_20_3 = MappingNode { + version: JavaMinecraftVersion::V_1_20_3, + value: "../assets/viabackwards/data/mappings-1.20.5to1.20.3.nbt", + child: Some(&node_1_20_2), + }; let node_1_20_5 = MappingNode { version: JavaMinecraftVersion::V_1_20_5, value: "../assets/viabackwards/data/mappings-1.21to1.20.5.nbt", - child: None, + child: Some(&node_1_20_3), }; let node_1_21 = MappingNode { version: JavaMinecraftVersion::V_1_21, diff --git a/pumpkin-codegen/src/remap/entity_id.rs b/pumpkin-codegen/src/remap/entity_id.rs index 5358b9f52..03dbfcb2c 100644 --- a/pumpkin-codegen/src/remap/entity_id.rs +++ b/pumpkin-codegen/src/remap/entity_id.rs @@ -7,10 +7,95 @@ use crate::version::JavaMinecraftVersion; /// Generates the `TokenStream` for per-version entity ID remap tables and the /// `remap_entity_id_for_version` function. pub fn build() -> TokenStream { + let node_1_10 = MappingNode { + version: JavaMinecraftVersion::V_1_10, + value: "../assets/viabackwards/data/mappings-1.11to1.10.nbt", + child: None, + }; + let node_1_11 = MappingNode { + version: JavaMinecraftVersion::V_1_11, + value: "../assets/viabackwards/data/mappings-1.12to1.11.nbt", + child: Some(&node_1_10), + }; + let node_1_12 = MappingNode { + version: JavaMinecraftVersion::V_1_12, + value: "../assets/viabackwards/data/mappings-1.13to1.12.nbt", + child: Some(&node_1_11), + }; + let node_1_13 = MappingNode { + version: JavaMinecraftVersion::V_1_13, + value: "../assets/viabackwards/data/mappings-1.13.2to1.13.nbt", + child: Some(&node_1_12), + }; + let node_1_13_2 = MappingNode { + version: JavaMinecraftVersion::V_1_13_2, + value: "../assets/viabackwards/data/mappings-1.14to1.13.2.nbt", + child: Some(&node_1_13), + }; + let node_1_14 = MappingNode { + version: JavaMinecraftVersion::V_1_14, + value: "../assets/viabackwards/data/mappings-1.15to1.14.nbt", + child: Some(&node_1_13_2), + }; + let node_1_15 = MappingNode { + version: JavaMinecraftVersion::V_1_15, + value: "../assets/viabackwards/data/mappings-1.16to1.15.nbt", + child: Some(&node_1_14), + }; + let node_1_16 = MappingNode { + version: JavaMinecraftVersion::V_1_16, + value: "../assets/viabackwards/data/mappings-1.16.2to1.16.nbt", + child: Some(&node_1_15), + }; + let node_1_16_2 = MappingNode { + version: JavaMinecraftVersion::V_1_16_2, + value: "../assets/viabackwards/data/mappings-1.17to1.16.2.nbt", + child: Some(&node_1_16), + }; + let node_1_17 = MappingNode { + version: JavaMinecraftVersion::V_1_17, + value: "../assets/viabackwards/data/mappings-1.18to1.17.nbt", + child: Some(&node_1_16_2), + }; + let node_1_18 = MappingNode { + version: JavaMinecraftVersion::V_1_18, + value: "../assets/viabackwards/data/mappings-1.19to1.18.nbt", + child: Some(&node_1_17), + }; + let node_1_19 = MappingNode { + version: JavaMinecraftVersion::V_1_19, + value: "../assets/viabackwards/data/mappings-1.19.3to1.19.nbt", + child: Some(&node_1_18), + }; + let node_1_19_3 = MappingNode { + version: JavaMinecraftVersion::V_1_19_3, + value: "../assets/viabackwards/data/mappings-1.19.4to1.19.3.nbt", + child: Some(&node_1_19), + }; + let node_1_19_4 = MappingNode { + version: JavaMinecraftVersion::V_1_19_4, + value: "../assets/viabackwards/data/mappings-1.20to1.19.4.nbt", + child: Some(&node_1_19_3), + }; + let node_1_20 = MappingNode { + version: JavaMinecraftVersion::V_1_20, + value: "../assets/viabackwards/data/mappings-1.20.2to1.20.nbt", + child: Some(&node_1_19_4), + }; + let node_1_20_2 = MappingNode { + version: JavaMinecraftVersion::V_1_20_2, + value: "../assets/viabackwards/data/mappings-1.20.3to1.20.2.nbt", + child: Some(&node_1_20), + }; + let node_1_20_3 = MappingNode { + version: JavaMinecraftVersion::V_1_20_3, + value: "../assets/viabackwards/data/mappings-1.20.5to1.20.3.nbt", + child: Some(&node_1_20_2), + }; let node_1_20_5 = MappingNode { version: JavaMinecraftVersion::V_1_20_5, value: "../assets/viabackwards/data/mappings-1.21to1.20.5.nbt", - child: None, + child: Some(&node_1_20_3), }; let node_1_21 = MappingNode { version: JavaMinecraftVersion::V_1_21, diff --git a/pumpkin-codegen/src/remap/item_id.rs b/pumpkin-codegen/src/remap/item_id.rs index dd6df68f0..0fb334360 100644 --- a/pumpkin-codegen/src/remap/item_id.rs +++ b/pumpkin-codegen/src/remap/item_id.rs @@ -9,10 +9,95 @@ use crate::version::JavaMinecraftVersion; pub fn build() -> TokenStream { // ViaBackwards mappings go new → old (26.1 → 1.21.11 → ... → 1.20.5) // This is the correct direction for a new server sending to old clients. + let node_1_10 = MappingNode { + version: JavaMinecraftVersion::V_1_10, + value: "../assets/viabackwards/data/mappings-1.11to1.10.nbt", + child: None, + }; + let node_1_11 = MappingNode { + version: JavaMinecraftVersion::V_1_11, + value: "../assets/viabackwards/data/mappings-1.12to1.11.nbt", + child: Some(&node_1_10), + }; + let node_1_12 = MappingNode { + version: JavaMinecraftVersion::V_1_12, + value: "../assets/viabackwards/data/mappings-1.13to1.12.nbt", + child: Some(&node_1_11), + }; + let node_1_13 = MappingNode { + version: JavaMinecraftVersion::V_1_13, + value: "../assets/viabackwards/data/mappings-1.13.2to1.13.nbt", + child: Some(&node_1_12), + }; + let node_1_13_2 = MappingNode { + version: JavaMinecraftVersion::V_1_13_2, + value: "../assets/viabackwards/data/mappings-1.14to1.13.2.nbt", + child: Some(&node_1_13), + }; + let node_1_14 = MappingNode { + version: JavaMinecraftVersion::V_1_14, + value: "../assets/viabackwards/data/mappings-1.15to1.14.nbt", + child: Some(&node_1_13_2), + }; + let node_1_15 = MappingNode { + version: JavaMinecraftVersion::V_1_15, + value: "../assets/viabackwards/data/mappings-1.16to1.15.nbt", + child: Some(&node_1_14), + }; + let node_1_16 = MappingNode { + version: JavaMinecraftVersion::V_1_16, + value: "../assets/viabackwards/data/mappings-1.16.2to1.16.nbt", + child: Some(&node_1_15), + }; + let node_1_16_2 = MappingNode { + version: JavaMinecraftVersion::V_1_16_2, + value: "../assets/viabackwards/data/mappings-1.17to1.16.2.nbt", + child: Some(&node_1_16), + }; + let node_1_17 = MappingNode { + version: JavaMinecraftVersion::V_1_17, + value: "../assets/viabackwards/data/mappings-1.18to1.17.nbt", + child: Some(&node_1_16_2), + }; + let node_1_18 = MappingNode { + version: JavaMinecraftVersion::V_1_18, + value: "../assets/viabackwards/data/mappings-1.19to1.18.nbt", + child: Some(&node_1_17), + }; + let node_1_19 = MappingNode { + version: JavaMinecraftVersion::V_1_19, + value: "../assets/viabackwards/data/mappings-1.19.3to1.19.nbt", + child: Some(&node_1_18), + }; + let node_1_19_3 = MappingNode { + version: JavaMinecraftVersion::V_1_19_3, + value: "../assets/viabackwards/data/mappings-1.19.4to1.19.3.nbt", + child: Some(&node_1_19), + }; + let node_1_19_4 = MappingNode { + version: JavaMinecraftVersion::V_1_19_4, + value: "../assets/viabackwards/data/mappings-1.20to1.19.4.nbt", + child: Some(&node_1_19_3), + }; + let node_1_20 = MappingNode { + version: JavaMinecraftVersion::V_1_20, + value: "../assets/viabackwards/data/mappings-1.20.2to1.20.nbt", + child: Some(&node_1_19_4), + }; + let node_1_20_2 = MappingNode { + version: JavaMinecraftVersion::V_1_20_2, + value: "../assets/viabackwards/data/mappings-1.20.3to1.20.2.nbt", + child: Some(&node_1_20), + }; + let node_1_20_3 = MappingNode { + version: JavaMinecraftVersion::V_1_20_3, + value: "../assets/viabackwards/data/mappings-1.20.5to1.20.3.nbt", + child: Some(&node_1_20_2), + }; let node_1_20_5 = MappingNode { version: JavaMinecraftVersion::V_1_20_5, value: "../assets/viabackwards/data/mappings-1.21to1.20.5.nbt", - child: None, + child: Some(&node_1_20_3), }; let node_1_21 = MappingNode { version: JavaMinecraftVersion::V_1_21, diff --git a/pumpkin-codegen/src/remap/particle_id.rs b/pumpkin-codegen/src/remap/particle_id.rs index b435fb90b..ed096770d 100644 --- a/pumpkin-codegen/src/remap/particle_id.rs +++ b/pumpkin-codegen/src/remap/particle_id.rs @@ -7,10 +7,95 @@ use crate::version::JavaMinecraftVersion; /// Generates the `TokenStream` for per-version particle ID remap tables and the /// `remap_particle_id_for_version` function. pub fn build() -> TokenStream { + let node_1_10 = MappingNode { + version: JavaMinecraftVersion::V_1_10, + value: "../assets/viabackwards/data/mappings-1.11to1.10.nbt", + child: None, + }; + let node_1_11 = MappingNode { + version: JavaMinecraftVersion::V_1_11, + value: "../assets/viabackwards/data/mappings-1.12to1.11.nbt", + child: Some(&node_1_10), + }; + let node_1_12 = MappingNode { + version: JavaMinecraftVersion::V_1_12, + value: "../assets/viabackwards/data/mappings-1.13to1.12.nbt", + child: Some(&node_1_11), + }; + let node_1_13 = MappingNode { + version: JavaMinecraftVersion::V_1_13, + value: "../assets/viabackwards/data/mappings-1.13.2to1.13.nbt", + child: Some(&node_1_12), + }; + let node_1_13_2 = MappingNode { + version: JavaMinecraftVersion::V_1_13_2, + value: "../assets/viabackwards/data/mappings-1.14to1.13.2.nbt", + child: Some(&node_1_13), + }; + let node_1_14 = MappingNode { + version: JavaMinecraftVersion::V_1_14, + value: "../assets/viabackwards/data/mappings-1.15to1.14.nbt", + child: Some(&node_1_13_2), + }; + let node_1_15 = MappingNode { + version: JavaMinecraftVersion::V_1_15, + value: "../assets/viabackwards/data/mappings-1.16to1.15.nbt", + child: Some(&node_1_14), + }; + let node_1_16 = MappingNode { + version: JavaMinecraftVersion::V_1_16, + value: "../assets/viabackwards/data/mappings-1.16.2to1.16.nbt", + child: Some(&node_1_15), + }; + let node_1_16_2 = MappingNode { + version: JavaMinecraftVersion::V_1_16_2, + value: "../assets/viabackwards/data/mappings-1.17to1.16.2.nbt", + child: Some(&node_1_16), + }; + let node_1_17 = MappingNode { + version: JavaMinecraftVersion::V_1_17, + value: "../assets/viabackwards/data/mappings-1.18to1.17.nbt", + child: Some(&node_1_16_2), + }; + let node_1_18 = MappingNode { + version: JavaMinecraftVersion::V_1_18, + value: "../assets/viabackwards/data/mappings-1.19to1.18.nbt", + child: Some(&node_1_17), + }; + let node_1_19 = MappingNode { + version: JavaMinecraftVersion::V_1_19, + value: "../assets/viabackwards/data/mappings-1.19.3to1.19.nbt", + child: Some(&node_1_18), + }; + let node_1_19_3 = MappingNode { + version: JavaMinecraftVersion::V_1_19_3, + value: "../assets/viabackwards/data/mappings-1.19.4to1.19.3.nbt", + child: Some(&node_1_19), + }; + let node_1_19_4 = MappingNode { + version: JavaMinecraftVersion::V_1_19_4, + value: "../assets/viabackwards/data/mappings-1.20to1.19.4.nbt", + child: Some(&node_1_19_3), + }; + let node_1_20 = MappingNode { + version: JavaMinecraftVersion::V_1_20, + value: "../assets/viabackwards/data/mappings-1.20.2to1.20.nbt", + child: Some(&node_1_19_4), + }; + let node_1_20_2 = MappingNode { + version: JavaMinecraftVersion::V_1_20_2, + value: "../assets/viabackwards/data/mappings-1.20.3to1.20.2.nbt", + child: Some(&node_1_20), + }; + let node_1_20_3 = MappingNode { + version: JavaMinecraftVersion::V_1_20_3, + value: "../assets/viabackwards/data/mappings-1.20.5to1.20.3.nbt", + child: Some(&node_1_20_2), + }; let node_1_20_5 = MappingNode { version: JavaMinecraftVersion::V_1_20_5, value: "../assets/viabackwards/data/mappings-1.21to1.20.5.nbt", - child: None, + child: Some(&node_1_20_3), }; let node_1_21 = MappingNode { version: JavaMinecraftVersion::V_1_21, diff --git a/pumpkin-codegen/src/remap/sound_id.rs b/pumpkin-codegen/src/remap/sound_id.rs index 07d0883d3..472b7c87a 100644 --- a/pumpkin-codegen/src/remap/sound_id.rs +++ b/pumpkin-codegen/src/remap/sound_id.rs @@ -7,10 +7,95 @@ use crate::version::JavaMinecraftVersion; /// Generates the `TokenStream` for per-version sound ID remap tables and the /// `remap_sound_id_for_version` function. pub fn build() -> TokenStream { + let node_1_10 = MappingNode { + version: JavaMinecraftVersion::V_1_10, + value: "../assets/viabackwards/data/mappings-1.11to1.10.nbt", + child: None, + }; + let node_1_11 = MappingNode { + version: JavaMinecraftVersion::V_1_11, + value: "../assets/viabackwards/data/mappings-1.12to1.11.nbt", + child: Some(&node_1_10), + }; + let node_1_12 = MappingNode { + version: JavaMinecraftVersion::V_1_12, + value: "../assets/viabackwards/data/mappings-1.13to1.12.nbt", + child: Some(&node_1_11), + }; + let node_1_13 = MappingNode { + version: JavaMinecraftVersion::V_1_13, + value: "../assets/viabackwards/data/mappings-1.13.2to1.13.nbt", + child: Some(&node_1_12), + }; + let node_1_13_2 = MappingNode { + version: JavaMinecraftVersion::V_1_13_2, + value: "../assets/viabackwards/data/mappings-1.14to1.13.2.nbt", + child: Some(&node_1_13), + }; + let node_1_14 = MappingNode { + version: JavaMinecraftVersion::V_1_14, + value: "../assets/viabackwards/data/mappings-1.15to1.14.nbt", + child: Some(&node_1_13_2), + }; + let node_1_15 = MappingNode { + version: JavaMinecraftVersion::V_1_15, + value: "../assets/viabackwards/data/mappings-1.16to1.15.nbt", + child: Some(&node_1_14), + }; + let node_1_16 = MappingNode { + version: JavaMinecraftVersion::V_1_16, + value: "../assets/viabackwards/data/mappings-1.16.2to1.16.nbt", + child: Some(&node_1_15), + }; + let node_1_16_2 = MappingNode { + version: JavaMinecraftVersion::V_1_16_2, + value: "../assets/viabackwards/data/mappings-1.17to1.16.2.nbt", + child: Some(&node_1_16), + }; + let node_1_17 = MappingNode { + version: JavaMinecraftVersion::V_1_17, + value: "../assets/viabackwards/data/mappings-1.18to1.17.nbt", + child: Some(&node_1_16_2), + }; + let node_1_18 = MappingNode { + version: JavaMinecraftVersion::V_1_18, + value: "../assets/viabackwards/data/mappings-1.19to1.18.nbt", + child: Some(&node_1_17), + }; + let node_1_19 = MappingNode { + version: JavaMinecraftVersion::V_1_19, + value: "../assets/viabackwards/data/mappings-1.19.3to1.19.nbt", + child: Some(&node_1_18), + }; + let node_1_19_3 = MappingNode { + version: JavaMinecraftVersion::V_1_19_3, + value: "../assets/viabackwards/data/mappings-1.19.4to1.19.3.nbt", + child: Some(&node_1_19), + }; + let node_1_19_4 = MappingNode { + version: JavaMinecraftVersion::V_1_19_4, + value: "../assets/viabackwards/data/mappings-1.20to1.19.4.nbt", + child: Some(&node_1_19_3), + }; + let node_1_20 = MappingNode { + version: JavaMinecraftVersion::V_1_20, + value: "../assets/viabackwards/data/mappings-1.20.2to1.20.nbt", + child: Some(&node_1_19_4), + }; + let node_1_20_2 = MappingNode { + version: JavaMinecraftVersion::V_1_20_2, + value: "../assets/viabackwards/data/mappings-1.20.3to1.20.2.nbt", + child: Some(&node_1_20), + }; + let node_1_20_3 = MappingNode { + version: JavaMinecraftVersion::V_1_20_3, + value: "../assets/viabackwards/data/mappings-1.20.5to1.20.3.nbt", + child: Some(&node_1_20_2), + }; let node_1_20_5 = MappingNode { version: JavaMinecraftVersion::V_1_20_5, value: "../assets/viabackwards/data/mappings-1.21to1.20.5.nbt", - child: None, + child: Some(&node_1_20_3), }; let node_1_21 = MappingNode { version: JavaMinecraftVersion::V_1_21,