This commit is contained in:
Alexander Medvedev
2026-08-06 13:10:57 +02:00
parent cb3660bcd2
commit f4571a9d63
69 changed files with 260 additions and 255 deletions

View File

@@ -817,7 +817,7 @@ fn identifier_to_tokens(identifier: &Identifier) -> TokenStream {
/// the final Rust source code.
pub(crate) fn build() -> TokenStream {
let advancements_path =
std::path::Path::new(env!("CARGO_MANIFEST_DIR")).join("../assets/advancements.json");
std::path::Path::new(env!("CARGO_MANIFEST_DIR")).join("../../assets/advancements.json");
let advancements_json = fs::read_to_string(&advancements_path)
.unwrap_or_else(|err| panic!("Failed to read {}: {err}", advancements_path.display()));
let advancements: BTreeMap<String, AdvancementStruct> =

View File

@@ -18,7 +18,7 @@ struct Attributes {
/// Generates the `TokenStream` for the `Attributes` struct and its associated constants.
pub fn build() -> TokenStream {
let attributes: BTreeMap<String, Attributes> =
serde_json::from_str(&fs::read_to_string("../assets/attributes.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/attributes.json").unwrap())
.expect("Failed to parse attributes.json");
let mut sorted_attributes: Vec<(String, Attributes)> = attributes.into_iter().collect();

View File

@@ -24,7 +24,7 @@ struct BedrockRuntimeItemState {
pub fn build() -> TokenStream {
let be_runtime_item_states: Vec<BedrockRuntimeItemState> = serde_json::from_str(
&fs::read_to_string("../assets/bedrock/runtime_item_states.json").unwrap(),
&fs::read_to_string("../../assets/bedrock/runtime_item_states.json").unwrap(),
)
.expect("Failed to parse bedrock/runtime_item_states.json");
@@ -33,7 +33,7 @@ pub fn build() -> TokenStream {
.map(|item| (item.name, item.id))
.collect();
let nbt_path = "../assets/bedrock/creative_items.nbt";
let nbt_path = "../../assets/bedrock/creative_items.nbt";
if !std::path::Path::new(nbt_path).exists() {
let generated_path = "../../crates/pumpkin-data/src/generated/bedrock_creative.rs";
if let Ok(content) = fs::read_to_string(generated_path) {

View File

@@ -214,13 +214,13 @@ struct MultiNoiseBiomeSuppliers {
/// the multi-noise biome source trees, and the `BiomeTree` search implementation.
pub fn build() -> TokenStream {
let biomes: BTreeMap<String, Biome> =
serde_json::from_str(&fs::read_to_string("../assets/biome.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/biome.json").unwrap())
.expect("Failed to parse biome.json");
let biome_trees: MultiNoiseBiomeSuppliers =
serde_json::from_str(&fs::read_to_string("../assets/multi_noise_biome_tree.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/multi_noise_biome_tree.json").unwrap())
.expect("Failed to parse multi_noise_biome_tree.json");
let bedrock_biomes: BTreeMap<String, GeyserBiomeMapping> =
serde_json::from_str(&fs::read_to_string("../assets/bedrock/biomes.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/bedrock/biomes.json").unwrap())
.expect("Failed to parse biomes.json");
let mut variants = TokenStream::new();

View File

@@ -839,11 +839,11 @@ pub struct BlockAssets {
/// Reads all block assets and generates the complete block registry `TokenStream`.
pub fn build() -> TokenStream {
let be_blocks_data = fs::read("../assets/bedrock/block_states.nbt").unwrap();
let be_blocks_data = fs::read("../../assets/bedrock/block_states.nbt").unwrap();
let mut be_blocks_cursor = Cursor::new(be_blocks_data);
let be_blocks = get_be_data_from_nbt(&mut be_blocks_cursor);
let geyser_blocks_data = fs::read("../assets/bedrock/blocks.nbt").unwrap();
let geyser_blocks_data = fs::read("../../assets/bedrock/blocks.nbt").unwrap();
let geyser_nbt_compound =
pumpkin_nbt::nbt_compress::read_gzip_compound_tag(Cursor::new(geyser_blocks_data)).unwrap();
let bedrock_mappings_list = geyser_nbt_compound
@@ -851,11 +851,11 @@ pub fn build() -> TokenStream {
.expect("Missing bedrock_mappings list in Geyser blocks.nbt");
let blocks_assets: BlockAssets =
serde_json::from_str(&fs::read_to_string("../assets/blocks.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/blocks.json").unwrap())
.expect("Failed to parse blocks.json");
let generated_properties: Vec<GeneratedProperty> =
serde_json::from_str(&fs::read_to_string("../assets/properties.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/properties.json").unwrap())
.expect("Failed to parse properties.json");
let generated_prop_map: BTreeMap<i32, &GeneratedProperty> = generated_properties

View File

@@ -6,7 +6,7 @@ use std::fs;
pub fn build() -> TokenStream {
let carvers: BTreeMap<String, Value> =
serde_json::from_str(&fs::read_to_string("../assets/carver.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/carver.json").unwrap())
.expect("Failed to parse carver.json");
let mut carver_instances = Vec::new();

View File

@@ -122,7 +122,7 @@ fn path_to_ident(relative: &str) -> String {
/// and emit a `pumpkin-data/src/generated/chest_loot.rs` with static constants
/// and a `get_chest_loot_table(key) -> Option<&'static ChestLootTable>` function.
pub fn build() -> TokenStream {
let base = Path::new("../assets/loot_table/chests");
let base = Path::new("../../assets/loot_table/chests");
// Collect all JSON files recursively, sorted for deterministic output.
let mut files: Vec<(String, ChestLootTableJson)> = collect_json_files(base, base);

View File

@@ -467,7 +467,7 @@ impl ToTokens for MaterialRuleStruct {
/// Reads `chunk_gen_settings.json` and emits the complete chunk generation settings `TokenStream`.
pub fn build() -> TokenStream {
let json: BTreeMap<String, GenerationSettingsStruct> =
serde_json::from_str(&fs::read_to_string("../assets/chunk_gen_settings.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/chunk_gen_settings.json").unwrap())
.expect("Failed to parse settings.json");
let mut const_defs = TokenStream::new();

View File

@@ -7,7 +7,7 @@ use quote::{format_ident, quote};
/// Generates the `TokenStream` for the `ChunkStatus` enum with serde rename attributes.
pub fn build() -> TokenStream {
let chunk_status: Vec<String> =
serde_json::from_str(&fs::read_to_string("../assets/chunk_status.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/chunk_status.json").unwrap())
.expect("Failed to parse chunk_status.json");
let variants: Vec<TokenStream> = chunk_status
.into_iter()

View File

@@ -7,7 +7,7 @@ use syn::LitInt;
/// Generates the `TokenStream` for the `get_composter_increase_chance_from_item_id` function.
pub fn build() -> TokenStream {
let composter_increase_chance: BTreeMap<u16, f32> = serde_json::from_str(
&fs::read_to_string("../assets/composter_increase_chance.json").unwrap(),
&fs::read_to_string("../../assets/composter_increase_chance.json").unwrap(),
)
.expect("Failed to parse composter_increase_chance.json");
let match_arms: Vec<TokenStream> = composter_increase_chance

View File

@@ -11,7 +11,7 @@ use crate::placed_feature::{
/// Reads `configured_features.json` and emits the complete `ConfiguredFeature` enum `TokenStream`.
pub fn build_enum() -> TokenStream {
let json_content = fs::read_to_string("../assets/configured_features.json")
let json_content = fs::read_to_string("../../assets/configured_features.json")
.expect("Failed to read configured_features.json");
let json: Value =
serde_json::from_str(&json_content).expect("Failed to parse configured_features.json");
@@ -63,7 +63,7 @@ pub fn build_enum() -> TokenStream {
/// Reads `configured_features.json` and emits a `build_configured_features()` function `TokenStream`.
pub fn build() -> TokenStream {
let json_content = fs::read_to_string("../assets/configured_features.json")
let json_content = fs::read_to_string("../../assets/configured_features.json")
.expect("Failed to read configured_features.json");
let json: Value =
serde_json::from_str(&json_content).expect("Failed to parse configured_features.json");

View File

@@ -62,7 +62,7 @@ pub enum DeathMessageType {
/// Generates the `TokenStream` for the `DamageType` struct, its associated enums, and constants.
pub fn build() -> TokenStream {
let damage_types: BTreeMap<String, DamageTypeEntry> =
serde_json::from_str(&fs::read_to_string("../assets/damage_type.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/damage_type.json").unwrap())
.expect("Failed to parse damage_type.json");
let mut constants = Vec::new();

View File

@@ -7,7 +7,7 @@ use std::fs;
/// Generates the `TokenStream` for the `DataComponent` enum and its ID/name conversion methods.
pub fn build() -> TokenStream {
let data_component: BTreeMap<String, u8> =
serde_json::from_str(&fs::read_to_string("../assets/data_component.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/data_component.json").unwrap())
.expect("Failed to parse data_component.json");
let mut enum_variants = TokenStream::new();

View File

@@ -53,7 +53,7 @@ pub struct Dimension {
/// Generates the `TokenStream` for the `Dimension` struct, its constants, and `from_name` lookup.
pub fn build() -> TokenStream {
let dimensions: BTreeMap<String, Dimension> = serde_json::from_str(
&fs::read_to_string("../assets/dimension.json").expect("Missing dimension.json"),
&fs::read_to_string("../../assets/dimension.json").expect("Missing dimension.json"),
)
.expect("Failed to parse dimension.json");

View File

@@ -76,7 +76,7 @@ impl MobEffectCategory {
/// and the `from_name`/`from_minecraft_name` lookup methods.
pub fn build() -> TokenStream {
let effects: BTreeMap<String, Effect> =
serde_json::from_str(&fs::read_to_string("../assets/effect.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/effect.json").unwrap())
.expect("Failed to parse effect.json");
let mut variants = TokenStream::new();

View File

@@ -89,7 +89,7 @@ impl AttributeModifierSlot {
/// and `from_name`/`from_id` lookup methods.
pub fn build() -> TokenStream {
let enchantments: BTreeMap<String, Enchantment> =
serde_json::from_str(&fs::read_to_string("../assets/enchantments.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/enchantments.json").unwrap())
.expect("Failed to parse enchantments.json");
let mut variants = TokenStream::new();

View File

@@ -8,7 +8,7 @@ use crate::array_to_tokenstream;
/// Generates the `TokenStream` for the `EntityPose` enum.
pub fn build() -> TokenStream {
let poses: Vec<String> =
serde_json::from_str(&fs::read_to_string("../assets/entity_pose.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/entity_pose.json").unwrap())
.expect("Failed to parse entity_pose.json");
let variants = array_to_tokenstream(&poses);

View File

@@ -8,7 +8,7 @@ use syn::LitInt;
/// Generates the `TokenStream` for the `EntityStatus` enum with `u8` discriminants.
pub fn build() -> TokenStream {
let events: BTreeMap<String, u8> =
serde_json::from_str(&fs::read_to_string("../assets/entity_statuses.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/entity_statuses.json").unwrap())
.expect("Failed to parse entity_statuses.json");
let variants: Vec<TokenStream> = events
.into_iter()

View File

@@ -211,7 +211,7 @@ impl ToTokens for NamedEntityType<'_> {
/// and the `from_raw`/`from_name` lookup methods.
pub fn build() -> TokenStream {
let json: BTreeMap<String, EntityType> =
serde_json::from_str(&fs::read_to_string("../assets/entities.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/entities.json").unwrap())
.expect("Failed to parse entities.json");
let mut consts = TokenStream::new();

View File

@@ -5,7 +5,7 @@ use syn::LitInt;
/// Generates the `TokenStream` for the `get_potted_item` function mapping item IDs to potted block IDs.
pub fn build() -> TokenStream {
let flower_pot_transformation: BTreeMap<u16, u16> = serde_json::from_str(
&fs::read_to_string("../assets/flower_pot_transformations.json").unwrap(),
&fs::read_to_string("../../assets/flower_pot_transformations.json").unwrap(),
)
.expect("Failed to parse flower_pot_transformations.json");
let match_arms: Vec<TokenStream> = flower_pot_transformation

View File

@@ -388,7 +388,7 @@ const fn default_flow_distance() -> u32 {
/// per-fluid property enums, and all lookup functions.
pub fn build() -> TokenStream {
let fluids: Vec<Fluid> =
match serde_json::from_str(&fs::read_to_string("../assets/fluids.json").unwrap()) {
match serde_json::from_str(&fs::read_to_string("../../assets/fluids.json").unwrap()) {
Ok(fluids) => fluids,
Err(e) => panic!("Failed to parse fluids.json: {e}"),
};

View File

@@ -4,7 +4,7 @@ use std::{collections::BTreeMap, fs};
/// Generates the `TokenStream` for the `FUELS` constant array, `get_item_burn_ticks`, and `is_fuel`.
pub fn build() -> TokenStream {
let fuels: BTreeMap<u16, u16> =
serde_json::from_str(&fs::read_to_string("../assets/fuels.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/fuels.json").unwrap())
.expect("Failed to parse fuels.json");
let fuel_list_tokens = fuels

View File

@@ -8,7 +8,7 @@ use crate::array_to_tokenstream;
/// Generates the `TokenStream` for the `GameEvent` enum.
pub fn build() -> TokenStream {
let game_events: Vec<String> =
serde_json::from_str(&fs::read_to_string("../assets/game_event.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/game_event.json").unwrap())
.expect("Failed to parse game_event.json");
let variants = array_to_tokenstream(&game_events);

View File

@@ -9,7 +9,7 @@ use serde_json::Value;
/// accessor methods with proper default values for each rule.
pub fn build() -> TokenStream {
let game_rules: BTreeMap<String, Value> =
serde_json::from_str(&fs::read_to_string("../assets/game_rules.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/game_rules.json").unwrap())
.expect("Failed to parse game_rules.json");
let mut enum_variants = TokenStream::new();

View File

@@ -1136,22 +1136,22 @@ pub struct BedrockItem {
/// Reads `items.json` and generates the complete item registry `TokenStream`.
pub fn build() -> TokenStream {
let blocks_assets: BlockAssets =
serde_json::from_str(&fs::read_to_string("../assets/blocks.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/blocks.json").unwrap())
.expect("Failed to parse blocks.json");
let items: BTreeMap<String, Item> =
serde_json::from_str(&fs::read_to_string("../assets/items.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/items.json").unwrap())
.expect("Failed to parse items.json");
let eggs: HashSet<u16> = serde_json::from_str::<BTreeMap<u16, String>>(
&fs::read_to_string("../assets/spawn_egg.json").unwrap(),
&fs::read_to_string("../../assets/spawn_egg.json").unwrap(),
)
.expect("Failed to parse spawn_egg.json")
.into_keys()
.collect::<HashSet<_>>();
let be_item_components: BTreeMap<String, Option<NbtCompound>> = {
let data = fs::read("../assets/bedrock/item_components.nbt").unwrap();
let data = fs::read("../../assets/bedrock/item_components.nbt").unwrap();
let mut cursor = Cursor::new(data);
let nbt = pumpkin_nbt::nbt_compress::read_gzip_compound_tag(&mut cursor)
.expect("Failed to parse bedrock/item_components.nbt");
@@ -1168,12 +1168,12 @@ pub fn build() -> TokenStream {
};
let be_runtime_item_states: Vec<BedrockRuntimeItemState> = serde_json::from_str(
&fs::read_to_string("../assets/bedrock/runtime_item_states.json").unwrap(),
&fs::read_to_string("../../assets/bedrock/runtime_item_states.json").unwrap(),
)
.expect("Failed to parse bedrock/runtime_item_states.json");
let be_item_data_overrides: BTreeMap<String, u32> = serde_json::from_str(
&fs::read_to_string("../assets/bedrock/item_data_overrides.json").unwrap(),
&fs::read_to_string("../../assets/bedrock/item_data_overrides.json").unwrap(),
)
.expect("Failed to parse bedrock/item_data_overrides.json");

View File

@@ -18,12 +18,12 @@ struct JukeboxSongData {
/// Generates the `TokenStream` for the `JukeboxSong` enum and its length, comparator, and name methods.
pub fn build() -> TokenStream {
let songs: BTreeMap<String, u32> = serde_json::from_str(
&fs::read_to_string("../assets/jukebox_song.json").expect("Missing jukebox_song.json"),
&fs::read_to_string("../../assets/jukebox_song.json").expect("Missing jukebox_song.json"),
)
.expect("Failed to parse jukebox_song.json");
let registries: BTreeMap<String, Value> = serde_json::from_str(
&fs::read_to_string("../assets/registry/1_21_11_synced_registries.json")
&fs::read_to_string("../../assets/registry/1_21_11_synced_registries.json")
.expect("Missing synced_registries.json"),
)
.expect("Failed to parse synced_registries.json");

View File

@@ -67,11 +67,14 @@ mod wit;
mod world_event;
/// Output directory where all generated Rust source files are written.
pub const OUT_DIR: &str = "../pumpkin-data/src/generated";
pub const OUT_DIR: &str = "../../crates/pumpkin-data/src/generated";
/// Entry point for the code generator. Runs all registered builder functions in parallel
/// and writes their output to [`OUT_DIR`].
pub fn main() {
let manifest_dir = std::path::Path::new(env!("CARGO_MANIFEST_DIR"));
std::env::set_current_dir(manifest_dir).expect("Failed to set current dir to manifest dir");
type BuilderFn = fn() -> TokenStream;
fs::create_dir_all(OUT_DIR).expect("Failed to create output directory");

View File

@@ -29,7 +29,7 @@ pub struct RawChatType {
/// Generates the `TokenStream` for message type `u8` constants, including a synthetic `RAW` variant.
pub fn build() -> TokenStream {
let json: BTreeMap<String, RawChatType> =
serde_json::from_str(&fs::read_to_string("../assets/message_type.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/message_type.json").unwrap())
.expect("Failed to parse message_type.json");
let mut variants = TokenStream::new();

View File

@@ -26,7 +26,7 @@ pub fn build() -> TokenStream {
let mut handlers_map: BTreeMap<String, BTreeMap<JavaMinecraftVersion, i32>> = BTreeMap::new();
for &(ver, file) in &assets {
let path = format!("../assets/meta_data_type/{file}");
let path = format!("../../assets/meta_data_type/{file}");
let parsed: BTreeMap<String, i32> =
serde_json::from_str(&fs::read_to_string(&path).unwrap())
.unwrap_or_else(|_| panic!("Failed to parse {file}"));

View File

@@ -6,7 +6,7 @@ use quote::{format_ident, quote};
pub fn build() -> TokenStream {
let json: BTreeMap<String, DoublePerlinNoiseParametersCodec> =
serde_json::from_str(&fs::read_to_string("../assets/noise_parameters.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/noise_parameters.json").unwrap())
.expect("Failed to parse noise_parameters.json");
let mut variants = TokenStream::new();

View File

@@ -1873,7 +1873,7 @@ macro_rules! fix_final_density {
/// Reads `density_function.json` and emits the complete noise-router constants `TokenStream`.
pub fn build() -> TokenStream {
let mut reprs: NoiseRouterReprs =
serde_json5::from_str(&fs::read_to_string("../assets/density_function.json").unwrap())
serde_json5::from_str(&fs::read_to_string("../../assets/density_function.json").unwrap())
.expect("could not deserialize density_function.json");
// The `final_density` function is mutated at runtime for the aquifer generator in Java.

View File

@@ -40,7 +40,7 @@ pub(crate) fn build() -> TokenStream {
// Parse available packet files into a BTreeMap keyed by JavaMinecraftVersion
let mut versions = BTreeMap::new();
for (ver, file) in assets {
let path = format!("../assets/packet/{file}");
let path = format!("../../assets/packet/{file}");
let content = fs::read_to_string(&path)
.unwrap_or_else(|_| panic!("Failed to read packet JSON file: {path}"));

View File

@@ -9,7 +9,7 @@ use crate::array_to_tokenstream;
/// Generates the `TokenStream` for the `Particle` enum and its `from_name`/`to_name` methods.
pub fn build() -> TokenStream {
let particle: Vec<String> =
serde_json::from_str(&fs::read_to_string("../assets/particles.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/particles.json").unwrap())
.expect("Failed to parse particles.json");
let variants = array_to_tokenstream(&particle);
let type_from_name = &particle

View File

@@ -6,7 +6,7 @@ use std::fs;
/// Reads `placed_feature.json` and emits the complete `PlacedFeature` enum `TokenStream`.
pub fn build_enum() -> TokenStream {
let json_content = fs::read_to_string("../assets/placed_feature.json")
let json_content = fs::read_to_string("../../assets/placed_feature.json")
.expect("Failed to read placed_feature.json");
let json: Value =
serde_json::from_str(&json_content).expect("Failed to parse placed_feature.json");
@@ -68,7 +68,7 @@ pub fn build_enum() -> TokenStream {
/// Reads `placed_feature.json` and emits the complete `build_placed_features()` function `TokenStream`.
pub fn build() -> TokenStream {
let json_content = fs::read_to_string("../assets/placed_feature.json")
let json_content = fs::read_to_string("../../assets/placed_feature.json")
.expect("Failed to read placed_feature.json");
let json: Value =
serde_json::from_str(&json_content).expect("Failed to parse placed_feature.json");

View File

@@ -63,7 +63,7 @@ impl Effect {
/// Generates the `TokenStream` for the `Potion` struct, `Effect` struct, and `from_name` lookup.
pub fn build() -> TokenStream {
let potions: BTreeMap<String, Potion> =
serde_json::from_str(&fs::read_to_string("../assets/potion.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/potion.json").unwrap())
.expect("Failed to parse potion.json");
let mut variants = TokenStream::new();

View File

@@ -83,7 +83,7 @@ impl Recipes {
/// Generates the `TokenStream` for `POTION_RECIPES` and `ITEM_RECIPES` constant arrays.
pub fn build() -> TokenStream {
let json: PotionBrewing =
serde_json::from_str(&fs::read_to_string("../assets/potion_brewing.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/potion_brewing.json").unwrap())
.expect("Failed to parse potion_brewing.json");
let item_recipes_tokens: Vec<TokenStream> = json

View File

@@ -5,7 +5,7 @@ use syn::LitInt;
/// Generates the `TokenStream` for the `get_recipe_remainder_id` function.
pub fn build() -> TokenStream {
let remainder: BTreeMap<u16, u16> =
serde_json::from_str(&fs::read_to_string("../assets/recipe_remainder.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/recipe_remainder.json").unwrap())
.expect("Failed to parse recipe_remainder.json");
let match_arms: Vec<TokenStream> = remainder
.into_iter()

View File

@@ -466,7 +466,7 @@ impl ToTokens for RecipeCategoryTypes {
/// Reads `recipes.json` and emits the complete recipe constants and helpers `TokenStream`.
pub fn build() -> TokenStream {
let recipes_assets: BTreeMap<String, RecipeTypes> =
serde_json::from_str(&fs::read_to_string("../assets/recipes.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/recipes.json").unwrap())
.expect("Failed to parse recipes.json");
let mut crafting_recipes = Vec::new();

View File

@@ -138,7 +138,7 @@ pub(crate) fn build() -> TokenStream {
let mut latest_registry = None;
for (ver, file) in assets {
let path = format!("../assets/registry/{file}");
let path = format!("../../assets/registry/{file}");
let registries = process_version(&path);

View File

@@ -9,157 +9,157 @@ use crate::version::JavaMinecraftVersion;
pub fn build() -> TokenStream {
let node_1_7_2 = MappingNode {
version: JavaMinecraftVersion::V_1_7_2,
value: "../assets/viabackwards/data/mappings-1.7.6to1.7.2.nbt",
value: "../../assets/viabackwards/data/mappings-1.7.6to1.7.2.nbt",
child: None,
};
let node_1_7_6 = MappingNode {
version: JavaMinecraftVersion::V_1_7_6,
value: "../assets/viarewind/data/mappings-1.8to1.7.10.nbt",
value: "../../assets/viarewind/data/mappings-1.8to1.7.10.nbt",
child: Some(&node_1_7_2),
};
let node_1_8 = MappingNode {
version: JavaMinecraftVersion::V_1_8,
value: "../assets/viarewind/data/mappings-1.9.4to1.8.nbt",
value: "../../assets/viarewind/data/mappings-1.9.4to1.8.nbt",
child: Some(&node_1_7_6),
};
let node_1_9 = MappingNode {
version: JavaMinecraftVersion::V_1_9,
value: "../assets/viabackwards/data/mappings-1.10to1.9.4.nbt",
value: "../../assets/viabackwards/data/mappings-1.10to1.9.4.nbt",
child: Some(&node_1_8),
};
let node_1_10 = MappingNode {
version: JavaMinecraftVersion::V_1_10,
value: "../assets/viabackwards/data/mappings-1.11to1.10.nbt",
value: "../../assets/viabackwards/data/mappings-1.11to1.10.nbt",
child: Some(&node_1_9),
};
let node_1_11 = MappingNode {
version: JavaMinecraftVersion::V_1_11,
value: "../assets/viabackwards/data/mappings-1.12to1.11.nbt",
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",
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",
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",
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",
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",
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",
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",
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",
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",
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",
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",
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",
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",
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",
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",
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",
value: "../../assets/viabackwards/data/mappings-1.21to1.20.5.nbt",
child: Some(&node_1_20_3),
};
let node_1_21 = MappingNode {
version: JavaMinecraftVersion::V_1_21,
value: "../assets/viabackwards/data/mappings-1.21.2to1.21.nbt",
value: "../../assets/viabackwards/data/mappings-1.21.2to1.21.nbt",
child: Some(&node_1_20_5),
};
let node_1_21_2 = MappingNode {
version: JavaMinecraftVersion::V_1_21_2,
value: "../assets/viabackwards/data/mappings-1.21.4to1.21.2.nbt",
value: "../../assets/viabackwards/data/mappings-1.21.4to1.21.2.nbt",
child: Some(&node_1_21),
};
let node_1_21_4 = MappingNode {
version: JavaMinecraftVersion::V_1_21_4,
value: "../assets/viabackwards/data/mappings-1.21.5to1.21.4.nbt",
value: "../../assets/viabackwards/data/mappings-1.21.5to1.21.4.nbt",
child: Some(&node_1_21_2),
};
let node_1_21_5 = MappingNode {
version: JavaMinecraftVersion::V_1_21_5,
value: "../assets/viabackwards/data/mappings-1.21.6to1.21.5.nbt",
value: "../../assets/viabackwards/data/mappings-1.21.6to1.21.5.nbt",
child: Some(&node_1_21_4),
};
let node_1_21_6 = MappingNode {
version: JavaMinecraftVersion::V_1_21_6,
value: "../assets/viabackwards/data/mappings-1.21.7to1.21.6.nbt",
value: "../../assets/viabackwards/data/mappings-1.21.7to1.21.6.nbt",
child: Some(&node_1_21_5),
};
let node_1_21_7 = MappingNode {
version: JavaMinecraftVersion::V_1_21_7,
value: "../assets/viabackwards/data/mappings-1.21.9to1.21.7.nbt",
value: "../../assets/viabackwards/data/mappings-1.21.9to1.21.7.nbt",
child: Some(&node_1_21_6),
};
let node_1_21_9 = MappingNode {
version: JavaMinecraftVersion::V_1_21_9,
value: "../assets/viabackwards/data/mappings-1.21.11to1.21.9.nbt",
value: "../../assets/viabackwards/data/mappings-1.21.11to1.21.9.nbt",
child: Some(&node_1_21_7),
};
let node_1_21_11 = MappingNode {
version: JavaMinecraftVersion::V_1_21_11,
value: "../assets/viabackwards/data/mappings-26.1to1.21.11.nbt",
value: "../../assets/viabackwards/data/mappings-26.1to1.21.11.nbt",
child: Some(&node_1_21_9),
};
let node_26_1 = MappingNode {
version: JavaMinecraftVersion::V_26_1,
value: "../assets/viabackwards/data/mappings-26.2to26.1.nbt",
value: "../../assets/viabackwards/data/mappings-26.2to26.1.nbt",
child: Some(&node_1_21_11),
};
let remapper: Remapper<_, Option<Vec<u16>>> = Remapper {

View File

@@ -9,157 +9,157 @@ use crate::version::JavaMinecraftVersion;
pub fn build() -> TokenStream {
let node_1_7_2 = MappingNode {
version: JavaMinecraftVersion::V_1_7_2,
value: "../assets/viabackwards/data/mappings-1.7.6to1.7.2.nbt",
value: "../../assets/viabackwards/data/mappings-1.7.6to1.7.2.nbt",
child: None,
};
let node_1_7_6 = MappingNode {
version: JavaMinecraftVersion::V_1_7_6,
value: "../assets/viarewind/data/mappings-1.8to1.7.10.nbt",
value: "../../assets/viarewind/data/mappings-1.8to1.7.10.nbt",
child: Some(&node_1_7_2),
};
let node_1_8 = MappingNode {
version: JavaMinecraftVersion::V_1_8,
value: "../assets/viarewind/data/mappings-1.9.4to1.8.nbt",
value: "../../assets/viarewind/data/mappings-1.9.4to1.8.nbt",
child: Some(&node_1_7_6),
};
let node_1_9 = MappingNode {
version: JavaMinecraftVersion::V_1_9,
value: "../assets/viabackwards/data/mappings-1.10to1.9.4.nbt",
value: "../../assets/viabackwards/data/mappings-1.10to1.9.4.nbt",
child: Some(&node_1_8),
};
let node_1_10 = MappingNode {
version: JavaMinecraftVersion::V_1_10,
value: "../assets/viabackwards/data/mappings-1.11to1.10.nbt",
value: "../../assets/viabackwards/data/mappings-1.11to1.10.nbt",
child: Some(&node_1_9),
};
let node_1_11 = MappingNode {
version: JavaMinecraftVersion::V_1_11,
value: "../assets/viabackwards/data/mappings-1.12to1.11.nbt",
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",
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",
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",
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",
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",
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",
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",
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",
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",
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",
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",
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",
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",
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",
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",
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",
value: "../../assets/viabackwards/data/mappings-1.21to1.20.5.nbt",
child: Some(&node_1_20_3),
};
let node_1_21 = MappingNode {
version: JavaMinecraftVersion::V_1_21,
value: "../assets/viabackwards/data/mappings-1.21.2to1.21.nbt",
value: "../../assets/viabackwards/data/mappings-1.21.2to1.21.nbt",
child: Some(&node_1_20_5),
};
let node_1_21_2 = MappingNode {
version: JavaMinecraftVersion::V_1_21_2,
value: "../assets/viabackwards/data/mappings-1.21.4to1.21.2.nbt",
value: "../../assets/viabackwards/data/mappings-1.21.4to1.21.2.nbt",
child: Some(&node_1_21),
};
let node_1_21_4 = MappingNode {
version: JavaMinecraftVersion::V_1_21_4,
value: "../assets/viabackwards/data/mappings-1.21.5to1.21.4.nbt",
value: "../../assets/viabackwards/data/mappings-1.21.5to1.21.4.nbt",
child: Some(&node_1_21_2),
};
let node_1_21_5 = MappingNode {
version: JavaMinecraftVersion::V_1_21_5,
value: "../assets/viabackwards/data/mappings-1.21.6to1.21.5.nbt",
value: "../../assets/viabackwards/data/mappings-1.21.6to1.21.5.nbt",
child: Some(&node_1_21_4),
};
let node_1_21_6 = MappingNode {
version: JavaMinecraftVersion::V_1_21_6,
value: "../assets/viabackwards/data/mappings-1.21.7to1.21.6.nbt",
value: "../../assets/viabackwards/data/mappings-1.21.7to1.21.6.nbt",
child: Some(&node_1_21_5),
};
let node_1_21_7 = MappingNode {
version: JavaMinecraftVersion::V_1_21_7,
value: "../assets/viabackwards/data/mappings-1.21.9to1.21.7.nbt",
value: "../../assets/viabackwards/data/mappings-1.21.9to1.21.7.nbt",
child: Some(&node_1_21_6),
};
let node_1_21_9 = MappingNode {
version: JavaMinecraftVersion::V_1_21_9,
value: "../assets/viabackwards/data/mappings-1.21.11to1.21.9.nbt",
value: "../../assets/viabackwards/data/mappings-1.21.11to1.21.9.nbt",
child: Some(&node_1_21_7),
};
let node_1_21_11 = MappingNode {
version: JavaMinecraftVersion::V_1_21_11,
value: "../assets/viabackwards/data/mappings-26.1to1.21.11.nbt",
value: "../../assets/viabackwards/data/mappings-26.1to1.21.11.nbt",
child: Some(&node_1_21_9),
};
let node_26_1 = MappingNode {
version: JavaMinecraftVersion::V_26_1,
value: "../assets/viabackwards/data/mappings-26.2to26.1.nbt",
value: "../../assets/viabackwards/data/mappings-26.2to26.1.nbt",
child: Some(&node_1_21_11),
};
let remapper: Remapper<_, Option<Vec<u16>>> = Remapper {

View File

@@ -11,157 +11,157 @@ pub fn build() -> TokenStream {
// This is the correct direction for a new server sending to old clients.
let node_1_7_2 = MappingNode {
version: JavaMinecraftVersion::V_1_7_2,
value: "../assets/viabackwards/data/mappings-1.7.6to1.7.2.nbt",
value: "../../assets/viabackwards/data/mappings-1.7.6to1.7.2.nbt",
child: None,
};
let node_1_7_6 = MappingNode {
version: JavaMinecraftVersion::V_1_7_6,
value: "../assets/viarewind/data/mappings-1.8to1.7.10.nbt",
value: "../../assets/viarewind/data/mappings-1.8to1.7.10.nbt",
child: Some(&node_1_7_2),
};
let node_1_8 = MappingNode {
version: JavaMinecraftVersion::V_1_8,
value: "../assets/viarewind/data/mappings-1.9.4to1.8.nbt",
value: "../../assets/viarewind/data/mappings-1.9.4to1.8.nbt",
child: Some(&node_1_7_6),
};
let node_1_9 = MappingNode {
version: JavaMinecraftVersion::V_1_9,
value: "../assets/viabackwards/data/mappings-1.10to1.9.4.nbt",
value: "../../assets/viabackwards/data/mappings-1.10to1.9.4.nbt",
child: Some(&node_1_8),
};
let node_1_10 = MappingNode {
version: JavaMinecraftVersion::V_1_10,
value: "../assets/viabackwards/data/mappings-1.11to1.10.nbt",
value: "../../assets/viabackwards/data/mappings-1.11to1.10.nbt",
child: Some(&node_1_9),
};
let node_1_11 = MappingNode {
version: JavaMinecraftVersion::V_1_11,
value: "../assets/viabackwards/data/mappings-1.12to1.11.nbt",
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",
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",
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",
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",
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",
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",
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",
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",
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",
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",
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",
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",
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",
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",
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",
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",
value: "../../assets/viabackwards/data/mappings-1.21to1.20.5.nbt",
child: Some(&node_1_20_3),
};
let node_1_21 = MappingNode {
version: JavaMinecraftVersion::V_1_21,
value: "../assets/viabackwards/data/mappings-1.21.2to1.21.nbt",
value: "../../assets/viabackwards/data/mappings-1.21.2to1.21.nbt",
child: Some(&node_1_20_5),
};
let node_1_21_2 = MappingNode {
version: JavaMinecraftVersion::V_1_21_2,
value: "../assets/viabackwards/data/mappings-1.21.4to1.21.2.nbt",
value: "../../assets/viabackwards/data/mappings-1.21.4to1.21.2.nbt",
child: Some(&node_1_21),
};
let node_1_21_4 = MappingNode {
version: JavaMinecraftVersion::V_1_21_4,
value: "../assets/viabackwards/data/mappings-1.21.5to1.21.4.nbt",
value: "../../assets/viabackwards/data/mappings-1.21.5to1.21.4.nbt",
child: Some(&node_1_21_2),
};
let node_1_21_5 = MappingNode {
version: JavaMinecraftVersion::V_1_21_5,
value: "../assets/viabackwards/data/mappings-1.21.6to1.21.5.nbt",
value: "../../assets/viabackwards/data/mappings-1.21.6to1.21.5.nbt",
child: Some(&node_1_21_4),
};
let node_1_21_6 = MappingNode {
version: JavaMinecraftVersion::V_1_21_6,
value: "../assets/viabackwards/data/mappings-1.21.7to1.21.6.nbt",
value: "../../assets/viabackwards/data/mappings-1.21.7to1.21.6.nbt",
child: Some(&node_1_21_5),
};
let node_1_21_7 = MappingNode {
version: JavaMinecraftVersion::V_1_21_7,
value: "../assets/viabackwards/data/mappings-1.21.9to1.21.7.nbt",
value: "../../assets/viabackwards/data/mappings-1.21.9to1.21.7.nbt",
child: Some(&node_1_21_6),
};
let node_1_21_9 = MappingNode {
version: JavaMinecraftVersion::V_1_21_9,
value: "../assets/viabackwards/data/mappings-1.21.11to1.21.9.nbt",
value: "../../assets/viabackwards/data/mappings-1.21.11to1.21.9.nbt",
child: Some(&node_1_21_7),
};
let node_1_21_11 = MappingNode {
version: JavaMinecraftVersion::V_1_21_11,
value: "../assets/viabackwards/data/mappings-26.1to1.21.11.nbt",
value: "../../assets/viabackwards/data/mappings-26.1to1.21.11.nbt",
child: Some(&node_1_21_9),
};
let node_26_1 = MappingNode {
version: JavaMinecraftVersion::V_26_1,
value: "../assets/viabackwards/data/mappings-26.2to26.1.nbt",
value: "../../assets/viabackwards/data/mappings-26.2to26.1.nbt",
child: Some(&node_1_21_11),
};

View File

@@ -9,157 +9,157 @@ use crate::version::JavaMinecraftVersion;
pub fn build() -> TokenStream {
let node_1_7_2 = MappingNode {
version: JavaMinecraftVersion::V_1_7_2,
value: "../assets/viabackwards/data/mappings-1.7.6to1.7.2.nbt",
value: "../../assets/viabackwards/data/mappings-1.7.6to1.7.2.nbt",
child: None,
};
let node_1_7_6 = MappingNode {
version: JavaMinecraftVersion::V_1_7_6,
value: "../assets/viarewind/data/mappings-1.8to1.7.10.nbt",
value: "../../assets/viarewind/data/mappings-1.8to1.7.10.nbt",
child: Some(&node_1_7_2),
};
let node_1_8 = MappingNode {
version: JavaMinecraftVersion::V_1_8,
value: "../assets/viarewind/data/mappings-1.9.4to1.8.nbt",
value: "../../assets/viarewind/data/mappings-1.9.4to1.8.nbt",
child: Some(&node_1_7_6),
};
let node_1_9 = MappingNode {
version: JavaMinecraftVersion::V_1_9,
value: "../assets/viabackwards/data/mappings-1.10to1.9.4.nbt",
value: "../../assets/viabackwards/data/mappings-1.10to1.9.4.nbt",
child: Some(&node_1_8),
};
let node_1_10 = MappingNode {
version: JavaMinecraftVersion::V_1_10,
value: "../assets/viabackwards/data/mappings-1.11to1.10.nbt",
value: "../../assets/viabackwards/data/mappings-1.11to1.10.nbt",
child: Some(&node_1_9),
};
let node_1_11 = MappingNode {
version: JavaMinecraftVersion::V_1_11,
value: "../assets/viabackwards/data/mappings-1.12to1.11.nbt",
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",
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",
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",
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",
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",
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",
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",
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",
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",
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",
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",
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",
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",
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",
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",
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",
value: "../../assets/viabackwards/data/mappings-1.21to1.20.5.nbt",
child: Some(&node_1_20_3),
};
let node_1_21 = MappingNode {
version: JavaMinecraftVersion::V_1_21,
value: "../assets/viabackwards/data/mappings-1.21.2to1.21.nbt",
value: "../../assets/viabackwards/data/mappings-1.21.2to1.21.nbt",
child: Some(&node_1_20_5),
};
let node_1_21_2 = MappingNode {
version: JavaMinecraftVersion::V_1_21_2,
value: "../assets/viabackwards/data/mappings-1.21.4to1.21.2.nbt",
value: "../../assets/viabackwards/data/mappings-1.21.4to1.21.2.nbt",
child: Some(&node_1_21),
};
let node_1_21_4 = MappingNode {
version: JavaMinecraftVersion::V_1_21_4,
value: "../assets/viabackwards/data/mappings-1.21.5to1.21.4.nbt",
value: "../../assets/viabackwards/data/mappings-1.21.5to1.21.4.nbt",
child: Some(&node_1_21_2),
};
let node_1_21_5 = MappingNode {
version: JavaMinecraftVersion::V_1_21_5,
value: "../assets/viabackwards/data/mappings-1.21.6to1.21.5.nbt",
value: "../../assets/viabackwards/data/mappings-1.21.6to1.21.5.nbt",
child: Some(&node_1_21_4),
};
let node_1_21_6 = MappingNode {
version: JavaMinecraftVersion::V_1_21_6,
value: "../assets/viabackwards/data/mappings-1.21.7to1.21.6.nbt",
value: "../../assets/viabackwards/data/mappings-1.21.7to1.21.6.nbt",
child: Some(&node_1_21_5),
};
let node_1_21_7 = MappingNode {
version: JavaMinecraftVersion::V_1_21_7,
value: "../assets/viabackwards/data/mappings-1.21.9to1.21.7.nbt",
value: "../../assets/viabackwards/data/mappings-1.21.9to1.21.7.nbt",
child: Some(&node_1_21_6),
};
let node_1_21_9 = MappingNode {
version: JavaMinecraftVersion::V_1_21_9,
value: "../assets/viabackwards/data/mappings-1.21.11to1.21.9.nbt",
value: "../../assets/viabackwards/data/mappings-1.21.11to1.21.9.nbt",
child: Some(&node_1_21_7),
};
let node_1_21_11 = MappingNode {
version: JavaMinecraftVersion::V_1_21_11,
value: "../assets/viabackwards/data/mappings-26.1to1.21.11.nbt",
value: "../../assets/viabackwards/data/mappings-26.1to1.21.11.nbt",
child: Some(&node_1_21_9),
};
let node_26_1 = MappingNode {
version: JavaMinecraftVersion::V_26_1,
value: "../assets/viabackwards/data/mappings-26.2to26.1.nbt",
value: "../../assets/viabackwards/data/mappings-26.2to26.1.nbt",
child: Some(&node_1_21_11),
};
let remapper: Remapper<_, Option<Vec<u16>>> = Remapper {

View File

@@ -9,157 +9,157 @@ use crate::version::JavaMinecraftVersion;
pub fn build() -> TokenStream {
let node_1_7_2 = MappingNode {
version: JavaMinecraftVersion::V_1_7_2,
value: "../assets/viabackwards/data/mappings-1.7.6to1.7.2.nbt",
value: "../../assets/viabackwards/data/mappings-1.7.6to1.7.2.nbt",
child: None,
};
let node_1_7_6 = MappingNode {
version: JavaMinecraftVersion::V_1_7_6,
value: "../assets/viarewind/data/mappings-1.8to1.7.10.nbt",
value: "../../assets/viarewind/data/mappings-1.8to1.7.10.nbt",
child: Some(&node_1_7_2),
};
let node_1_8 = MappingNode {
version: JavaMinecraftVersion::V_1_8,
value: "../assets/viarewind/data/mappings-1.9.4to1.8.nbt",
value: "../../assets/viarewind/data/mappings-1.9.4to1.8.nbt",
child: Some(&node_1_7_6),
};
let node_1_9 = MappingNode {
version: JavaMinecraftVersion::V_1_9,
value: "../assets/viabackwards/data/mappings-1.10to1.9.4.nbt",
value: "../../assets/viabackwards/data/mappings-1.10to1.9.4.nbt",
child: Some(&node_1_8),
};
let node_1_10 = MappingNode {
version: JavaMinecraftVersion::V_1_10,
value: "../assets/viabackwards/data/mappings-1.11to1.10.nbt",
value: "../../assets/viabackwards/data/mappings-1.11to1.10.nbt",
child: Some(&node_1_9),
};
let node_1_11 = MappingNode {
version: JavaMinecraftVersion::V_1_11,
value: "../assets/viabackwards/data/mappings-1.12to1.11.nbt",
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",
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",
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",
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",
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",
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",
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",
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",
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",
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",
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",
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",
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",
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",
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",
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",
value: "../../assets/viabackwards/data/mappings-1.21to1.20.5.nbt",
child: Some(&node_1_20_3),
};
let node_1_21 = MappingNode {
version: JavaMinecraftVersion::V_1_21,
value: "../assets/viabackwards/data/mappings-1.21.2to1.21.nbt",
value: "../../assets/viabackwards/data/mappings-1.21.2to1.21.nbt",
child: Some(&node_1_20_5),
};
let node_1_21_2 = MappingNode {
version: JavaMinecraftVersion::V_1_21_2,
value: "../assets/viabackwards/data/mappings-1.21.4to1.21.2.nbt",
value: "../../assets/viabackwards/data/mappings-1.21.4to1.21.2.nbt",
child: Some(&node_1_21),
};
let node_1_21_4 = MappingNode {
version: JavaMinecraftVersion::V_1_21_4,
value: "../assets/viabackwards/data/mappings-1.21.5to1.21.4.nbt",
value: "../../assets/viabackwards/data/mappings-1.21.5to1.21.4.nbt",
child: Some(&node_1_21_2),
};
let node_1_21_5 = MappingNode {
version: JavaMinecraftVersion::V_1_21_5,
value: "../assets/viabackwards/data/mappings-1.21.6to1.21.5.nbt",
value: "../../assets/viabackwards/data/mappings-1.21.6to1.21.5.nbt",
child: Some(&node_1_21_4),
};
let node_1_21_6 = MappingNode {
version: JavaMinecraftVersion::V_1_21_6,
value: "../assets/viabackwards/data/mappings-1.21.7to1.21.6.nbt",
value: "../../assets/viabackwards/data/mappings-1.21.7to1.21.6.nbt",
child: Some(&node_1_21_5),
};
let node_1_21_7 = MappingNode {
version: JavaMinecraftVersion::V_1_21_7,
value: "../assets/viabackwards/data/mappings-1.21.9to1.21.7.nbt",
value: "../../assets/viabackwards/data/mappings-1.21.9to1.21.7.nbt",
child: Some(&node_1_21_6),
};
let node_1_21_9 = MappingNode {
version: JavaMinecraftVersion::V_1_21_9,
value: "../assets/viabackwards/data/mappings-1.21.11to1.21.9.nbt",
value: "../../assets/viabackwards/data/mappings-1.21.11to1.21.9.nbt",
child: Some(&node_1_21_7),
};
let node_1_21_11 = MappingNode {
version: JavaMinecraftVersion::V_1_21_11,
value: "../assets/viabackwards/data/mappings-26.1to1.21.11.nbt",
value: "../../assets/viabackwards/data/mappings-26.1to1.21.11.nbt",
child: Some(&node_1_21_9),
};
let node_26_1 = MappingNode {
version: JavaMinecraftVersion::V_26_1,
value: "../assets/viabackwards/data/mappings-26.2to26.1.nbt",
value: "../../assets/viabackwards/data/mappings-26.2to26.1.nbt",
child: Some(&node_1_21_11),
};
let remapper: Remapper<_, Option<Vec<u16>>> = Remapper {

View File

@@ -8,7 +8,7 @@ use crate::array_to_tokenstream;
/// Generates the `TokenStream` for the `ScoreboardDisplaySlot` enum.
pub fn build() -> TokenStream {
let sound_categories: Vec<String> = serde_json::from_str(
&fs::read_to_string("../assets/scoreboard_display_slot.json").unwrap(),
&fs::read_to_string("../../assets/scoreboard_display_slot.json").unwrap(),
)
.expect("Failed to parse scoreboard_display_slot.json");
let variants = array_to_tokenstream(&sound_categories);

View File

@@ -8,7 +8,7 @@ use crate::array_to_tokenstream;
/// Generates the `TokenStream` for the `WindowType` enum.
pub fn build() -> TokenStream {
let screens: Vec<String> =
serde_json::from_str(&fs::read_to_string("../assets/screens.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/screens.json").unwrap())
.expect("Failed to parse screens.json");
let variants = array_to_tokenstream(&screens);

View File

@@ -4,7 +4,7 @@ use std::{collections::BTreeMap, fs};
/// Generates the `TokenStream` for some slot range constants and a function to get one from the name of a range.
pub fn build() -> TokenStream {
let slot_ranges: BTreeMap<String, Box<[usize]>> =
serde_json::from_str(&fs::read_to_string("../assets/slot_ranges.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/slot_ranges.json").unwrap())
.expect("Failed to parse slot_ranges.json");
let slot_range_match_tokens = slot_ranges

View File

@@ -9,7 +9,7 @@ use crate::array_to_tokenstream;
/// Generates the `TokenStream` for the `Sound` enum and its binary-search `from_name`/`to_name` methods.
pub fn build() -> TokenStream {
let sound: Vec<String> =
serde_json::from_str(&fs::read_to_string("../assets/sounds.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/sounds.json").unwrap())
.expect("Failed to parse sounds.json");
let variants = array_to_tokenstream(&sound);

View File

@@ -9,7 +9,7 @@ use crate::array_to_tokenstream;
/// Generates the `TokenStream` for the `SoundCategory` enum and its `from_name`/`to_name` methods.
pub fn build() -> TokenStream {
let sound_categories: Vec<String> =
serde_json::from_str(&fs::read_to_string("../assets/sound_category.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/sound_category.json").unwrap())
.expect("Failed to parse sound_category.json");
let variants = array_to_tokenstream(&sound_categories);
let type_from_name = &sound_categories

View File

@@ -7,7 +7,7 @@ use quote::{format_ident, quote};
/// Generates the `TokenStream` for `entity_from_egg` and `spawn_egg_ids` helper functions.
pub fn build() -> TokenStream {
let eggs: BTreeMap<u16, String> =
serde_json::from_str(&fs::read_to_string("../assets/spawn_egg.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/spawn_egg.json").unwrap())
.expect("Failed to parse spawn_egg.json");
let mut names = TokenStream::new();
let mut ids = TokenStream::new();

View File

@@ -18,7 +18,7 @@ struct StatisticData {
pub fn build() -> TokenStream {
let stats_json =
std::fs::read_to_string("../assets/stats.json").expect("Failed to read stats.json");
std::fs::read_to_string("../../assets/stats.json").expect("Failed to read stats.json");
let stats_data: IndexMap<String, StatisticData> =
serde_json::from_str(&stats_json).expect("Failed to parse stats.json");

View File

@@ -421,11 +421,11 @@ fn generation_step_to_token(step: &str) -> TokenStream {
/// Reads `structures.json` and `structure_set.json` and emits the complete structures `TokenStream`.
pub fn build() -> TokenStream {
let structures_json: BTreeMap<String, StructureStruct> =
serde_json::from_str(&fs::read_to_string("../assets/structures.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/structures.json").unwrap())
.expect("Failed to parse structures.json");
let structure_sets_json: BTreeMap<String, StructureSetStruct> =
serde_json::from_str(&fs::read_to_string("../assets/structure_set.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/structure_set.json").unwrap())
.expect("Failed to parse structure_set.json");
let mut structure_const_defs = TokenStream::new();

View File

@@ -93,27 +93,27 @@ pub(crate) fn build() -> TokenStream {
// --- Load Global Assets ---
let blocks_assets: BlockAssets =
serde_json::from_str(&fs::read_to_string("../assets/blocks.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/blocks.json").unwrap())
.expect("Failed to parse blocks.json");
let items: BTreeMap<String, Item> =
serde_json::from_str(&fs::read_to_string("../assets/items.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/items.json").unwrap())
.expect("Failed to parse items.json");
let biomes: BTreeMap<String, Biome> =
serde_json::from_str(&fs::read_to_string("../assets/biome.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/biome.json").unwrap())
.expect("Failed to parse biome.json");
let fluids: Vec<Fluid> =
serde_json::from_str(&fs::read_to_string("../assets/fluids.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/fluids.json").unwrap())
.expect("Failed to parse fluids.json");
let enchantments: BTreeMap<String, Enchantment> =
serde_json::from_str(&fs::read_to_string("../assets/enchantments.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/enchantments.json").unwrap())
.expect("Failed to parse enchantments.json");
let entities: BTreeMap<String, EntityType> =
serde_json::from_str(&fs::read_to_string("../assets/entities.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/entities.json").unwrap())
.expect("Failed to parse entities.json");
// build a map of dimension name -> numeric id
let dimension_json: BTreeMap<String, serde_json::Value> =
serde_json::from_str(&fs::read_to_string("../assets/dimension.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/dimension.json").unwrap())
.expect("Failed to parse dimension.json");
let mut dimension_id_map: BTreeMap<String, u16> = BTreeMap::new();
for (i, name) in dimension_json.keys().enumerate() {
@@ -123,7 +123,7 @@ pub(crate) fn build() -> TokenStream {
// also build timeline id map from registry file so timeline tags carry numbers
let mut timeline_id_map: BTreeMap<String, u16> = BTreeMap::new();
if let Ok(registries) = serde_json::from_str::<serde_json::Value>(
&fs::read_to_string("../assets/registry/1_21_11_synced_registries.json").unwrap(),
&fs::read_to_string("../../assets/registry/1_21_11_synced_registries.json").unwrap(),
) && let Some(timelines) = registries.get("timeline")
&& let Some(obj) = timelines.as_object()
{
@@ -150,7 +150,7 @@ pub(crate) fn build() -> TokenStream {
let mut match_get_map = Vec::new();
for (ver, file) in assets {
let file_path = format!("../assets/tags/{file}");
let file_path = format!("../../assets/tags/{file}");
let tags: BTreeMap<String, BTreeMap<String, Vec<String>>> =
serde_json::from_str(&fs::read_to_string(&file_path).unwrap()).unwrap();

View File

@@ -24,7 +24,7 @@ pub(crate) fn build() -> TokenStream {
let mut versions = BTreeMap::new();
for (ver, file) in assets {
let path = format!("../assets/tracked_data/{file}");
let path = format!("../../assets/tracked_data/{file}");
let content = fs::read_to_string(&path)
.unwrap_or_else(|e| panic!("Failed to read JSON file: {path} {e}"));
@@ -186,7 +186,7 @@ mod tests {
#[test]
fn checked_in_tracker_table_matches_codegen() {
let checked_in = std::fs::read_to_string("../pumpkin-data/src/generated/tracked_data.rs")
let checked_in = std::fs::read_to_string("../../crates/pumpkin-data/src/generated/tracked_data.rs")
.expect("checked-in tracked data");
let parsed = syn::parse_file(&checked_in).expect("valid generated Rust");

View File

@@ -4,7 +4,7 @@ use std::{collections::BTreeMap, fs};
pub fn build() -> TokenStream {
let java_json: BTreeMap<String, String> = serde_json::from_str(
&fs::read_to_string("../assets/en_us_java.json").expect("en_us_java is missing"),
&fs::read_to_string("../../assets/en_us_java.json").expect("en_us_java is missing"),
)
.unwrap();
@@ -23,7 +23,7 @@ pub fn build() -> TokenStream {
}
let bedrock_content =
fs::read_to_string("../assets/en_us_bedrock.lang").expect("en_us_bedrock is missing");
fs::read_to_string("../../assets/en_us_bedrock.lang").expect("en_us_bedrock is missing");
let mut bedrock_constants = TokenStream::new();
for line in bedrock_content.lines() {

View File

@@ -50,7 +50,7 @@ struct TradeItemJson {
pub fn build() -> TokenStream {
let data: VillagerDataJson =
serde_json::from_str(&fs::read_to_string("../assets/villager_data.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/villager_data.json").unwrap())
.expect("Failed to parse villager_data.json");
let mut profession_variants = Vec::new();

View File

@@ -23,13 +23,13 @@ pub fn build() -> String {
// Process serverbound packets
process_packets(
"../pumpkin-protocol/src/bedrock/server",
"../../crates/pumpkin-protocol/src/bedrock/server",
&mut interface,
&mut serverbound_variant,
);
// Process clientbound packets
process_packets(
"../pumpkin-protocol/src/bedrock/client",
"../../crates/pumpkin-protocol/src/bedrock/client",
&mut interface,
&mut clientbound_variant,
);

View File

@@ -5,7 +5,7 @@ use wit_encoder::{Enum, Interface, Package, PackageName, TypeDef, TypeDefKind};
pub fn build() -> String {
let json: BTreeMap<String, serde_json::Value> =
serde_json::from_str(&fs::read_to_string("../assets/biome.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/biome.json").unwrap())
.expect("Failed to parse biome.json");
let mut package = Package::new(PackageName::new(

View File

@@ -5,7 +5,7 @@ use wit_encoder::{Enum, Interface, Package, PackageName, TypeDef, TypeDefKind};
pub fn build() -> String {
let data_components: BTreeMap<String, u8> =
serde_json::from_str(&fs::read_to_string("../assets/data_component.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/data_component.json").unwrap())
.expect("Failed to parse data_component.json");
let mut package = Package::new(PackageName::new(

View File

@@ -5,7 +5,7 @@ use wit_encoder::{Enum, Interface, Package, PackageName, TypeDef, TypeDefKind};
pub fn build() -> String {
let enchantments: BTreeMap<String, serde_json::Value> =
serde_json::from_str(&fs::read_to_string("../assets/enchantments.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/enchantments.json").unwrap())
.expect("Failed to parse enchantments.json");
let mut package = Package::new(PackageName::new(

View File

@@ -5,7 +5,7 @@ use wit_encoder::{Enum, Interface, Package, PackageName, TypeDef, TypeDefKind};
pub fn build() -> String {
let json: BTreeMap<String, serde_json::Value> =
serde_json::from_str(&fs::read_to_string("../assets/entities.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/entities.json").unwrap())
.expect("Failed to parse entities.json");
let mut package = Package::new(PackageName::new(

View File

@@ -29,7 +29,7 @@ pub fn build() -> String {
let server_states = &["config", "handshake", "login", "play", "status"];
for state in server_states {
process_packets(
&format!("../pumpkin-protocol/src/java/server/{}", state),
&format!("../../crates/pumpkin-protocol/src/java/server/{}", state),
state,
&mut interface,
&mut serverbound_variant,
@@ -40,7 +40,7 @@ pub fn build() -> String {
let client_states = &["config", "login", "play", "status"];
for state in client_states {
process_packets(
&format!("../pumpkin-protocol/src/java/client/{}", state),
&format!("../../crates/pumpkin-protocol/src/java/client/{}", state),
state,
&mut interface,
&mut clientbound_variant,

View File

@@ -16,8 +16,8 @@ use std::{
process::{Command, Stdio},
};
pub const WIT_OUT_DIR: &str = "../pumpkin-plugin-wit/v0.1";
pub const MAPPING_OUT_DIR: &str = "../pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1";
pub const WIT_OUT_DIR: &str = "../../crates/pumpkin-plugin-wit/v0.1";
pub const MAPPING_OUT_DIR: &str = "../../crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1";
pub fn main() {
fs::create_dir_all(WIT_OUT_DIR).expect("Failed to create WIT output directory");

View File

@@ -27,7 +27,7 @@ pub fn build_java_mapping() -> String {
for state in client_states {
process_packets(
&format!("../pumpkin-protocol/src/java/client/{}", state),
&format!("../../crates/pumpkin-protocol/src/java/client/{}", state),
state,
&mut output,
"java_packet",
@@ -48,7 +48,7 @@ pub fn build_java_mapping() -> String {
for state in server_states {
process_packets(
&format!("../pumpkin-protocol/src/java/server/{}", state),
&format!("../../crates/pumpkin-protocol/src/java/server/{}", state),
state,
&mut output,
"java_packet",
@@ -69,7 +69,7 @@ pub fn build_java_mapping() -> String {
for state in client_states {
process_packets(
&format!("../pumpkin-protocol/src/java/client/{}", state),
&format!("../../crates/pumpkin-protocol/src/java/client/{}", state),
state,
&mut output,
"java_packet",
@@ -86,7 +86,7 @@ pub fn build_java_mapping() -> String {
);
for state in client_states {
process_packets(
&format!("../pumpkin-protocol/src/java/client/{}", state),
&format!("../../crates/pumpkin-protocol/src/java/client/{}", state),
state,
&mut output,
"java_packet",
@@ -112,7 +112,7 @@ pub fn build_bedrock_mapping() -> String {
output.push_str(" match packet {\n");
process_packets(
"../pumpkin-protocol/src/bedrock/client",
"../../crates/pumpkin-protocol/src/bedrock/client",
"",
&mut output,
"packet",
@@ -131,7 +131,7 @@ pub fn build_bedrock_mapping() -> String {
output.push_str(" match id {\n");
process_packets(
"../pumpkin-protocol/src/bedrock/server",
"../../crates/pumpkin-protocol/src/bedrock/server",
"",
&mut output,
"packet",
@@ -150,7 +150,7 @@ pub fn build_bedrock_mapping() -> String {
output.push_str("}\n\n");
process_packets(
"../pumpkin-protocol/src/bedrock/client",
"../../crates/pumpkin-protocol/src/bedrock/client",
"",
&mut output,
"packet",
@@ -165,7 +165,7 @@ pub fn build_bedrock_mapping() -> String {
"pub fn clientbound_bedrock_any_to_wit(any: &dyn Any) -> Option<BClientboundPacket> {\n",
);
process_packets(
"../pumpkin-protocol/src/bedrock/client",
"../../crates/pumpkin-protocol/src/bedrock/client",
"",
&mut output,
"packet",

View File

@@ -4,7 +4,7 @@ use wit_encoder::{Enum, Interface, Package, PackageName, TypeDef, TypeDefKind};
pub fn build() -> String {
let particles: Vec<String> =
serde_json::from_str(&fs::read_to_string("../assets/particles.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/particles.json").unwrap())
.expect("Failed to parse particles.json");
let mut package = Package::new(PackageName::new(

View File

@@ -4,7 +4,7 @@ use wit_encoder::{Enum, Interface, Package, PackageName, TypeDef, TypeDefKind};
pub fn build() -> String {
let sounds: Vec<String> =
serde_json::from_str(&fs::read_to_string("../assets/sounds.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/sounds.json").unwrap())
.expect("Failed to parse sounds.json");
let mut package = Package::new(PackageName::new(

View File

@@ -7,7 +7,7 @@ use quote::{format_ident, quote};
/// Generates the `TokenStream` for the `WorldEvent` enum with `u16` discriminants.
pub fn build() -> TokenStream {
let events: BTreeMap<String, u16> =
serde_json::from_str(&fs::read_to_string("../assets/world_event.json").unwrap())
serde_json::from_str(&fs::read_to_string("../../assets/world_event.json").unwrap())
.expect("Failed to parse world_event.json");
let variants: Vec<TokenStream> = events
.into_iter()