From cb3660bcd243c562d022ea8bf73a29cd55c22e03 Mon Sep 17 00:00:00 2001 From: Alexander Medvedev Date: Thu, 6 Aug 2026 12:56:40 +0200 Subject: [PATCH] chore: move to crates folder --- .gitmodules | 2 +- Cargo.toml | 64 ++- LICENSE | 2 +- .../pumpkin-api-macros}/Cargo.toml | 0 .../pumpkin-api-macros}/src/lib.rs | 25 +- .../pumpkin-codecs}/Cargo.toml | 0 .../pumpkin-codecs}/src/codec/either.rs | 0 .../pumpkin-codecs}/src/codec/list.rs | 0 .../pumpkin-codecs}/src/codec/map.rs | 0 .../pumpkin-codecs}/src/codec/mod.rs | 0 .../src/codec/optional_field.rs | 0 .../pumpkin-codecs}/src/codec/primitive.rs | 0 .../pumpkin-codecs}/src/data_result.rs | 0 .../pumpkin-codecs}/src/dynamic_ops.rs | 0 .../pumpkin-codecs}/src/json_ops.rs | 0 .../pumpkin-codecs}/src/lib.rs | 0 .../pumpkin-codecs}/src/lifecycle.rs | 0 .../pumpkin-codecs}/src/list_builder.rs | 0 .../pumpkin-codecs}/src/map_like.rs | 0 .../pumpkin-codecs}/src/number.rs | 0 .../pumpkin-codecs}/src/struct_builder.rs | 0 .../pumpkin-config}/Cargo.toml | 0 .../pumpkin-config}/src/advancement.rs | 0 .../pumpkin-config}/src/chat.rs | 0 .../pumpkin-config}/src/chunk.rs | 1 + .../pumpkin-config}/src/commands.rs | 0 .../pumpkin-config}/src/fun.rs | 0 .../pumpkin-config}/src/lib.rs | 20 + .../pumpkin-config}/src/lighting.rs | 4 + .../pumpkin-config}/src/logging.rs | 0 .../pumpkin-config}/src/networking/auth.rs | 0 .../pumpkin-config}/src/networking/bedrock.rs | 0 .../src/networking/compression.rs | 0 .../pumpkin-config}/src/networking/java.rs | 0 .../src/networking/lan_broadcast.rs | 0 .../pumpkin-config}/src/networking/mod.rs | 8 + .../pumpkin-config}/src/networking/proxy.rs | 0 .../pumpkin-config}/src/networking/query.rs | 0 .../pumpkin-config}/src/networking/rcon.rs | 0 .../pumpkin-config}/src/op.rs | 0 .../pumpkin-config}/src/player_data.rs | 0 .../pumpkin-config}/src/plugins.rs | 1 + .../pumpkin-config}/src/pvp.rs | 0 .../pumpkin-config}/src/recipe.rs | 0 .../pumpkin-config}/src/resource_pack.rs | 15 + .../pumpkin-config}/src/server_links.rs | 0 .../pumpkin-config}/src/whitelist.rs | 0 .../pumpkin-config}/src/world.rs | 1 + .../pumpkin-data}/Cargo.toml | 0 .../pumpkin-data}/Clippy.toml | 0 .../pumpkin-data}/benches/has_random_ticks.rs | 0 .../pumpkin-data}/src/advancement_data.rs | 0 .../pumpkin-data}/src/block_direction.rs | 0 .../pumpkin-data}/src/block_rotation.rs | 0 .../pumpkin-data}/src/block_state.rs | 0 .../pumpkin-data}/src/blocks.rs | 0 .../src/data_component_impl/basic.rs | 0 .../src/data_component_impl/block_entity.rs | 0 .../src/data_component_impl/book.rs | 0 .../src/data_component_impl/combat.rs | 0 .../src/data_component_impl/entity_variant.rs | 0 .../src/data_component_impl/food.rs | 0 .../src/data_component_impl/mod.rs | 0 .../src/data_component_impl/utility.rs | 0 .../src/generated/advancement.rs | 0 .../pumpkin-data}/src/generated/attributes.rs | 0 .../src/generated/bedrock_creative.rs | 0 .../pumpkin-data}/src/generated/biome.rs | 0 .../pumpkin-data}/src/generated/block.rs | 0 .../src/generated/block_state_remap.rs | 0 .../pumpkin-data}/src/generated/carver.rs | 0 .../pumpkin-data}/src/generated/chest_loot.rs | 0 .../src/generated/chunk_gen_settings.rs | 0 .../src/generated/chunk_status.rs | 0 .../src/generated/chunk_view_lut.rs | 0 .../generated/composter_increase_chance.rs | 0 .../src/generated/configured_feature.rs | 0 .../configured_features_generated.rs | 0 .../src/generated/damage_type.rs | 0 .../src/generated/data_component.rs | 0 .../pumpkin-data}/src/generated/dimension.rs | 0 .../pumpkin-data}/src/generated/effect.rs | 0 .../src/generated/enchantment.rs | 0 .../src/generated/enchantments.rs | 0 .../src/generated/entity_id_remap.rs | 0 .../src/generated/entity_pose.rs | 0 .../src/generated/entity_status.rs | 0 .../src/generated/entity_type.rs | 0 .../generated/flower_pot_transformations.rs | 0 .../pumpkin-data}/src/generated/fluid.rs | 0 .../pumpkin-data}/src/generated/fuels.rs | 0 .../pumpkin-data}/src/generated/game_event.rs | 0 .../pumpkin-data}/src/generated/game_rules.rs | 0 .../pumpkin-data}/src/generated/item.rs | 0 .../src/generated/item_id_remap.rs | 0 .../src/generated/jukebox_song.rs | 0 .../src/generated/message_type.rs | 0 .../src/generated/meta_data_type.rs | 0 .../src/generated/noise_parameter.rs | 0 .../src/generated/noise_router.rs | 0 .../pumpkin-data}/src/generated/packet.rs | 0 .../pumpkin-data}/src/generated/particle.rs | 0 .../src/generated/particle_id_remap.rs | 0 .../src/generated/placed_feature.rs | 0 .../generated/placed_features_generated.rs | 0 .../pumpkin-data}/src/generated/potion.rs | 0 .../src/generated/potion_brewing.rs | 0 .../src/generated/recipe_remainder.rs | 0 .../pumpkin-data}/src/generated/recipes.rs | 0 .../pumpkin-data}/src/generated/registry.rs | 0 .../src/generated/scoreboard_slot.rs | 0 .../pumpkin-data}/src/generated/screen.rs | 0 .../src/generated/slot_ranges.rs | 0 .../pumpkin-data}/src/generated/sound.rs | 0 .../src/generated/sound_category.rs | 0 .../src/generated/sound_id_remap.rs | 0 .../pumpkin-data}/src/generated/spawn_egg.rs | 0 .../pumpkin-data}/src/generated/statistic.rs | 0 .../src/generated/status_effect.rs | 0 .../pumpkin-data}/src/generated/structures.rs | 0 .../pumpkin-data}/src/generated/tag.rs | 0 .../src/generated/tracked_data.rs | 0 .../src/generated/translation.rs | 0 .../pumpkin-data}/src/generated/villager.rs | 0 .../src/generated/world_event.rs | 0 .../src/item_stack/categories.rs | 0 .../pumpkin-data}/src/item_stack/mod.rs | 0 .../pumpkin-data}/src/lib.rs | 0 .../pumpkin-inventory}/Cargo.toml | 0 .../src/anvil/anvil_screen_handler.rs | 0 .../pumpkin-inventory}/src/anvil/mod.rs | 0 .../src/beacon_screen_handler.rs | 0 .../src/brewing/brewing_screen_handler.rs | 0 .../pumpkin-inventory}/src/brewing/mod.rs | 0 .../pumpkin-inventory}/src/container_click.rs | 0 .../src/crafting/crafting_inventory.rs | 0 .../src/crafting/crafting_screen_handler.rs | 0 .../pumpkin-inventory}/src/crafting/mod.rs | 0 .../src/crafting/recipe_provider.rs | 0 .../src/crafting/recipes.rs | 0 .../pumpkin-inventory}/src/double.rs | 0 .../pumpkin-inventory}/src/drag_handler.rs | 0 .../enchanting/enchanting_screen_handler.rs | 0 .../pumpkin-inventory}/src/enchanting/mod.rs | 0 .../src/entity_equipment.rs | 0 .../pumpkin-inventory}/src/error.rs | 0 .../furnace_like_screen_handler.rs | 0 .../src/furnace_like/furnace_like_slot.rs | 0 .../src/furnace_like/mod.rs | 0 .../src/generic_container_screen_handler.rs | 0 .../pumpkin-inventory}/src/gui_builder.rs | 0 .../src/lectern_screen_handler.rs | 0 .../pumpkin-inventory}/src/lib.rs | 0 .../src/merchant/merchant_screen_handler.rs | 0 .../pumpkin-inventory}/src/merchant/mod.rs | 0 .../src/player/ender_chest_inventory.rs | 0 .../pumpkin-inventory}/src/player/mod.rs | 0 .../src/player/player_inventory.rs | 0 .../src/player/player_screen_handler.rs | 0 .../pumpkin-inventory}/src/screen_handler.rs | 0 .../pumpkin-inventory}/src/slot.rs | 0 .../src/stonecutter_screen_handler.rs | 0 .../pumpkin-inventory}/src/sync_handler.rs | 0 .../pumpkin-inventory}/src/window_property.rs | 0 .../pumpkin-macros}/Cargo.toml | 0 .../pumpkin-macros}/src/lib.rs | 0 .../pumpkin-nbt}/Cargo.toml | 0 .../pumpkin-nbt}/benches/nbt.rs | 0 .../pumpkin-nbt}/fuzz/.gitignore | 0 .../pumpkin-nbt}/fuzz/Cargo.lock | 0 .../pumpkin-nbt}/fuzz/Cargo.toml | 0 .../fuzz/fuzz_targets/decompress_gzip.rs | 0 .../fuzz/fuzz_targets/deserialize_bedrock.rs | 0 .../fuzz/fuzz_targets/deserialize_java.rs | 0 .../pumpkin-nbt}/src/compound.rs | 0 .../pumpkin-nbt}/src/deserializer.rs | 2 + .../pumpkin-nbt}/src/lib.rs | 0 .../pumpkin-nbt}/src/nbt_compress.rs | 0 .../pumpkin-nbt}/src/nbt_ops.rs | 0 .../pumpkin-nbt}/src/serializer.rs | 0 .../pumpkin-nbt}/src/tag.rs | 2 +- .../pumpkin-plugin-api}/Cargo.toml | 0 .../pumpkin-plugin-api}/src/ai.rs | 6 + .../pumpkin-plugin-api}/src/commands.rs | 0 .../src/events/block/block_break.rs | 0 .../src/events/block/block_burn.rs | 0 .../src/events/block/block_can_build.rs | 0 .../src/events/block/block_damage.rs | 1 + .../src/events/block/block_fade.rs | 1 + .../src/events/block/block_form.rs | 1 + .../src/events/block/block_from_to.rs | 1 + .../src/events/block/block_grow.rs | 0 .../src/events/block/block_ignite.rs | 1 + .../src/events/block/block_place.rs | 0 .../src/events/block/block_redstone.rs | 0 .../src/events/block/mod.rs | 11 + .../src/events/entity/entity_combust.rs | 1 + .../src/events/entity/entity_damage.rs | 1 + .../src/events/entity/entity_death.rs | 2 + .../src/events/entity/entity_regain_health.rs | 1 + .../src/events/entity/entity_spawn.rs | 1 + .../src/events/entity/mod.rs | 5 + .../src/events/inventory/craft_item.rs | 1 + .../src/events/inventory/furnace_smelt.rs | 1 + .../src/events/inventory/inventory_drag.rs | 1 + .../src/events/inventory/inventory_open.rs | 1 + .../src/events/inventory/mod.rs | 4 + .../pumpkin-plugin-api}/src/events/mod.rs | 7 + .../pumpkin-plugin-api}/src/events/packet.rs | 0 .../events/player/bedrock_form_response.rs | 0 .../src/events/player/changed_main_hand.rs | 0 .../src/events/player/custom_click_action.rs | 0 .../src/events/player/egg_throw.rs | 0 .../src/events/player/exp_change.rs | 0 .../src/events/player/fish.rs | 0 .../src/events/player/inventory_click.rs | 0 .../src/events/player/inventory_close.rs | 0 .../src/events/player/item_held.rs | 0 .../src/events/player/mod.rs | 32 ++ .../src/events/player/player_bed.rs | 2 + .../src/events/player/player_bucket.rs | 2 + .../src/events/player/player_change_world.rs | 0 .../src/events/player/player_chat.rs | 0 .../src/events/player/player_command_send.rs | 0 .../events/player/player_custom_payload.rs | 0 .../src/events/player/player_drop_item.rs | 1 + .../events/player/player_gamemode_change.rs | 0 .../src/events/player/player_interact.rs | 0 .../events/player/player_interact_entity.rs | 0 .../player/player_interact_unknown_entity.rs | 0 .../src/events/player/player_item_consume.rs | 1 + .../src/events/player/player_item_damage.rs | 1 + .../src/events/player/player_join.rs | 0 .../src/events/player/player_leave.rs | 0 .../src/events/player/player_login.rs | 0 .../src/events/player/player_move.rs | 0 .../events/player/player_permission_check.rs | 0 .../src/events/player/player_respawn.rs | 0 .../src/events/player/player_teleport.rs | 0 .../src/events/player/player_toggle_flight.rs | 0 .../src/events/player/player_toggle_sneak.rs | 0 .../src/events/player/player_toggle_sprint.rs | 0 .../src/events/server/mod.rs | 6 + .../src/events/server/server_broadcast.rs | 0 .../src/events/server/server_command.rs | 0 .../src/events/server/server_load.rs | 0 .../src/events/server/server_tick_end.rs | 0 .../src/events/server/server_tick_start.rs | 0 .../src/events/server/spawn_change.rs | 0 .../src/events/world/chunk_load.rs | 0 .../src/events/world/chunk_save.rs | 0 .../src/events/world/chunk_send.rs | 0 .../src/events/world/mod.rs | 5 + .../src/events/world/weather_change.rs | 2 + .../src/events/world/world_load.rs | 2 + .../pumpkin-plugin-api}/src/ext/mod.rs | 0 .../pumpkin-plugin-api}/src/ext/uuid.rs | 0 .../pumpkin-plugin-api}/src/forms.rs | 30 +- .../pumpkin-plugin-api}/src/lib.rs | 11 +- .../pumpkin-plugin-api}/src/logging.rs | 0 .../pumpkin-plugin-api}/src/permissions.rs | 0 .../pumpkin-plugin-api}/src/scheduler.rs | 0 .../pumpkin-plugin-wit | 0 .../pumpkin-protocol}/Cargo.toml | 0 .../pumpkin-protocol}/fuzz/.gitignore | 0 .../pumpkin-protocol}/fuzz/Cargo.lock | 0 .../pumpkin-protocol}/fuzz/Cargo.toml | 0 .../fuzz/fuzz_targets/decoder_bedrock.rs | 0 .../fuzz/fuzz_targets/decoder_java.rs | 0 .../fuzz/fuzz_targets/encoder_bedrock.rs | 0 .../fuzz/fuzz_targets/encoder_java.rs | 0 .../fuzz/fuzz_targets/query_decoder.rs | 0 .../fuzz/fuzz_targets/rcon_decoder.rs | 0 .../pumpkin-protocol}/src/bedrock/ack.rs | 0 .../src/bedrock/client/add_actor.rs | 0 .../src/bedrock/client/add_item_actor.rs | 0 .../src/bedrock/client/add_player.rs | 0 .../src/bedrock/client/available_commands.rs | 0 .../src/bedrock/client/boss_event.rs | 0 .../src/bedrock/client/change_dimension.rs | 0 .../src/bedrock/client/chunk_radius_update.rs | 0 .../src/bedrock/client/common.rs | 0 .../src/bedrock/client/container_open.rs | 0 .../src/bedrock/client/correct_player_move.rs | 0 .../src/bedrock/client/crafting_data.rs | 0 .../src/bedrock/client/creative_content.rs | 4 +- .../src/bedrock/client/disconnect_player.rs | 0 .../src/bedrock/client/gamerules_changed.rs | 0 .../src/bedrock/client/handshake.rs | 0 .../src/bedrock/client/inventory_content.rs | 0 .../src/bedrock/client/inventory_slot.rs | 0 .../src/bedrock/client/item_registry.rs | 0 .../src/bedrock/client/item_stack_response.rs | 0 .../src/bedrock/client/level_chunk.rs | 0 .../src/bedrock/client/level_event.rs | 0 .../src/bedrock/client/level_sound_event.rs | 0 .../src/bedrock/client/mod.rs | 0 .../src/bedrock/client/modal_form_request.rs | 0 .../src/bedrock/client/move_actor_absolute.rs | 0 .../src/bedrock/client/move_actor_delta.rs | 0 .../src/bedrock/client/move_player.rs | 0 .../client/network_chunk_publisher_update.rs | 0 .../src/bedrock/client/network_settings.rs | 0 .../src/bedrock/client/play_status.rs | 0 .../src/bedrock/client/player_hotbar.rs | 0 .../src/bedrock/client/player_list.rs | 0 .../src/bedrock/client/raknet/connection.rs | 0 .../client/raknet/incompatible_protocol.rs | 0 .../src/bedrock/client/raknet/mod.rs | 0 .../bedrock/client/raknet/open_connection.rs | 0 .../bedrock/client/raknet/unconnected_pong.rs | 0 .../src/bedrock/client/remove_actor.rs | 0 .../src/bedrock/client/resource_pack_stack.rs | 0 .../src/bedrock/client/resource_packs_info.rs | 0 .../src/bedrock/client/scoreboard.rs | 0 .../src/bedrock/client/set_actor_data.rs | 0 .../src/bedrock/client/set_actor_link.rs | 0 .../src/bedrock/client/set_actor_motion.rs | 0 .../src/bedrock/client/set_difficulty.rs | 0 .../src/bedrock/client/set_health.rs | 0 .../src/bedrock/client/set_player_gamemode.rs | 0 .../src/bedrock/client/set_spawn_position.rs | 0 .../src/bedrock/client/set_time.rs | 0 .../src/bedrock/client/set_title.rs | 0 .../src/bedrock/client/show_credits.rs | 0 .../src/bedrock/client/start_game.rs | 0 .../src/bedrock/client/take_item_actor.rs | 0 .../src/bedrock/client/transfer.rs | 0 .../src/bedrock/client/update_abilities.rs | 0 .../src/bedrock/client/update_attributes.rs | 0 .../src/bedrock/client/update_block.rs | 0 .../pumpkin-protocol}/src/bedrock/crypto.rs | 0 .../src/bedrock/frame_set.rs | 0 .../pumpkin-protocol}/src/bedrock/mod.rs | 0 .../src/bedrock/network_item.rs | 0 .../src/bedrock/packet_decoder.rs | 0 .../src/bedrock/packet_encoder.rs | 0 .../src/bedrock/server/actor_event.rs | 0 .../src/bedrock/server/animate.rs | 0 .../src/bedrock/server/block_pick_request.rs | 0 .../src/bedrock/server/client_cache_status.rs | 0 .../server/client_to_server_handshake.rs | 0 .../src/bedrock/server/command_request.rs | 0 .../src/bedrock/server/container_close.rs | 0 .../src/bedrock/server/emote.rs | 0 .../src/bedrock/server/emote_list.rs | 0 .../src/bedrock/server/interaction.rs | 0 .../bedrock/server/inventory_transaction.rs | 0 .../src/bedrock/server/item_stack_request.rs | 0 .../src/bedrock/server/loading_screen.rs | 0 .../src/bedrock/server/login.rs | 0 .../src/bedrock/server/mob_equipment.rs | 0 .../src/bedrock/server/mod.rs | 0 .../src/bedrock/server/modal_form_response.rs | 0 .../src/bedrock/server/player_action.rs | 0 .../src/bedrock/server/player_auth_input.rs | 0 .../src/bedrock/server/player_hotbar.rs | 0 .../src/bedrock/server/raknet/connection.rs | 0 .../src/bedrock/server/raknet/mod.rs | 0 .../bedrock/server/raknet/open_connection.rs | 0 .../bedrock/server/raknet/unconnected_ping.rs | 0 .../src/bedrock/server/request_ability.rs | 0 .../bedrock/server/request_chunk_radius.rs | 0 .../server/request_network_settings.rs | 0 .../bedrock/server/resource_pack_response.rs | 0 .../server/set_local_player_as_initialized.rs | 0 .../server/set_player_inventory_options.rs | 0 .../src/bedrock/server/text.rs | 0 .../pumpkin-protocol}/src/codec/bit_set.rs | 0 .../pumpkin-protocol}/src/codec/bitset.rs | 0 .../src/codec/data_component.rs | 0 .../src/codec/item_stack_seralizer.rs | 0 .../src/codec/little_endian.rs | 0 .../src/codec/lp_vector_3d.rs | 0 .../pumpkin-protocol}/src/codec/mod.rs | 0 .../src/codec/optional_int.rs | 0 .../pumpkin-protocol}/src/codec/recipe.rs | 0 .../pumpkin-protocol}/src/codec/u24_type.rs | 0 .../pumpkin-protocol}/src/codec/uuid.rs | 0 .../pumpkin-protocol}/src/codec/var_int.rs | 0 .../pumpkin-protocol}/src/codec/var_long.rs | 0 .../pumpkin-protocol}/src/codec/var_uint.rs | 0 .../pumpkin-protocol}/src/codec/var_ulong.rs | 0 .../java/client/config/add_resource_pack.rs | 0 .../src/java/client/config/clear_dialog.rs | 0 .../java/client/config/config_disconnect.rs | 0 .../src/java/client/config/cookie_request.rs | 0 .../src/java/client/config/feature_flags.rs | 0 .../src/java/client/config/finish_config.rs | 0 .../src/java/client/config/known_packs.rs | 0 .../src/java/client/config/mod.rs | 0 .../src/java/client/config/plugin_message.rs | 0 .../src/java/client/config/registry_data.rs | 0 .../src/java/client/config/server_links.rs | 0 .../src/java/client/config/show_dialog.rs | 0 .../src/java/client/config/store_cookie.rs | 0 .../src/java/client/config/transfer.rs | 0 .../src/java/client/config/update_tags.rs | 0 .../src/java/client/dialog.rs | 0 .../src/java/client/login/cookie_request.rs | 0 .../java/client/login/encryption_request.rs | 0 .../src/java/client/login/login_disconnect.rs | 0 .../src/java/client/login/login_success.rs | 0 .../src/java/client/login/mod.rs | 0 .../src/java/client/login/plugin_request.rs | 0 .../src/java/client/login/set_compression.rs | 0 .../pumpkin-protocol}/src/java/client/mod.rs | 0 .../src/java/client/play/acknowledge_block.rs | 0 .../src/java/client/play/actionbar.rs | 0 .../src/java/client/play/award_stats.rs | 0 .../java/client/play/block_destroy_stage.rs | 0 .../src/java/client/play/block_entity_data.rs | 0 .../src/java/client/play/block_event.rs | 0 .../src/java/client/play/block_update.rs | 0 .../src/java/client/play/boss_event.rs | 0 .../src/java/client/play/bossevent_action.rs | 0 .../src/java/client/play/center_chunk.rs | 0 .../src/java/client/play/change_difficulty.rs | 0 .../src/java/client/play/chunk_batch_end.rs | 0 .../src/java/client/play/chunk_batch_start.rs | 0 .../src/java/client/play/chunk_data.rs | 0 .../src/java/client/play/clear_dialog.rs | 0 .../src/java/client/play/clear_title.rs | 0 .../src/java/client/play/close_container.rs | 0 .../src/java/client/play/combat_death.rs | 0 .../java/client/play/command_suggestions.rs | 0 .../src/java/client/play/commands.rs | 2 +- .../src/java/client/play/cookie_request.rs | 0 .../src/java/client/play/custom_payload.rs | 0 .../src/java/client/play/damage_event.rs | 0 .../src/java/client/play/debug_sample.rs | 0 .../src/java/client/play/disconnect.rs | 0 .../client/play/disguised_chat_message.rs | 0 .../src/java/client/play/display_objective.rs | 0 .../src/java/client/play/entity_animation.rs | 0 .../src/java/client/play/entity_metadata.rs | 0 .../java/client/play/entity_position_sync.rs | 0 .../java/client/play/entity_sound_effect.rs | 0 .../src/java/client/play/entity_status.rs | 0 .../src/java/client/play/entity_velocity.rs | 0 .../src/java/client/play/explode.rs | 0 .../src/java/client/play/game_event.rs | 0 .../src/java/client/play/head_rot.rs | 0 .../src/java/client/play/hurt_animation.rs | 0 .../client/play/initialize_world_border.rs | 0 .../src/java/client/play/item_cooldown.rs | 0 .../src/java/client/play/keep_alive.rs | 0 .../src/java/client/play/level_event.rs | 0 .../src/java/client/play/light_update.rs | 0 .../src/java/client/play/login.rs | 0 .../src/java/client/play/map_item_data.rs | 0 .../src/java/client/play/merchant_offers.rs | 0 .../src/java/client/play/mod.rs | 0 .../java/client/play/multi_block_update.rs | 0 .../src/java/client/play/open_screen.rs | 0 .../src/java/client/play/open_sign_editor.rs | 0 .../src/java/client/play/particle.rs | 0 .../src/java/client/play/ping_response.rs | 0 .../src/java/client/play/player_abilities.rs | 0 .../src/java/client/play/player_action.rs | 0 .../java/client/play/player_chat_message.rs | 0 .../java/client/play/player_info_update.rs | 0 .../src/java/client/play/player_position.rs | 0 .../src/java/client/play/player_remove.rs | 0 .../src/java/client/play/player_spawn_data.rs | 0 .../java/client/play/player_spawn_position.rs | 0 .../src/java/client/play/recipe_book_add.rs | 0 .../java/client/play/recipe_book_settings.rs | 0 .../src/java/client/play/remove_entities.rs | 0 .../src/java/client/play/remove_mob_effect.rs | 0 .../src/java/client/play/reset_score.rs | 0 .../src/java/client/play/respawn.rs | 0 .../client/play/select_advancements_tab.rs | 0 .../src/java/client/play/server_links.rs | 0 .../src/java/client/play/set_border_center.rs | 0 .../java/client/play/set_border_lerp_size.rs | 0 .../src/java/client/play/set_border_size.rs | 0 .../client/play/set_border_warning_delay.rs | 0 .../play/set_border_warning_distance.rs | 0 .../src/java/client/play/set_camera.rs | 0 .../java/client/play/set_container_content.rs | 0 .../client/play/set_container_property.rs | 0 .../java/client/play/set_container_slot.rs | 0 .../src/java/client/play/set_cursor_slot.rs | 0 .../src/java/client/play/set_entity_link.rs | 0 .../src/java/client/play/set_equipment.rs | 0 .../src/java/client/play/set_experience.rs | 0 .../src/java/client/play/set_health.rs | 0 .../src/java/client/play/set_held_item.rs | 0 .../src/java/client/play/set_passengers.rs | 0 .../java/client/play/set_player_inventory.rs | 0 .../src/java/client/play/set_player_team.rs | 0 .../src/java/client/play/set_time.rs | 0 .../src/java/client/play/set_title.rs | 0 .../java/client/play/set_title_animation.rs | 0 .../src/java/client/play/show_dialog.rs | 0 .../src/java/client/play/sound_effect.rs | 0 .../src/java/client/play/spawn_entity.rs | 0 .../src/java/client/play/stop_sound.rs | 0 .../src/java/client/play/store_cookie.rs | 0 .../src/java/client/play/subtitle.rs | 0 .../java/client/play/system_chat_message.rs | 0 .../src/java/client/play/tab_list.rs | 0 .../src/java/client/play/take_item.rs | 0 .../src/java/client/play/teleport_entity.rs | 0 .../src/java/client/play/ticking_state.rs | 0 .../src/java/client/play/ticking_step.rs | 0 .../src/java/client/play/transfer.rs | 0 .../src/java/client/play/unload_chunk.rs | 0 .../java/client/play/update_advancement.rs | 0 .../src/java/client/play/update_attributes.rs | 0 .../src/java/client/play/update_entity_pos.rs | 0 .../java/client/play/update_entity_pos_rot.rs | 0 .../src/java/client/play/update_entity_rot.rs | 0 .../src/java/client/play/update_mob_effect.rs | 0 .../src/java/client/play/update_objectives.rs | 0 .../src/java/client/play/update_score.rs | 0 .../src/java/client/play/worldevent.rs | 0 .../src/java/client/status/mod.rs | 0 .../src/java/client/status/ping_response.rs | 0 .../src/java/client/status/status_response.rs | 0 .../pumpkin-protocol}/src/java/mod.rs | 0 .../src/java/packet_decoder.rs | 0 .../src/java/packet_encoder.rs | 0 .../config/acknowledge_finish_config.rs | 0 .../java/server/config/client_information.rs | 0 .../src/java/server/config/cookie_response.rs | 0 .../java/server/config/custom_click_action.rs | 0 .../src/java/server/config/keep_alive.rs | 0 .../src/java/server/config/known_packs.rs | 0 .../src/java/server/config/mod.rs | 0 .../src/java/server/config/plugin_message.rs | 0 .../server/config/resource_pack_response.rs | 0 .../src/java/server/handshake/mod.rs | 0 .../src/java/server/login/cookie_response.rs | 0 .../java/server/login/encryption_response.rs | 0 .../src/java/server/login/login_response.rs | 0 .../src/java/server/login/login_start.rs | 0 .../src/java/server/login/mod.rs | 0 .../src/java/server/login/plugin_response.rs | 0 .../pumpkin-protocol}/src/java/server/mod.rs | 0 .../src/java/server/play/attack.rs | 0 .../java/server/play/bundle_item_selected.rs | 0 .../src/java/server/play/change_game_mode.rs | 0 .../src/java/server/play/chat_command.rs | 0 .../src/java/server/play/chat_message.rs | 0 .../src/java/server/play/chunk_batch.rs | 0 .../src/java/server/play/click_container.rs | 0 .../src/java/server/play/client_command.rs | 0 .../java/server/play/client_information.rs | 0 .../src/java/server/play/client_tick_end.rs | 0 .../src/java/server/play/close_container.rs | 0 .../java/server/play/command_suggestion.rs | 0 .../src/java/server/play/confirm_teleport.rs | 0 .../server/play/container_button_click.rs | 0 .../src/java/server/play/cookie_response.rs | 0 .../java/server/play/custom_click_action.rs | 0 .../src/java/server/play/custom_payload.rs | 0 .../server/play/debug_sample_subscription.rs | 0 .../server/play/debug_subscription_request.rs | 0 .../src/java/server/play/interact.rs | 0 .../src/java/server/play/jigsaw_generate.rs | 0 .../src/java/server/play/keep_alive.rs | 0 .../src/java/server/play/mod.rs | 0 .../src/java/server/play/move_vehicle.rs | 0 .../src/java/server/play/paddle_boat.rs | 0 .../src/java/server/play/pick_item.rs | 0 .../src/java/server/play/ping_request.rs | 0 .../src/java/server/play/place_recipe.rs | 0 .../src/java/server/play/player_abilities.rs | 0 .../src/java/server/play/player_action.rs | 0 .../src/java/server/play/player_command.rs | 0 .../src/java/server/play/player_ground.rs | 0 .../src/java/server/play/player_input.rs | 0 .../src/java/server/play/player_loaded.rs | 0 .../src/java/server/play/player_position.rs | 0 .../server/play/player_position_rotation.rs | 0 .../src/java/server/play/player_rotation.rs | 0 .../src/java/server/play/player_session.rs | 0 .../play/recipe_book_change_settings.rs | 0 .../server/play/recipe_book_seen_recipe.rs | 0 .../src/java/server/play/rename_item.rs | 0 .../src/java/server/play/seen_advancement.rs | 0 .../src/java/server/play/select_trade.rs | 0 .../src/java/server/play/set_beacon.rs | 0 .../src/java/server/play/set_command_block.rs | 0 .../src/java/server/play/set_creative_slot.rs | 0 .../src/java/server/play/set_held_item.rs | 0 .../src/java/server/play/set_jigsaw_block.rs | 0 .../src/java/server/play/set_test_block.rs | 0 .../src/java/server/play/swing_arm.rs | 0 .../java/server/play/teleport_to_entity.rs | 0 .../server/play/test_instance_block_action.rs | 0 .../src/java/server/play/update_sign.rs | 0 .../src/java/server/play/use_item.rs | 0 .../src/java/server/play/use_item_on.rs | 0 .../src/java/server/status/mod.rs | 0 .../src/java/server/status/ping_request.rs | 0 .../src/java/server/status/status_request.rs | 0 .../pumpkin-protocol}/src/lib.rs | 0 .../pumpkin-protocol}/src/packet.rs | 0 .../pumpkin-protocol}/src/query.rs | 0 .../pumpkin-protocol}/src/ser/mod.rs | 0 .../src/serial/deserializer.rs | 44 +- .../pumpkin-protocol}/src/serial/mod.rs | 0 .../src/serial/serializer.rs | 4 +- .../pumpkin-util}/Cargo.toml | 0 .../pumpkin-util}/assets/perlin2_7_4.json | 0 .../pumpkin-util}/assets/perlin_7_4.json | 0 .../pumpkin-util}/assets/perlin_map.json | 0 .../pumpkin-util}/src/biome.rs | 0 .../pumpkin-util}/src/chest_loot_table.rs | 0 .../pumpkin-util}/src/difficulty.rs | 0 .../pumpkin-util}/src/gamemode.rs | 0 .../pumpkin-util}/src/identifier.rs | 5 + .../pumpkin-util}/src/jwt/mod.rs | 23 + .../pumpkin-util}/src/lib.rs | 0 .../pumpkin-util}/src/loot_table.rs | 0 .../pumpkin-util}/src/math/atomic_f32.rs | 0 .../pumpkin-util}/src/math/bit_storage.rs | 0 .../pumpkin-util}/src/math/block_box.rs | 0 .../pumpkin-util}/src/math/boundingbox.rs | 0 .../pumpkin-util}/src/math/bounds.rs | 0 .../pumpkin-util}/src/math/euler_angle.rs | 0 .../pumpkin-util}/src/math/experience.rs | 0 .../pumpkin-util}/src/math/float_provider.rs | 0 .../pumpkin-util}/src/math/int_provider.rs | 0 .../pumpkin-util}/src/math/mod.rs | 0 .../pumpkin-util}/src/math/pool.rs | 0 .../pumpkin-util}/src/math/position.rs | 0 .../pumpkin-util}/src/math/vector2.rs | 0 .../pumpkin-util}/src/math/vector3.rs | 0 .../src/math/vertical_surface_type.rs | 0 .../pumpkin-util}/src/noise/mod.rs | 0 .../pumpkin-util}/src/noise/perlin.rs | 0 .../pumpkin-util}/src/noise/simplex.rs | 0 .../pumpkin-util}/src/permission.rs | 9 +- .../pumpkin-util}/src/random/gaussian.rs | 0 .../pumpkin-util}/src/random/legacy_rand.rs | 0 .../pumpkin-util}/src/random/mod.rs | 0 .../pumpkin-util}/src/random/xoroshiro128.rs | 0 .../pumpkin-util}/src/registry.rs | 0 .../pumpkin-util}/src/resource_key.rs | 4 + .../pumpkin-util}/src/resource_location.rs | 0 .../src/serde_enum_as_integer.rs | 0 .../pumpkin-util}/src/text/click.rs | 0 .../pumpkin-util}/src/text/color.rs | 0 .../pumpkin-util}/src/text/hover.rs | 0 .../pumpkin-util}/src/text/legacy.rs | 0 .../pumpkin-util}/src/text/mod.rs | 0 .../pumpkin-util}/src/text/style.rs | 0 .../pumpkin-util}/src/translation.rs | 54 +- .../pumpkin-util}/src/uuid.rs | 0 .../pumpkin-util}/src/version.rs | 0 .../pumpkin-util}/src/world_seed.rs | 0 .../pumpkin-util}/src/y_offset.rs | 0 .../pumpkin-world}/Cargo.toml | 0 .../city/entrance/entrance_connector.nbt | Bin .../city/entrance/entrance_path_1.nbt | Bin .../city/entrance/entrance_path_2.nbt | Bin .../city/entrance/entrance_path_3.nbt | Bin .../city/entrance/entrance_path_4.nbt | Bin .../city/entrance/entrance_path_5.nbt | Bin .../city_center/city_center_1.nbt | Bin .../city_center/city_center_2.nbt | Bin .../city_center/city_center_3.nbt | Bin .../city_center/walls/bottom_1.nbt | Bin .../city_center/walls/bottom_2.nbt | Bin .../city_center/walls/bottom_left_corner.nbt | Bin .../city_center/walls/bottom_right_corner.nbt | Bin .../walls/bottom_right_corner_1.nbt | Bin .../walls/bottom_right_corner_2.nbt | Bin .../ancient_city/city_center/walls/left.nbt | Bin .../ancient_city/city_center/walls/right.nbt | Bin .../ancient_city/city_center/walls/top.nbt | Bin .../city_center/walls/top_left_corner.nbt | Bin .../city_center/walls/top_right_corner.nbt | Bin .../ancient_city/structures/barracks.nbt | Bin .../ancient_city/structures/camp_1.nbt | Bin .../ancient_city/structures/camp_2.nbt | Bin .../ancient_city/structures/camp_3.nbt | Bin .../ancient_city/structures/chamber_1.nbt | Bin .../ancient_city/structures/chamber_2.nbt | Bin .../ancient_city/structures/chamber_3.nbt | Bin .../ancient_city/structures/ice_box_1.nbt | Bin .../structures/large_pillar_1.nbt | Bin .../ancient_city/structures/large_ruin_1.nbt | Bin .../structures/medium_pillar_1.nbt | Bin .../ancient_city/structures/medium_ruin_1.nbt | Bin .../ancient_city/structures/medium_ruin_2.nbt | Bin .../ancient_city/structures/sauna_1.nbt | Bin .../ancient_city/structures/small_ruin_1.nbt | Bin .../ancient_city/structures/small_ruin_2.nbt | Bin .../ancient_city/structures/small_statue.nbt | Bin .../ancient_city/structures/tall_ruin_1.nbt | Bin .../ancient_city/structures/tall_ruin_2.nbt | Bin .../ancient_city/structures/tall_ruin_3.nbt | Bin .../ancient_city/structures/tall_ruin_4.nbt | Bin .../walls/intact_corner_wall_1.nbt | Bin .../walls/intact_horizontal_wall_1.nbt | Bin .../walls/intact_horizontal_wall_2.nbt | Bin .../walls/intact_horizontal_wall_bridge.nbt | Bin .../intact_horizontal_wall_passage_1.nbt | Bin .../walls/intact_horizontal_wall_stairs_1.nbt | Bin .../walls/intact_horizontal_wall_stairs_2.nbt | Bin .../walls/intact_horizontal_wall_stairs_3.nbt | Bin .../walls/intact_horizontal_wall_stairs_4.nbt | Bin .../walls/intact_intersection_wall_1.nbt | Bin .../walls/intact_lshape_wall_1.nbt | Bin .../walls/ruined_corner_wall_1.nbt | Bin .../walls/ruined_corner_wall_2.nbt | Bin .../walls/ruined_horizontal_wall_stairs_1.nbt | Bin .../walls/ruined_horizontal_wall_stairs_2.nbt | Bin .../walls/ruined_horizontal_wall_stairs_3.nbt | Bin .../walls/ruined_horizontal_wall_stairs_4.nbt | Bin .../assets/structures/bastion/blocks/air.nbt | Bin .../assets/structures/bastion/blocks/gold.nbt | Bin .../bastion/bridge/bridge_pieces/bridge.nbt | Bin .../bridge/connectors/back_bridge_bottom.nbt | Bin .../bridge/connectors/back_bridge_top.nbt | Bin .../structures/bastion/bridge/legs/leg_0.nbt | Bin .../structures/bastion/bridge/legs/leg_1.nbt | Bin .../bastion/bridge/rampart_plates/plate_0.nbt | Bin .../bastion/bridge/ramparts/rampart_0.nbt | Bin .../bastion/bridge/ramparts/rampart_1.nbt | Bin .../bridge/starting_pieces/entrance.nbt | Bin .../bridge/starting_pieces/entrance_base.nbt | Bin .../bridge/starting_pieces/entrance_face.nbt | Bin .../bastion/bridge/walls/wall_base_0.nbt | Bin .../bastion/bridge/walls/wall_base_1.nbt | Bin .../bastion/hoglin_stable/air_base.nbt | Bin .../connectors/end_post_connector.nbt | Bin .../hoglin_stable/large_stables/inner_0.nbt | Bin .../hoglin_stable/large_stables/inner_1.nbt | Bin .../hoglin_stable/large_stables/inner_2.nbt | Bin .../hoglin_stable/large_stables/inner_3.nbt | Bin .../hoglin_stable/large_stables/inner_4.nbt | Bin .../hoglin_stable/large_stables/outer_0.nbt | Bin .../hoglin_stable/large_stables/outer_1.nbt | Bin .../hoglin_stable/large_stables/outer_2.nbt | Bin .../hoglin_stable/large_stables/outer_3.nbt | Bin .../hoglin_stable/large_stables/outer_4.nbt | Bin .../bastion/hoglin_stable/posts/end_post.nbt | Bin .../hoglin_stable/posts/stair_post.nbt | Bin .../rampart_plates/rampart_plate_1.nbt | Bin .../hoglin_stable/ramparts/ramparts_1.nbt | Bin .../hoglin_stable/ramparts/ramparts_2.nbt | Bin .../hoglin_stable/ramparts/ramparts_3.nbt | Bin .../hoglin_stable/small_stables/inner_0.nbt | Bin .../hoglin_stable/small_stables/inner_1.nbt | Bin .../hoglin_stable/small_stables/inner_2.nbt | Bin .../hoglin_stable/small_stables/inner_3.nbt | Bin .../hoglin_stable/small_stables/outer_0.nbt | Bin .../hoglin_stable/small_stables/outer_1.nbt | Bin .../hoglin_stable/small_stables/outer_2.nbt | Bin .../hoglin_stable/small_stables/outer_3.nbt | Bin .../hoglin_stable/stairs/stairs_1_0.nbt | Bin .../hoglin_stable/stairs/stairs_1_1.nbt | Bin .../hoglin_stable/stairs/stairs_1_2.nbt | Bin .../hoglin_stable/stairs/stairs_1_3.nbt | Bin .../hoglin_stable/stairs/stairs_1_4.nbt | Bin .../hoglin_stable/stairs/stairs_2_0.nbt | Bin .../hoglin_stable/stairs/stairs_2_1.nbt | Bin .../hoglin_stable/stairs/stairs_2_2.nbt | Bin .../hoglin_stable/stairs/stairs_2_3.nbt | Bin .../hoglin_stable/stairs/stairs_2_4.nbt | Bin .../hoglin_stable/stairs/stairs_3_0.nbt | Bin .../hoglin_stable/stairs/stairs_3_1.nbt | Bin .../hoglin_stable/stairs/stairs_3_2.nbt | Bin .../hoglin_stable/stairs/stairs_3_3.nbt | Bin .../hoglin_stable/stairs/stairs_3_4.nbt | Bin .../starting_pieces/stairs_0_mirrored.nbt | Bin .../starting_pieces/stairs_1_mirrored.nbt | Bin .../starting_pieces/stairs_2_mirrored.nbt | Bin .../starting_pieces/stairs_3_mirrored.nbt | Bin .../starting_pieces/stairs_4_mirrored.nbt | Bin .../starting_pieces/starting_stairs_0.nbt | Bin .../starting_pieces/starting_stairs_1.nbt | Bin .../starting_pieces/starting_stairs_2.nbt | Bin .../starting_pieces/starting_stairs_3.nbt | Bin .../starting_pieces/starting_stairs_4.nbt | Bin .../hoglin_stable/walls/side_wall_0.nbt | Bin .../hoglin_stable/walls/side_wall_1.nbt | Bin .../bastion/hoglin_stable/walls/wall_base.nbt | Bin .../bastion/mobs/crossbow_piglin.nbt | Bin .../assets/structures/bastion/mobs/empty.nbt | Bin .../assets/structures/bastion/mobs/hoglin.nbt | Bin .../structures/bastion/mobs/melee_piglin.nbt | Bin .../bastion/mobs/melee_piglin_always.nbt | Bin .../structures/bastion/mobs/sword_piglin.nbt | Bin .../treasure/bases/centers/center_0.nbt | Bin .../treasure/bases/centers/center_1.nbt | Bin .../treasure/bases/centers/center_2.nbt | Bin .../treasure/bases/centers/center_3.nbt | Bin .../bastion/treasure/bases/lava_basin.nbt | Bin .../bastion/treasure/big_air_full.nbt | Bin .../bastion/treasure/brains/center_brain.nbt | Bin .../connectors/center_to_wall_middle.nbt | Bin .../connectors/center_to_wall_top.nbt | Bin .../center_to_wall_top_entrance.nbt | Bin .../treasure/corners/bottom/corner_0.nbt | Bin .../treasure/corners/bottom/corner_1.nbt | Bin .../bastion/treasure/corners/edges/bottom.nbt | Bin .../bastion/treasure/corners/edges/middle.nbt | Bin .../bastion/treasure/corners/edges/top.nbt | Bin .../treasure/corners/middle/corner_0.nbt | Bin .../treasure/corners/middle/corner_1.nbt | Bin .../bastion/treasure/corners/top/corner_0.nbt | Bin .../bastion/treasure/corners/top/corner_1.nbt | Bin .../bastion/treasure/entrances/entrance_0.nbt | Bin .../bastion/treasure/extensions/empty.nbt | Bin .../bastion/treasure/extensions/fire_room.nbt | Bin .../bastion/treasure/extensions/house_0.nbt | Bin .../bastion/treasure/extensions/house_1.nbt | Bin .../treasure/extensions/large_bridge_0.nbt | Bin .../treasure/extensions/large_bridge_1.nbt | Bin .../treasure/extensions/large_bridge_2.nbt | Bin .../treasure/extensions/large_bridge_3.nbt | Bin .../treasure/extensions/roofed_bridge.nbt | Bin .../treasure/extensions/small_bridge_0.nbt | Bin .../treasure/extensions/small_bridge_1.nbt | Bin .../treasure/extensions/small_bridge_2.nbt | Bin .../treasure/extensions/small_bridge_3.nbt | Bin .../treasure/ramparts/bottom_wall_0.nbt | Bin .../treasure/ramparts/lava_basin_main.nbt | Bin .../treasure/ramparts/lava_basin_side.nbt | Bin .../treasure/ramparts/mid_wall_main.nbt | Bin .../treasure/ramparts/mid_wall_side.nbt | Bin .../bastion/treasure/ramparts/top_wall.nbt | Bin .../bastion/treasure/roofs/center_roof.nbt | Bin .../bastion/treasure/roofs/corner_roof.nbt | Bin .../bastion/treasure/roofs/wall_roof.nbt | Bin .../bastion/treasure/stairs/lower_stairs.nbt | Bin .../bastion/treasure/walls/bottom/wall_0.nbt | Bin .../bastion/treasure/walls/bottom/wall_1.nbt | Bin .../bastion/treasure/walls/bottom/wall_2.nbt | Bin .../bastion/treasure/walls/bottom/wall_3.nbt | Bin .../bastion/treasure/walls/entrance_wall.nbt | Bin .../bastion/treasure/walls/lava_wall.nbt | Bin .../bastion/treasure/walls/mid/wall_0.nbt | Bin .../bastion/treasure/walls/mid/wall_1.nbt | Bin .../bastion/treasure/walls/mid/wall_2.nbt | Bin .../treasure/walls/outer/bottom_corner.nbt | Bin .../walls/outer/medium_outer_wall.nbt | Bin .../treasure/walls/outer/mid_corner.nbt | Bin .../treasure/walls/outer/outer_wall.nbt | Bin .../treasure/walls/outer/tall_outer_wall.nbt | Bin .../treasure/walls/outer/top_corner.nbt | Bin .../treasure/walls/top/main_entrance.nbt | Bin .../bastion/treasure/walls/top/wall_0.nbt | Bin .../bastion/treasure/walls/top/wall_1.nbt | Bin .../structures/bastion/units/air_base.nbt | Bin .../bastion/units/center_pieces/center_0.nbt | Bin .../bastion/units/center_pieces/center_1.nbt | Bin .../bastion/units/center_pieces/center_2.nbt | Bin .../structures/bastion/units/edges/edge_0.nbt | Bin .../bastion/units/fillers/stage_0.nbt | Bin .../bastion/units/pathways/pathway_0.nbt | Bin .../bastion/units/pathways/pathway_wall_0.nbt | Bin .../bastion/units/rampart_plates/plate_0.nbt | Bin .../bastion/units/ramparts/ramparts_0.nbt | Bin .../bastion/units/ramparts/ramparts_1.nbt | Bin .../bastion/units/ramparts/ramparts_2.nbt | Bin .../bastion/units/stages/rot/stage_1_0.nbt | Bin .../bastion/units/stages/stage_0_0.nbt | Bin .../bastion/units/stages/stage_0_1.nbt | Bin .../bastion/units/stages/stage_0_2.nbt | Bin .../bastion/units/stages/stage_0_3.nbt | Bin .../bastion/units/stages/stage_1_0.nbt | Bin .../bastion/units/stages/stage_1_1.nbt | Bin .../bastion/units/stages/stage_1_2.nbt | Bin .../bastion/units/stages/stage_1_3.nbt | Bin .../bastion/units/stages/stage_2_0.nbt | Bin .../bastion/units/stages/stage_2_1.nbt | Bin .../bastion/units/stages/stage_3_0.nbt | Bin .../bastion/units/stages/stage_3_1.nbt | Bin .../bastion/units/stages/stage_3_2.nbt | Bin .../bastion/units/stages/stage_3_3.nbt | Bin .../bastion/units/wall_units/edge_0_large.nbt | Bin .../bastion/units/wall_units/unit_0.nbt | Bin .../bastion/units/walls/connected_wall.nbt | Bin .../bastion/units/walls/wall_base.nbt | Bin .../assets/structures/empty.nbt | Bin .../assets/structures/end_city/base_floor.nbt | Bin .../assets/structures/end_city/base_roof.nbt | Bin .../assets/structures/end_city/bridge_end.nbt | Bin .../end_city/bridge_gentle_stairs.nbt | Bin .../structures/end_city/bridge_piece.nbt | Bin .../end_city/bridge_steep_stairs.nbt | Bin .../structures/end_city/fat_tower_base.nbt | Bin .../structures/end_city/fat_tower_middle.nbt | Bin .../structures/end_city/fat_tower_top.nbt | Bin .../structures/end_city/second_floor_1.nbt | Bin .../structures/end_city/second_floor_2.nbt | Bin .../structures/end_city/second_roof.nbt | Bin .../assets/structures/end_city/ship.nbt | Bin .../structures/end_city/third_floor_1.nbt | Bin .../structures/end_city/third_floor_2.nbt | Bin .../assets/structures/end_city/third_roof.nbt | Bin .../assets/structures/end_city/tower_base.nbt | Bin .../structures/end_city/tower_floor.nbt | Bin .../structures/end_city/tower_piece.nbt | Bin .../assets/structures/end_city/tower_top.nbt | Bin .../assets/structures/fossil/skull_1.nbt | Bin .../assets/structures/fossil/skull_1_coal.nbt | Bin .../assets/structures/fossil/skull_2.nbt | Bin .../assets/structures/fossil/skull_2_coal.nbt | Bin .../assets/structures/fossil/skull_3.nbt | Bin .../assets/structures/fossil/skull_3_coal.nbt | Bin .../assets/structures/fossil/skull_4.nbt | Bin .../assets/structures/fossil/skull_4_coal.nbt | Bin .../assets/structures/fossil/spine_1.nbt | Bin .../assets/structures/fossil/spine_1_coal.nbt | Bin .../assets/structures/fossil/spine_2.nbt | Bin .../assets/structures/fossil/spine_2_coal.nbt | Bin .../assets/structures/fossil/spine_3.nbt | Bin .../assets/structures/fossil/spine_3_coal.nbt | Bin .../assets/structures/fossil/spine_4.nbt | Bin .../assets/structures/fossil/spine_4_coal.nbt | Bin .../assets/structures/igloo/bottom.nbt | Bin .../assets/structures/igloo/middle.nbt | Bin .../assets/structures/igloo/top.nbt | Bin .../structures/nether_fossils/fossil_1.nbt | Bin .../structures/nether_fossils/fossil_10.nbt | Bin .../structures/nether_fossils/fossil_11.nbt | Bin .../structures/nether_fossils/fossil_12.nbt | Bin .../structures/nether_fossils/fossil_13.nbt | Bin .../structures/nether_fossils/fossil_14.nbt | Bin .../structures/nether_fossils/fossil_2.nbt | Bin .../structures/nether_fossils/fossil_3.nbt | Bin .../structures/nether_fossils/fossil_4.nbt | Bin .../structures/nether_fossils/fossil_5.nbt | Bin .../structures/nether_fossils/fossil_6.nbt | Bin .../structures/nether_fossils/fossil_7.nbt | Bin .../structures/nether_fossils/fossil_8.nbt | Bin .../structures/nether_fossils/fossil_9.nbt | Bin .../pillager_outpost/base_plate.nbt | Bin .../pillager_outpost/feature_cage1.nbt | Bin .../pillager_outpost/feature_cage2.nbt | Bin .../feature_cage_with_allays.nbt | Bin .../pillager_outpost/feature_logs.nbt | Bin .../pillager_outpost/feature_plate.nbt | Bin .../pillager_outpost/feature_targets.nbt | Bin .../pillager_outpost/feature_tent1.nbt | Bin .../pillager_outpost/feature_tent2.nbt | Bin .../pillager_outpost/watchtower.nbt | Bin .../pillager_outpost/watchtower_overgrown.nbt | Bin .../ruined_portal/giant_portal_1.nbt | Bin .../ruined_portal/giant_portal_2.nbt | Bin .../ruined_portal/giant_portal_3.nbt | Bin .../structures/ruined_portal/portal_1.nbt | Bin .../structures/ruined_portal/portal_10.nbt | Bin .../structures/ruined_portal/portal_2.nbt | Bin .../structures/ruined_portal/portal_3.nbt | Bin .../structures/ruined_portal/portal_4.nbt | Bin .../structures/ruined_portal/portal_5.nbt | Bin .../structures/ruined_portal/portal_6.nbt | Bin .../structures/ruined_portal/portal_7.nbt | Bin .../structures/ruined_portal/portal_8.nbt | Bin .../structures/ruined_portal/portal_9.nbt | Bin .../shipwreck/rightsideup_backhalf.nbt | Bin .../rightsideup_backhalf_degraded.nbt | Bin .../shipwreck/rightsideup_fronthalf.nbt | Bin .../rightsideup_fronthalf_degraded.nbt | Bin .../structures/shipwreck/rightsideup_full.nbt | Bin .../shipwreck/rightsideup_full_degraded.nbt | Bin .../shipwreck/sideways_backhalf.nbt | Bin .../shipwreck/sideways_backhalf_degraded.nbt | Bin .../shipwreck/sideways_fronthalf.nbt | Bin .../shipwreck/sideways_fronthalf_degraded.nbt | Bin .../structures/shipwreck/sideways_full.nbt | Bin .../shipwreck/sideways_full_degraded.nbt | Bin .../shipwreck/upsidedown_backhalf.nbt | Bin .../upsidedown_backhalf_degraded.nbt | Bin .../shipwreck/upsidedown_fronthalf.nbt | Bin .../upsidedown_fronthalf_degraded.nbt | Bin .../structures/shipwreck/upsidedown_full.nbt | Bin .../shipwreck/upsidedown_full_degraded.nbt | Bin .../assets/structures/shipwreck/with_mast.nbt | Bin .../shipwreck/with_mast_degraded.nbt | Bin .../trail_ruins/buildings/group_full_1.nbt | Bin .../trail_ruins/buildings/group_full_2.nbt | Bin .../trail_ruins/buildings/group_full_3.nbt | Bin .../trail_ruins/buildings/group_full_4.nbt | Bin .../trail_ruins/buildings/group_full_5.nbt | Bin .../trail_ruins/buildings/group_hall_1.nbt | Bin .../trail_ruins/buildings/group_hall_2.nbt | Bin .../trail_ruins/buildings/group_hall_3.nbt | Bin .../trail_ruins/buildings/group_hall_4.nbt | Bin .../trail_ruins/buildings/group_hall_5.nbt | Bin .../trail_ruins/buildings/group_lower_1.nbt | Bin .../trail_ruins/buildings/group_lower_2.nbt | Bin .../trail_ruins/buildings/group_lower_3.nbt | Bin .../trail_ruins/buildings/group_lower_4.nbt | Bin .../trail_ruins/buildings/group_lower_5.nbt | Bin .../trail_ruins/buildings/group_room_1.nbt | Bin .../trail_ruins/buildings/group_room_2.nbt | Bin .../trail_ruins/buildings/group_room_3.nbt | Bin .../trail_ruins/buildings/group_room_4.nbt | Bin .../trail_ruins/buildings/group_room_5.nbt | Bin .../trail_ruins/buildings/group_upper_1.nbt | Bin .../trail_ruins/buildings/group_upper_2.nbt | Bin .../trail_ruins/buildings/group_upper_3.nbt | Bin .../trail_ruins/buildings/group_upper_4.nbt | Bin .../trail_ruins/buildings/group_upper_5.nbt | Bin .../trail_ruins/buildings/large_room_1.nbt | Bin .../trail_ruins/buildings/large_room_2.nbt | Bin .../trail_ruins/buildings/large_room_3.nbt | Bin .../trail_ruins/buildings/large_room_4.nbt | Bin .../trail_ruins/buildings/large_room_5.nbt | Bin .../trail_ruins/buildings/one_room_1.nbt | Bin .../trail_ruins/buildings/one_room_2.nbt | Bin .../trail_ruins/buildings/one_room_3.nbt | Bin .../trail_ruins/buildings/one_room_4.nbt | Bin .../trail_ruins/buildings/one_room_5.nbt | Bin .../structures/trail_ruins/decor/decor_1.nbt | Bin .../structures/trail_ruins/decor/decor_2.nbt | Bin .../structures/trail_ruins/decor/decor_3.nbt | Bin .../structures/trail_ruins/decor/decor_4.nbt | Bin .../structures/trail_ruins/decor/decor_5.nbt | Bin .../structures/trail_ruins/decor/decor_6.nbt | Bin .../structures/trail_ruins/decor/decor_7.nbt | Bin .../trail_ruins/roads/long_road_end.nbt | Bin .../trail_ruins/roads/road_end_1.nbt | Bin .../trail_ruins/roads/road_section_1.nbt | Bin .../trail_ruins/roads/road_section_2.nbt | Bin .../trail_ruins/roads/road_section_3.nbt | Bin .../trail_ruins/roads/road_section_4.nbt | Bin .../trail_ruins/roads/road_spacer_1.nbt | Bin .../structures/trail_ruins/tower/hall_1.nbt | Bin .../structures/trail_ruins/tower/hall_2.nbt | Bin .../structures/trail_ruins/tower/hall_3.nbt | Bin .../structures/trail_ruins/tower/hall_4.nbt | Bin .../structures/trail_ruins/tower/hall_5.nbt | Bin .../trail_ruins/tower/large_hall_1.nbt | Bin .../trail_ruins/tower/large_hall_2.nbt | Bin .../trail_ruins/tower/large_hall_3.nbt | Bin .../trail_ruins/tower/large_hall_4.nbt | Bin .../trail_ruins/tower/large_hall_5.nbt | Bin .../trail_ruins/tower/one_room_1.nbt | Bin .../trail_ruins/tower/one_room_2.nbt | Bin .../trail_ruins/tower/one_room_3.nbt | Bin .../trail_ruins/tower/one_room_4.nbt | Bin .../trail_ruins/tower/one_room_5.nbt | Bin .../trail_ruins/tower/platform_1.nbt | Bin .../trail_ruins/tower/platform_2.nbt | Bin .../trail_ruins/tower/platform_3.nbt | Bin .../trail_ruins/tower/platform_4.nbt | Bin .../trail_ruins/tower/platform_5.nbt | Bin .../structures/trail_ruins/tower/stable_1.nbt | Bin .../structures/trail_ruins/tower/stable_2.nbt | Bin .../structures/trail_ruins/tower/stable_3.nbt | Bin .../structures/trail_ruins/tower/stable_4.nbt | Bin .../structures/trail_ruins/tower/stable_5.nbt | Bin .../structures/trail_ruins/tower/tower_1.nbt | Bin .../structures/trail_ruins/tower/tower_2.nbt | Bin .../structures/trail_ruins/tower/tower_3.nbt | Bin .../structures/trail_ruins/tower/tower_4.nbt | Bin .../structures/trail_ruins/tower/tower_5.nbt | Bin .../trail_ruins/tower/tower_top_1.nbt | Bin .../trail_ruins/tower/tower_top_2.nbt | Bin .../trail_ruins/tower/tower_top_3.nbt | Bin .../trail_ruins/tower/tower_top_4.nbt | Bin .../trail_ruins/tower/tower_top_5.nbt | Bin .../chamber/addon/c1_breeze.nbt | Bin .../chamber/addon/full_corner_column.nbt | Bin .../chamber/addon/full_stacked_walkway.nbt | Bin .../chamber/addon/full_stacked_walkway_2.nbt | Bin .../chamber/addon/grate_bridge.nbt | Bin .../chamber/addon/hanging_platform.nbt | Bin .../chamber/addon/lower_staircase_down.nbt | Bin .../chamber/addon/short_grate_platform.nbt | Bin .../chamber/addon/short_platform.nbt | Bin .../chamber/addon/walkway_with_bridge_1.nbt | Bin .../trial_chambers/chamber/assembly.nbt | Bin .../chamber/assembly/cover_1.nbt | Bin .../chamber/assembly/cover_2.nbt | Bin .../chamber/assembly/cover_3.nbt | Bin .../chamber/assembly/cover_4.nbt | Bin .../chamber/assembly/cover_5.nbt | Bin .../chamber/assembly/cover_6.nbt | Bin .../chamber/assembly/cover_7.nbt | Bin .../chamber/assembly/full_column.nbt | Bin .../chamber/assembly/hanging_1.nbt | Bin .../chamber/assembly/hanging_2.nbt | Bin .../chamber/assembly/hanging_3.nbt | Bin .../chamber/assembly/hanging_4.nbt | Bin .../chamber/assembly/hanging_5.nbt | Bin .../chamber/assembly/left_staircase_1.nbt | Bin .../chamber/assembly/left_staircase_2.nbt | Bin .../chamber/assembly/left_staircase_3.nbt | Bin .../chamber/assembly/platform_1.nbt | Bin .../chamber/assembly/right_staircase_1.nbt | Bin .../chamber/assembly/right_staircase_2.nbt | Bin .../chamber/assembly/right_staircase_3.nbt | Bin .../chamber/assembly/spawner_1.nbt | Bin .../trial_chambers/chamber/chamber_1.nbt | Bin .../trial_chambers/chamber/chamber_2.nbt | Bin .../trial_chambers/chamber/chamber_4.nbt | Bin .../trial_chambers/chamber/chamber_8.nbt | Bin .../trial_chambers/chamber/entrance_cap.nbt | Bin .../trial_chambers/chamber/eruption.nbt | Bin .../chamber/eruption/breeze_slice_1.nbt | Bin .../chamber/eruption/center_1.nbt | Bin .../chamber/eruption/quadrant_1.nbt | Bin .../chamber/eruption/quadrant_2.nbt | Bin .../chamber/eruption/quadrant_3.nbt | Bin .../chamber/eruption/quadrant_4.nbt | Bin .../chamber/eruption/quadrant_5.nbt | Bin .../chamber/eruption/slice_1.nbt | Bin .../chamber/eruption/slice_2.nbt | Bin .../chamber/eruption/slice_3.nbt | Bin .../trial_chambers/chamber/pedestal.nbt | Bin .../chamber/pedestal/center_1.nbt | Bin .../chamber/pedestal/ominous_slice_1.nbt | Bin .../chamber/pedestal/quadrant_1.nbt | Bin .../chamber/pedestal/quadrant_2.nbt | Bin .../chamber/pedestal/quadrant_3.nbt | Bin .../chamber/pedestal/slice_1.nbt | Bin .../chamber/pedestal/slice_2.nbt | Bin .../chamber/pedestal/slice_3.nbt | Bin .../chamber/pedestal/slice_4.nbt | Bin .../chamber/pedestal/slice_5.nbt | Bin .../trial_chambers/chamber/slanted.nbt | Bin .../trial_chambers/chamber/slanted/center.nbt | Bin .../chamber/slanted/hallway_1.nbt | Bin .../chamber/slanted/hallway_2.nbt | Bin .../chamber/slanted/hallway_3.nbt | Bin .../chamber/slanted/ominous_upper_arm_1.nbt | Bin .../chamber/slanted/quadrant_1.nbt | Bin .../chamber/slanted/quadrant_2.nbt | Bin .../chamber/slanted/quadrant_3.nbt | Bin .../chamber/slanted/quadrant_4.nbt | Bin .../trial_chambers/chamber/slanted/ramp_1.nbt | Bin .../trial_chambers/chamber/slanted/ramp_2.nbt | Bin .../trial_chambers/chamber/slanted/ramp_3.nbt | Bin .../trial_chambers/chamber/slanted/ramp_4.nbt | Bin .../chests/connectors/supply.nbt | Bin .../trial_chambers/chests/supply.nbt | Bin .../corridor/addon/arrow_dispenser.nbt | Bin .../corridor/addon/bridge_lower.nbt | Bin .../corridor/addon/chandelier_upper.nbt | Bin .../corridor/addon/decoration_upper.nbt | Bin .../corridor/addon/display_1.nbt | Bin .../corridor/addon/display_2.nbt | Bin .../corridor/addon/display_3.nbt | Bin .../corridor/addon/head_upper.nbt | Bin .../corridor/addon/ladder_to_middle.nbt | Bin .../corridor/addon/open_walkway.nbt | Bin .../corridor/addon/open_walkway_upper.nbt | Bin .../corridor/addon/reward_upper.nbt | Bin .../corridor/addon/staircase.nbt | Bin .../trial_chambers/corridor/addon/wall.nbt | Bin .../corridor/addon/walled_walkway.nbt | Bin .../corridor/atrium/bogged_relief.nbt | Bin .../corridor/atrium/breeze_relief.nbt | Bin .../corridor/atrium/grand_staircase_1.nbt | Bin .../corridor/atrium/grand_staircase_2.nbt | Bin .../corridor/atrium/grand_staircase_3.nbt | Bin .../corridor/atrium/spider_relief.nbt | Bin .../corridor/atrium/spiral_relief.nbt | Bin .../trial_chambers/corridor/atrium_1.nbt | Bin .../trial_chambers/corridor/end_1.nbt | Bin .../trial_chambers/corridor/end_2.nbt | Bin .../trial_chambers/corridor/entrance_1.nbt | Bin .../trial_chambers/corridor/entrance_2.nbt | Bin .../trial_chambers/corridor/entrance_3.nbt | Bin .../trial_chambers/corridor/first_plate.nbt | Bin .../trial_chambers/corridor/second_plate.nbt | Bin .../trial_chambers/corridor/straight_1.nbt | Bin .../trial_chambers/corridor/straight_2.nbt | Bin .../trial_chambers/corridor/straight_3.nbt | Bin .../trial_chambers/corridor/straight_4.nbt | Bin .../trial_chambers/corridor/straight_5.nbt | Bin .../trial_chambers/corridor/straight_6.nbt | Bin .../trial_chambers/corridor/straight_7.nbt | Bin .../trial_chambers/corridor/straight_8.nbt | Bin .../trial_chambers/decor/barrel.nbt | Bin .../trial_chambers/decor/black_bed.nbt | Bin .../trial_chambers/decor/blue_bed.nbt | Bin .../trial_chambers/decor/brown_bed.nbt | Bin .../trial_chambers/decor/candle_1.nbt | Bin .../trial_chambers/decor/candle_2.nbt | Bin .../trial_chambers/decor/candle_3.nbt | Bin .../trial_chambers/decor/candle_4.nbt | Bin .../trial_chambers/decor/cyan_bed.nbt | Bin .../trial_chambers/decor/dead_bush_pot.nbt | Bin .../trial_chambers/decor/disposal.nbt | Bin .../trial_chambers/decor/empty_pot.nbt | Bin .../trial_chambers/decor/flow_pot.nbt | Bin .../trial_chambers/decor/gray_bed.nbt | Bin .../trial_chambers/decor/green_bed.nbt | Bin .../trial_chambers/decor/guster_pot.nbt | Bin .../trial_chambers/decor/light_blue_bed.nbt | Bin .../trial_chambers/decor/light_gray_bed.nbt | Bin .../trial_chambers/decor/lime_bed.nbt | Bin .../trial_chambers/decor/magenta_bed.nbt | Bin .../trial_chambers/decor/orange_bed.nbt | Bin .../trial_chambers/decor/pink_bed.nbt | Bin .../trial_chambers/decor/purple_bed.nbt | Bin .../trial_chambers/decor/red_bed.nbt | Bin .../trial_chambers/decor/scrape_pot.nbt | Bin .../trial_chambers/decor/undecorated_pot.nbt | Bin .../trial_chambers/decor/white_bed.nbt | Bin .../trial_chambers/decor/yellow_bed.nbt | Bin .../trial_chambers/dispensers/chamber.nbt | Bin .../dispensers/floor_dispenser.nbt | Bin .../dispensers/wall_dispenser.nbt | Bin .../trial_chambers/hallway/cache_1.nbt | Bin .../hallway/corner_staircase.nbt | Bin .../hallway/corner_staircase_down.nbt | Bin .../hallway/corridor_connector_1.nbt | Bin .../trial_chambers/hallway/encounter_1.nbt | Bin .../trial_chambers/hallway/encounter_2.nbt | Bin .../trial_chambers/hallway/encounter_3.nbt | Bin .../trial_chambers/hallway/encounter_4.nbt | Bin .../trial_chambers/hallway/encounter_5.nbt | Bin .../trial_chambers/hallway/left_corner.nbt | Bin .../hallway/long_straight_staircase.nbt | Bin .../hallway/long_straight_staircase_down.nbt | Bin .../hallway/lower_hallway_connector.nbt | Bin .../trial_chambers/hallway/right_corner.nbt | Bin .../trial_chambers/hallway/rubble.nbt | Bin .../trial_chambers/hallway/rubble_chamber.nbt | Bin .../hallway/rubble_chamber_thin.nbt | Bin .../trial_chambers/hallway/rubble_thin.nbt | Bin .../trial_chambers/hallway/straight.nbt | Bin .../hallway/straight_staircase.nbt | Bin .../hallway/straight_staircase_down.nbt | Bin .../hallway/trapped_staircase.nbt | Bin .../hallway/upper_hallway_connector.nbt | Bin .../intersection/intersection_1.nbt | Bin .../intersection/intersection_2.nbt | Bin .../intersection/intersection_3.nbt | Bin .../trial_chambers/reward/ominous_vault.nbt | Bin .../trial_chambers/reward/vault.nbt | Bin .../trial_chambers/spawner/breeze/breeze.nbt | Bin .../spawner/connectors/breeze.nbt | Bin .../spawner/connectors/melee.nbt | Bin .../spawner/connectors/ranged.nbt | Bin .../spawner/connectors/slow_ranged.nbt | Bin .../spawner/connectors/small_melee.nbt | Bin .../trial_chambers/spawner/melee/husk.nbt | Bin .../trial_chambers/spawner/melee/spider.nbt | Bin .../trial_chambers/spawner/melee/zombie.nbt | Bin .../spawner/ranged/poison_skeleton.nbt | Bin .../spawner/ranged/skeleton.nbt | Bin .../trial_chambers/spawner/ranged/stray.nbt | Bin .../spawner/slow_ranged/poison_skeleton.nbt | Bin .../spawner/slow_ranged/skeleton.nbt | Bin .../spawner/slow_ranged/stray.nbt | Bin .../spawner/small_melee/baby_zombie.nbt | Bin .../spawner/small_melee/cave_spider.nbt | Bin .../spawner/small_melee/silverfish.nbt | Bin .../spawner/small_melee/slime.nbt | Bin .../underwater_ruin/big_brick_1.nbt | Bin .../underwater_ruin/big_brick_2.nbt | Bin .../underwater_ruin/big_brick_3.nbt | Bin .../underwater_ruin/big_brick_8.nbt | Bin .../underwater_ruin/big_cracked_1.nbt | Bin .../underwater_ruin/big_cracked_2.nbt | Bin .../underwater_ruin/big_cracked_3.nbt | Bin .../underwater_ruin/big_cracked_8.nbt | Bin .../underwater_ruin/big_mossy_1.nbt | Bin .../underwater_ruin/big_mossy_2.nbt | Bin .../underwater_ruin/big_mossy_3.nbt | Bin .../underwater_ruin/big_mossy_8.nbt | Bin .../structures/underwater_ruin/big_warm_4.nbt | Bin .../structures/underwater_ruin/big_warm_5.nbt | Bin .../structures/underwater_ruin/big_warm_6.nbt | Bin .../structures/underwater_ruin/big_warm_7.nbt | Bin .../structures/underwater_ruin/brick_1.nbt | Bin .../structures/underwater_ruin/brick_2.nbt | Bin .../structures/underwater_ruin/brick_3.nbt | Bin .../structures/underwater_ruin/brick_4.nbt | Bin .../structures/underwater_ruin/brick_5.nbt | Bin .../structures/underwater_ruin/brick_6.nbt | Bin .../structures/underwater_ruin/brick_7.nbt | Bin .../structures/underwater_ruin/brick_8.nbt | Bin .../structures/underwater_ruin/cracked_1.nbt | Bin .../structures/underwater_ruin/cracked_2.nbt | Bin .../structures/underwater_ruin/cracked_3.nbt | Bin .../structures/underwater_ruin/cracked_4.nbt | Bin .../structures/underwater_ruin/cracked_5.nbt | Bin .../structures/underwater_ruin/cracked_6.nbt | Bin .../structures/underwater_ruin/cracked_7.nbt | Bin .../structures/underwater_ruin/cracked_8.nbt | Bin .../structures/underwater_ruin/mossy_1.nbt | Bin .../structures/underwater_ruin/mossy_2.nbt | Bin .../structures/underwater_ruin/mossy_3.nbt | Bin .../structures/underwater_ruin/mossy_4.nbt | Bin .../structures/underwater_ruin/mossy_5.nbt | Bin .../structures/underwater_ruin/mossy_6.nbt | Bin .../structures/underwater_ruin/mossy_7.nbt | Bin .../structures/underwater_ruin/mossy_8.nbt | Bin .../structures/underwater_ruin/warm_1.nbt | Bin .../structures/underwater_ruin/warm_2.nbt | Bin .../structures/underwater_ruin/warm_3.nbt | Bin .../structures/underwater_ruin/warm_4.nbt | Bin .../structures/underwater_ruin/warm_5.nbt | Bin .../structures/underwater_ruin/warm_6.nbt | Bin .../structures/underwater_ruin/warm_7.nbt | Bin .../structures/underwater_ruin/warm_8.nbt | Bin .../village/common/animals/cat_black.nbt | Bin .../village/common/animals/cat_british.nbt | Bin .../village/common/animals/cat_calico.nbt | Bin .../village/common/animals/cat_jellie.nbt | Bin .../village/common/animals/cat_persian.nbt | Bin .../village/common/animals/cat_ragdoll.nbt | Bin .../village/common/animals/cat_red.nbt | Bin .../village/common/animals/cat_siamese.nbt | Bin .../village/common/animals/cat_tabby.nbt | Bin .../village/common/animals/cat_white.nbt | Bin .../village/common/animals/cows_1.nbt | Bin .../village/common/animals/horses_1.nbt | Bin .../village/common/animals/horses_2.nbt | Bin .../village/common/animals/horses_3.nbt | Bin .../village/common/animals/horses_4.nbt | Bin .../village/common/animals/horses_5.nbt | Bin .../village/common/animals/pigs_1.nbt | Bin .../village/common/animals/sheep_1.nbt | Bin .../village/common/animals/sheep_2.nbt | Bin .../structures/village/common/iron_golem.nbt | Bin .../structures/village/common/well_bottom.nbt | Bin .../structures/village/decays/grass_11x13.nbt | Bin .../structures/village/decays/grass_16x16.nbt | Bin .../structures/village/decays/grass_9x9.nbt | Bin .../structures/village/desert/camel_spawn.nbt | Bin .../village/desert/desert_lamp_1.nbt | Bin .../desert/houses/desert_animal_pen_1.nbt | Bin .../desert/houses/desert_animal_pen_2.nbt | Bin .../desert/houses/desert_armorer_1.nbt | Bin .../desert/houses/desert_butcher_shop_1.nbt | Bin .../houses/desert_cartographer_house_1.nbt | Bin .../village/desert/houses/desert_farm_1.nbt | Bin .../village/desert/houses/desert_farm_2.nbt | Bin .../village/desert/houses/desert_fisher_1.nbt | Bin .../desert/houses/desert_fletcher_house_1.nbt | Bin .../desert/houses/desert_large_farm_1.nbt | Bin .../desert/houses/desert_library_1.nbt | Bin .../village/desert/houses/desert_mason_1.nbt | Bin .../desert/houses/desert_medium_house_1.nbt | Bin .../desert/houses/desert_medium_house_2.nbt | Bin .../desert/houses/desert_shepherd_house_1.nbt | Bin .../desert/houses/desert_small_house_1.nbt | Bin .../desert/houses/desert_small_house_2.nbt | Bin .../desert/houses/desert_small_house_3.nbt | Bin .../desert/houses/desert_small_house_4.nbt | Bin .../desert/houses/desert_small_house_5.nbt | Bin .../desert/houses/desert_small_house_6.nbt | Bin .../desert/houses/desert_small_house_7.nbt | Bin .../desert/houses/desert_small_house_8.nbt | Bin .../desert/houses/desert_tannery_1.nbt | Bin .../village/desert/houses/desert_temple_1.nbt | Bin .../village/desert/houses/desert_temple_2.nbt | Bin .../desert/houses/desert_tool_smith_1.nbt | Bin .../desert/houses/desert_weaponsmith_1.nbt | Bin .../village/desert/streets/corner_01.nbt | Bin .../village/desert/streets/corner_02.nbt | Bin .../village/desert/streets/crossroad_01.nbt | Bin .../village/desert/streets/crossroad_02.nbt | Bin .../village/desert/streets/crossroad_03.nbt | Bin .../village/desert/streets/square_01.nbt | Bin .../village/desert/streets/square_02.nbt | Bin .../village/desert/streets/straight_01.nbt | Bin .../village/desert/streets/straight_02.nbt | Bin .../village/desert/streets/straight_03.nbt | Bin .../village/desert/streets/turn_01.nbt | Bin .../desert/terminators/terminator_01.nbt | Bin .../desert/terminators/terminator_02.nbt | Bin .../town_centers/desert_meeting_point_1.nbt | Bin .../town_centers/desert_meeting_point_2.nbt | Bin .../town_centers/desert_meeting_point_3.nbt | Bin .../village/desert/villagers/baby.nbt | Bin .../village/desert/villagers/nitwit.nbt | Bin .../village/desert/villagers/unemployed.nbt | Bin .../zombie/houses/desert_medium_house_1.nbt | Bin .../zombie/houses/desert_medium_house_2.nbt | Bin .../zombie/houses/desert_small_house_1.nbt | Bin .../zombie/houses/desert_small_house_2.nbt | Bin .../zombie/houses/desert_small_house_3.nbt | Bin .../zombie/houses/desert_small_house_4.nbt | Bin .../zombie/houses/desert_small_house_5.nbt | Bin .../zombie/houses/desert_small_house_6.nbt | Bin .../zombie/houses/desert_small_house_7.nbt | Bin .../zombie/houses/desert_small_house_8.nbt | Bin .../desert/zombie/streets/corner_01.nbt | Bin .../desert/zombie/streets/corner_02.nbt | Bin .../desert/zombie/streets/crossroad_01.nbt | Bin .../desert/zombie/streets/crossroad_02.nbt | Bin .../desert/zombie/streets/crossroad_03.nbt | Bin .../desert/zombie/streets/square_01.nbt | Bin .../desert/zombie/streets/square_02.nbt | Bin .../desert/zombie/streets/straight_01.nbt | Bin .../desert/zombie/streets/straight_02.nbt | Bin .../desert/zombie/streets/straight_03.nbt | Bin .../village/desert/zombie/streets/turn_01.nbt | Bin .../zombie/terminators/terminator_02.nbt | Bin .../town_centers/desert_meeting_point_1.nbt | Bin .../town_centers/desert_meeting_point_2.nbt | Bin .../town_centers/desert_meeting_point_3.nbt | Bin .../desert/zombie/villagers/nitwit.nbt | Bin .../desert/zombie/villagers/unemployed.nbt | Bin .../plains/houses/plains_accessory_1.nbt | Bin .../plains/houses/plains_animal_pen_1.nbt | Bin .../plains/houses/plains_animal_pen_2.nbt | Bin .../plains/houses/plains_animal_pen_3.nbt | Bin .../plains/houses/plains_armorer_house_1.nbt | Bin .../plains/houses/plains_big_house_1.nbt | Bin .../plains/houses/plains_butcher_shop_1.nbt | Bin .../plains/houses/plains_butcher_shop_2.nbt | Bin .../plains/houses/plains_cartographer_1.nbt | Bin .../plains/houses/plains_fisher_cottage_1.nbt | Bin .../plains/houses/plains_fletcher_house_1.nbt | Bin .../plains/houses/plains_large_farm_1.nbt | Bin .../plains/houses/plains_library_1.nbt | Bin .../plains/houses/plains_library_2.nbt | Bin .../plains/houses/plains_masons_house_1.nbt | Bin .../plains/houses/plains_medium_house_1.nbt | Bin .../plains/houses/plains_medium_house_2.nbt | Bin .../plains/houses/plains_meeting_point_4.nbt | Bin .../plains/houses/plains_meeting_point_5.nbt | Bin .../houses/plains_shepherds_house_1.nbt | Bin .../plains/houses/plains_small_farm_1.nbt | Bin .../plains/houses/plains_small_house_1.nbt | Bin .../plains/houses/plains_small_house_2.nbt | Bin .../plains/houses/plains_small_house_3.nbt | Bin .../plains/houses/plains_small_house_4.nbt | Bin .../plains/houses/plains_small_house_5.nbt | Bin .../plains/houses/plains_small_house_6.nbt | Bin .../plains/houses/plains_small_house_7.nbt | Bin .../plains/houses/plains_small_house_8.nbt | Bin .../village/plains/houses/plains_stable_1.nbt | Bin .../village/plains/houses/plains_stable_2.nbt | Bin .../plains/houses/plains_tannery_1.nbt | Bin .../village/plains/houses/plains_temple_3.nbt | Bin .../village/plains/houses/plains_temple_4.nbt | Bin .../plains/houses/plains_tool_smith_1.nbt | Bin .../plains/houses/plains_weaponsmith_1.nbt | Bin .../village/plains/plains_lamp_1.nbt | Bin .../village/plains/streets/corner_01.nbt | Bin .../village/plains/streets/corner_02.nbt | Bin .../village/plains/streets/corner_03.nbt | Bin .../village/plains/streets/crossroad_01.nbt | Bin .../village/plains/streets/crossroad_02.nbt | Bin .../village/plains/streets/crossroad_03.nbt | Bin .../village/plains/streets/crossroad_04.nbt | Bin .../village/plains/streets/crossroad_05.nbt | Bin .../village/plains/streets/crossroad_06.nbt | Bin .../village/plains/streets/straight_01.nbt | Bin .../village/plains/streets/straight_02.nbt | Bin .../village/plains/streets/straight_03.nbt | Bin .../village/plains/streets/straight_04.nbt | Bin .../village/plains/streets/straight_05.nbt | Bin .../village/plains/streets/straight_06.nbt | Bin .../village/plains/streets/turn_01.nbt | Bin .../plains/terminators/terminator_01.nbt | Bin .../plains/terminators/terminator_02.nbt | Bin .../plains/terminators/terminator_03.nbt | Bin .../plains/terminators/terminator_04.nbt | Bin .../town_centers/plains_fountain_01.nbt | Bin .../town_centers/plains_meeting_point_1.nbt | Bin .../town_centers/plains_meeting_point_2.nbt | Bin .../town_centers/plains_meeting_point_3.nbt | Bin .../village/plains/villagers/baby.nbt | Bin .../village/plains/villagers/nitwit.nbt | Bin .../village/plains/villagers/unemployed.nbt | Bin .../zombie/houses/plains_animal_pen_3.nbt | Bin .../zombie/houses/plains_big_house_1.nbt | Bin .../zombie/houses/plains_butcher_shop_2.nbt | Bin .../zombie/houses/plains_fletcher_house_1.nbt | Bin .../zombie/houses/plains_medium_house_1.nbt | Bin .../zombie/houses/plains_medium_house_2.nbt | Bin .../zombie/houses/plains_meeting_point_4.nbt | Bin .../zombie/houses/plains_meeting_point_5.nbt | Bin .../houses/plains_shepherds_house_1.nbt | Bin .../zombie/houses/plains_small_house_1.nbt | Bin .../zombie/houses/plains_small_house_2.nbt | Bin .../zombie/houses/plains_small_house_3.nbt | Bin .../zombie/houses/plains_small_house_4.nbt | Bin .../zombie/houses/plains_small_house_5.nbt | Bin .../zombie/houses/plains_small_house_6.nbt | Bin .../zombie/houses/plains_small_house_7.nbt | Bin .../zombie/houses/plains_small_house_8.nbt | Bin .../plains/zombie/houses/plains_stable_1.nbt | Bin .../plains/zombie/streets/corner_01.nbt | Bin .../plains/zombie/streets/corner_02.nbt | Bin .../plains/zombie/streets/corner_03.nbt | Bin .../plains/zombie/streets/crossroad_01.nbt | Bin .../plains/zombie/streets/crossroad_02.nbt | Bin .../plains/zombie/streets/crossroad_03.nbt | Bin .../plains/zombie/streets/crossroad_04.nbt | Bin .../plains/zombie/streets/crossroad_05.nbt | Bin .../plains/zombie/streets/crossroad_06.nbt | Bin .../plains/zombie/streets/straight_01.nbt | Bin .../plains/zombie/streets/straight_02.nbt | Bin .../plains/zombie/streets/straight_03.nbt | Bin .../plains/zombie/streets/straight_04.nbt | Bin .../plains/zombie/streets/straight_05.nbt | Bin .../plains/zombie/streets/straight_06.nbt | Bin .../village/plains/zombie/streets/turn_01.nbt | Bin .../town_centers/plains_fountain_01.nbt | Bin .../town_centers/plains_meeting_point_1.nbt | Bin .../town_centers/plains_meeting_point_2.nbt | Bin .../town_centers/plains_meeting_point_3.nbt | Bin .../plains/zombie/villagers/nitwit.nbt | Bin .../plains/zombie/villagers/unemployed.nbt | Bin .../savanna/houses/savanna_animal_pen_1.nbt | Bin .../savanna/houses/savanna_animal_pen_2.nbt | Bin .../savanna/houses/savanna_animal_pen_3.nbt | Bin .../savanna/houses/savanna_armorer_1.nbt | Bin .../houses/savanna_butchers_shop_1.nbt | Bin .../houses/savanna_butchers_shop_2.nbt | Bin .../savanna/houses/savanna_cartographer_1.nbt | Bin .../houses/savanna_fisher_cottage_1.nbt | Bin .../houses/savanna_fletcher_house_1.nbt | Bin .../savanna/houses/savanna_large_farm_1.nbt | Bin .../savanna/houses/savanna_large_farm_2.nbt | Bin .../savanna/houses/savanna_library_1.nbt | Bin .../savanna/houses/savanna_mason_1.nbt | Bin .../savanna/houses/savanna_medium_house_1.nbt | Bin .../savanna/houses/savanna_medium_house_2.nbt | Bin .../savanna/houses/savanna_shepherd_1.nbt | Bin .../savanna/houses/savanna_small_farm.nbt | Bin .../savanna/houses/savanna_small_house_1.nbt | Bin .../savanna/houses/savanna_small_house_2.nbt | Bin .../savanna/houses/savanna_small_house_3.nbt | Bin .../savanna/houses/savanna_small_house_4.nbt | Bin .../savanna/houses/savanna_small_house_5.nbt | Bin .../savanna/houses/savanna_small_house_6.nbt | Bin .../savanna/houses/savanna_small_house_7.nbt | Bin .../savanna/houses/savanna_small_house_8.nbt | Bin .../savanna/houses/savanna_tannery_1.nbt | Bin .../savanna/houses/savanna_temple_1.nbt | Bin .../savanna/houses/savanna_temple_2.nbt | Bin .../savanna/houses/savanna_tool_smith_1.nbt | Bin .../savanna/houses/savanna_weaponsmith_1.nbt | Bin .../savanna/houses/savanna_weaponsmith_2.nbt | Bin .../village/savanna/savanna_lamp_post_01.nbt | Bin .../village/savanna/streets/corner_01.nbt | Bin .../village/savanna/streets/corner_03.nbt | Bin .../village/savanna/streets/crossroad_02.nbt | Bin .../village/savanna/streets/crossroad_03.nbt | Bin .../village/savanna/streets/crossroad_04.nbt | Bin .../village/savanna/streets/crossroad_05.nbt | Bin .../village/savanna/streets/crossroad_06.nbt | Bin .../village/savanna/streets/crossroad_07.nbt | Bin .../village/savanna/streets/split_01.nbt | Bin .../village/savanna/streets/split_02.nbt | Bin .../village/savanna/streets/straight_02.nbt | Bin .../village/savanna/streets/straight_04.nbt | Bin .../village/savanna/streets/straight_05.nbt | Bin .../village/savanna/streets/straight_06.nbt | Bin .../village/savanna/streets/straight_08.nbt | Bin .../village/savanna/streets/straight_09.nbt | Bin .../village/savanna/streets/straight_10.nbt | Bin .../village/savanna/streets/straight_11.nbt | Bin .../village/savanna/streets/turn_01.nbt | Bin .../savanna/terminators/terminator_05.nbt | Bin .../town_centers/savanna_meeting_point_1.nbt | Bin .../town_centers/savanna_meeting_point_2.nbt | Bin .../town_centers/savanna_meeting_point_3.nbt | Bin .../town_centers/savanna_meeting_point_4.nbt | Bin .../village/savanna/villagers/baby.nbt | Bin .../village/savanna/villagers/nitwit.nbt | Bin .../village/savanna/villagers/unemployed.nbt | Bin .../zombie/houses/savanna_animal_pen_2.nbt | Bin .../zombie/houses/savanna_animal_pen_3.nbt | Bin .../zombie/houses/savanna_large_farm_2.nbt | Bin .../zombie/houses/savanna_medium_house_1.nbt | Bin .../zombie/houses/savanna_medium_house_2.nbt | Bin .../zombie/houses/savanna_small_house_1.nbt | Bin .../zombie/houses/savanna_small_house_2.nbt | Bin .../zombie/houses/savanna_small_house_3.nbt | Bin .../zombie/houses/savanna_small_house_4.nbt | Bin .../zombie/houses/savanna_small_house_5.nbt | Bin .../zombie/houses/savanna_small_house_6.nbt | Bin .../zombie/houses/savanna_small_house_7.nbt | Bin .../zombie/houses/savanna_small_house_8.nbt | Bin .../savanna/zombie/streets/corner_01.nbt | Bin .../savanna/zombie/streets/corner_03.nbt | Bin .../savanna/zombie/streets/crossroad_02.nbt | Bin .../savanna/zombie/streets/crossroad_03.nbt | Bin .../savanna/zombie/streets/crossroad_04.nbt | Bin .../savanna/zombie/streets/crossroad_05.nbt | Bin .../savanna/zombie/streets/crossroad_06.nbt | Bin .../savanna/zombie/streets/crossroad_07.nbt | Bin .../savanna/zombie/streets/split_01.nbt | Bin .../savanna/zombie/streets/split_02.nbt | Bin .../savanna/zombie/streets/straight_02.nbt | Bin .../savanna/zombie/streets/straight_04.nbt | Bin .../savanna/zombie/streets/straight_05.nbt | Bin .../savanna/zombie/streets/straight_06.nbt | Bin .../savanna/zombie/streets/straight_08.nbt | Bin .../savanna/zombie/streets/straight_09.nbt | Bin .../savanna/zombie/streets/straight_10.nbt | Bin .../savanna/zombie/streets/straight_11.nbt | Bin .../savanna/zombie/streets/turn_01.nbt | Bin .../zombie/terminators/terminator_05.nbt | Bin .../town_centers/savanna_meeting_point_1.nbt | Bin .../town_centers/savanna_meeting_point_2.nbt | Bin .../town_centers/savanna_meeting_point_3.nbt | Bin .../town_centers/savanna_meeting_point_4.nbt | Bin .../savanna/zombie/villagers/nitwit.nbt | Bin .../savanna/zombie/villagers/unemployed.nbt | Bin .../snowy/houses/snowy_animal_pen_1.nbt | Bin .../snowy/houses/snowy_animal_pen_2.nbt | Bin .../snowy/houses/snowy_armorer_house_1.nbt | Bin .../snowy/houses/snowy_armorer_house_2.nbt | Bin .../snowy/houses/snowy_butchers_shop_1.nbt | Bin .../snowy/houses/snowy_butchers_shop_2.nbt | Bin .../houses/snowy_cartographer_house_1.nbt | Bin .../village/snowy/houses/snowy_farm_1.nbt | Bin .../village/snowy/houses/snowy_farm_2.nbt | Bin .../snowy/houses/snowy_fisher_cottage.nbt | Bin .../snowy/houses/snowy_fletcher_house_1.nbt | Bin .../village/snowy/houses/snowy_library_1.nbt | Bin .../snowy/houses/snowy_masons_house_1.nbt | Bin .../snowy/houses/snowy_masons_house_2.nbt | Bin .../snowy/houses/snowy_medium_house_1.nbt | Bin .../snowy/houses/snowy_medium_house_2.nbt | Bin .../snowy/houses/snowy_medium_house_3.nbt | Bin .../snowy/houses/snowy_shepherds_house_1.nbt | Bin .../snowy/houses/snowy_small_house_1.nbt | Bin .../snowy/houses/snowy_small_house_2.nbt | Bin .../snowy/houses/snowy_small_house_3.nbt | Bin .../snowy/houses/snowy_small_house_4.nbt | Bin .../snowy/houses/snowy_small_house_5.nbt | Bin .../snowy/houses/snowy_small_house_6.nbt | Bin .../snowy/houses/snowy_small_house_7.nbt | Bin .../snowy/houses/snowy_small_house_8.nbt | Bin .../village/snowy/houses/snowy_tannery_1.nbt | Bin .../village/snowy/houses/snowy_temple_1.nbt | Bin .../snowy/houses/snowy_tool_smith_1.nbt | Bin .../snowy/houses/snowy_weapon_smith_1.nbt | Bin .../village/snowy/snowy_lamp_post_01.nbt | Bin .../village/snowy/snowy_lamp_post_02.nbt | Bin .../village/snowy/snowy_lamp_post_03.nbt | Bin .../village/snowy/streets/corner_01.nbt | Bin .../village/snowy/streets/corner_02.nbt | Bin .../village/snowy/streets/corner_03.nbt | Bin .../village/snowy/streets/crossroad_01.nbt | Bin .../village/snowy/streets/crossroad_02.nbt | Bin .../village/snowy/streets/crossroad_03.nbt | Bin .../village/snowy/streets/crossroad_04.nbt | Bin .../village/snowy/streets/crossroad_05.nbt | Bin .../village/snowy/streets/crossroad_06.nbt | Bin .../village/snowy/streets/square_01.nbt | Bin .../village/snowy/streets/straight_01.nbt | Bin .../village/snowy/streets/straight_02.nbt | Bin .../village/snowy/streets/straight_03.nbt | Bin .../village/snowy/streets/straight_04.nbt | Bin .../village/snowy/streets/straight_06.nbt | Bin .../village/snowy/streets/straight_08.nbt | Bin .../village/snowy/streets/turn_01.nbt | Bin .../town_centers/snowy_meeting_point_1.nbt | Bin .../town_centers/snowy_meeting_point_2.nbt | Bin .../town_centers/snowy_meeting_point_3.nbt | Bin .../village/snowy/villagers/baby.nbt | Bin .../village/snowy/villagers/nitwit.nbt | Bin .../village/snowy/villagers/unemployed.nbt | Bin .../zombie/houses/snowy_medium_house_1.nbt | Bin .../zombie/houses/snowy_medium_house_2.nbt | Bin .../zombie/houses/snowy_medium_house_3.nbt | Bin .../zombie/houses/snowy_small_house_1.nbt | Bin .../zombie/houses/snowy_small_house_2.nbt | Bin .../zombie/houses/snowy_small_house_3.nbt | Bin .../zombie/houses/snowy_small_house_4.nbt | Bin .../zombie/houses/snowy_small_house_5.nbt | Bin .../zombie/houses/snowy_small_house_6.nbt | Bin .../zombie/houses/snowy_small_house_7.nbt | Bin .../zombie/houses/snowy_small_house_8.nbt | Bin .../snowy/zombie/streets/corner_01.nbt | Bin .../snowy/zombie/streets/corner_02.nbt | Bin .../snowy/zombie/streets/corner_03.nbt | Bin .../snowy/zombie/streets/crossroad_01.nbt | Bin .../snowy/zombie/streets/crossroad_02.nbt | Bin .../snowy/zombie/streets/crossroad_03.nbt | Bin .../snowy/zombie/streets/crossroad_04.nbt | Bin .../snowy/zombie/streets/crossroad_05.nbt | Bin .../snowy/zombie/streets/crossroad_06.nbt | Bin .../snowy/zombie/streets/square_01.nbt | Bin .../snowy/zombie/streets/straight_01.nbt | Bin .../snowy/zombie/streets/straight_02.nbt | Bin .../snowy/zombie/streets/straight_03.nbt | Bin .../snowy/zombie/streets/straight_04.nbt | Bin .../snowy/zombie/streets/straight_06.nbt | Bin .../snowy/zombie/streets/straight_08.nbt | Bin .../village/snowy/zombie/streets/turn_01.nbt | Bin .../town_centers/snowy_meeting_point_1.nbt | Bin .../town_centers/snowy_meeting_point_2.nbt | Bin .../town_centers/snowy_meeting_point_3.nbt | Bin .../village/snowy/zombie/villagers/nitwit.nbt | Bin .../snowy/zombie/villagers/unemployed.nbt | Bin .../taiga/houses/taiga_animal_pen_1.nbt | Bin .../village/taiga/houses/taiga_armorer_2.nbt | Bin .../taiga/houses/taiga_armorer_house_1.nbt | Bin .../taiga/houses/taiga_butcher_shop_1.nbt | Bin .../houses/taiga_cartographer_house_1.nbt | Bin .../taiga/houses/taiga_fisher_cottage_1.nbt | Bin .../taiga/houses/taiga_fletcher_house_1.nbt | Bin .../taiga/houses/taiga_large_farm_1.nbt | Bin .../taiga/houses/taiga_large_farm_2.nbt | Bin .../village/taiga/houses/taiga_library_1.nbt | Bin .../taiga/houses/taiga_masons_house_1.nbt | Bin .../taiga/houses/taiga_medium_house_1.nbt | Bin .../taiga/houses/taiga_medium_house_2.nbt | Bin .../taiga/houses/taiga_medium_house_3.nbt | Bin .../taiga/houses/taiga_medium_house_4.nbt | Bin .../taiga/houses/taiga_shepherds_house_1.nbt | Bin .../taiga/houses/taiga_small_farm_1.nbt | Bin .../taiga/houses/taiga_small_house_1.nbt | Bin .../taiga/houses/taiga_small_house_2.nbt | Bin .../taiga/houses/taiga_small_house_3.nbt | Bin .../taiga/houses/taiga_small_house_4.nbt | Bin .../taiga/houses/taiga_small_house_5.nbt | Bin .../village/taiga/houses/taiga_tannery_1.nbt | Bin .../village/taiga/houses/taiga_temple_1.nbt | Bin .../taiga/houses/taiga_tool_smith_1.nbt | Bin .../taiga/houses/taiga_weaponsmith_1.nbt | Bin .../taiga/houses/taiga_weaponsmith_2.nbt | Bin .../village/taiga/streets/corner_01.nbt | Bin .../village/taiga/streets/corner_02.nbt | Bin .../village/taiga/streets/corner_03.nbt | Bin .../village/taiga/streets/crossroad_01.nbt | Bin .../village/taiga/streets/crossroad_02.nbt | Bin .../village/taiga/streets/crossroad_03.nbt | Bin .../village/taiga/streets/crossroad_04.nbt | Bin .../village/taiga/streets/crossroad_05.nbt | Bin .../village/taiga/streets/crossroad_06.nbt | Bin .../village/taiga/streets/straight_01.nbt | Bin .../village/taiga/streets/straight_02.nbt | Bin .../village/taiga/streets/straight_03.nbt | Bin .../village/taiga/streets/straight_04.nbt | Bin .../village/taiga/streets/straight_05.nbt | Bin .../village/taiga/streets/straight_06.nbt | Bin .../village/taiga/streets/turn_01.nbt | Bin .../village/taiga/taiga_decoration_1.nbt | Bin .../village/taiga/taiga_decoration_2.nbt | Bin .../village/taiga/taiga_decoration_3.nbt | Bin .../village/taiga/taiga_decoration_4.nbt | Bin .../village/taiga/taiga_decoration_5.nbt | Bin .../village/taiga/taiga_decoration_6.nbt | Bin .../village/taiga/taiga_lamp_post_1.nbt | Bin .../town_centers/taiga_meeting_point_1.nbt | Bin .../town_centers/taiga_meeting_point_2.nbt | Bin .../village/taiga/villagers/baby.nbt | Bin .../village/taiga/villagers/nitwit.nbt | Bin .../village/taiga/villagers/unemployed.nbt | Bin .../houses/taiga_cartographer_house_1.nbt | Bin .../zombie/houses/taiga_fisher_cottage_1.nbt | Bin .../zombie/houses/taiga_large_farm_2.nbt | Bin .../taiga/zombie/houses/taiga_library_1.nbt | Bin .../zombie/houses/taiga_medium_house_1.nbt | Bin .../zombie/houses/taiga_medium_house_2.nbt | Bin .../zombie/houses/taiga_medium_house_3.nbt | Bin .../zombie/houses/taiga_medium_house_4.nbt | Bin .../zombie/houses/taiga_shepherds_house_1.nbt | Bin .../zombie/houses/taiga_small_house_1.nbt | Bin .../zombie/houses/taiga_small_house_2.nbt | Bin .../zombie/houses/taiga_small_house_3.nbt | Bin .../zombie/houses/taiga_small_house_4.nbt | Bin .../zombie/houses/taiga_small_house_5.nbt | Bin .../taiga/zombie/houses/taiga_temple_1.nbt | Bin .../zombie/houses/taiga_tool_smith_1.nbt | Bin .../zombie/houses/taiga_weaponsmith_2.nbt | Bin .../taiga/zombie/streets/corner_01.nbt | Bin .../taiga/zombie/streets/corner_02.nbt | Bin .../taiga/zombie/streets/corner_03.nbt | Bin .../taiga/zombie/streets/crossroad_01.nbt | Bin .../taiga/zombie/streets/crossroad_02.nbt | Bin .../taiga/zombie/streets/crossroad_03.nbt | Bin .../taiga/zombie/streets/crossroad_04.nbt | Bin .../taiga/zombie/streets/crossroad_05.nbt | Bin .../taiga/zombie/streets/crossroad_06.nbt | Bin .../taiga/zombie/streets/straight_01.nbt | Bin .../taiga/zombie/streets/straight_02.nbt | Bin .../taiga/zombie/streets/straight_03.nbt | Bin .../taiga/zombie/streets/straight_04.nbt | Bin .../taiga/zombie/streets/straight_05.nbt | Bin .../taiga/zombie/streets/straight_06.nbt | Bin .../village/taiga/zombie/streets/turn_01.nbt | Bin .../town_centers/taiga_meeting_point_1.nbt | Bin .../town_centers/taiga_meeting_point_2.nbt | Bin .../village/taiga/zombie/villagers/nitwit.nbt | Bin .../taiga/zombie/villagers/unemployed.nbt | Bin .../structures/woodland_mansion/1x1_a1.nbt | Bin .../structures/woodland_mansion/1x1_a2.nbt | Bin .../structures/woodland_mansion/1x1_a3.nbt | Bin .../structures/woodland_mansion/1x1_a4.nbt | Bin .../structures/woodland_mansion/1x1_a5.nbt | Bin .../structures/woodland_mansion/1x1_as1.nbt | Bin .../structures/woodland_mansion/1x1_as2.nbt | Bin .../structures/woodland_mansion/1x1_as3.nbt | Bin .../structures/woodland_mansion/1x1_as4.nbt | Bin .../structures/woodland_mansion/1x1_b1.nbt | Bin .../structures/woodland_mansion/1x1_b2.nbt | Bin .../structures/woodland_mansion/1x1_b3.nbt | Bin .../structures/woodland_mansion/1x1_b4.nbt | Bin .../structures/woodland_mansion/1x1_b5.nbt | Bin .../structures/woodland_mansion/1x2_a1.nbt | Bin .../structures/woodland_mansion/1x2_a2.nbt | Bin .../structures/woodland_mansion/1x2_a3.nbt | Bin .../structures/woodland_mansion/1x2_a4.nbt | Bin .../structures/woodland_mansion/1x2_a5.nbt | Bin .../structures/woodland_mansion/1x2_a6.nbt | Bin .../structures/woodland_mansion/1x2_a7.nbt | Bin .../structures/woodland_mansion/1x2_a8.nbt | Bin .../structures/woodland_mansion/1x2_a9.nbt | Bin .../structures/woodland_mansion/1x2_b1.nbt | Bin .../structures/woodland_mansion/1x2_b2.nbt | Bin .../structures/woodland_mansion/1x2_b3.nbt | Bin .../structures/woodland_mansion/1x2_b4.nbt | Bin .../structures/woodland_mansion/1x2_b5.nbt | Bin .../structures/woodland_mansion/1x2_c1.nbt | Bin .../structures/woodland_mansion/1x2_c2.nbt | Bin .../structures/woodland_mansion/1x2_c3.nbt | Bin .../structures/woodland_mansion/1x2_c4.nbt | Bin .../woodland_mansion/1x2_c_stairs.nbt | Bin .../structures/woodland_mansion/1x2_d1.nbt | Bin .../structures/woodland_mansion/1x2_d2.nbt | Bin .../structures/woodland_mansion/1x2_d3.nbt | Bin .../structures/woodland_mansion/1x2_d4.nbt | Bin .../structures/woodland_mansion/1x2_d5.nbt | Bin .../woodland_mansion/1x2_d_stairs.nbt | Bin .../structures/woodland_mansion/1x2_s1.nbt | Bin .../structures/woodland_mansion/1x2_s2.nbt | Bin .../structures/woodland_mansion/1x2_se1.nbt | Bin .../structures/woodland_mansion/2x2_a1.nbt | Bin .../structures/woodland_mansion/2x2_a2.nbt | Bin .../structures/woodland_mansion/2x2_a3.nbt | Bin .../structures/woodland_mansion/2x2_a4.nbt | Bin .../structures/woodland_mansion/2x2_b1.nbt | Bin .../structures/woodland_mansion/2x2_b2.nbt | Bin .../structures/woodland_mansion/2x2_b3.nbt | Bin .../structures/woodland_mansion/2x2_b4.nbt | Bin .../structures/woodland_mansion/2x2_b5.nbt | Bin .../structures/woodland_mansion/2x2_s1.nbt | Bin .../woodland_mansion/carpet_east.nbt | Bin .../woodland_mansion/carpet_north.nbt | Bin .../woodland_mansion/carpet_south_1.nbt | Bin .../woodland_mansion/carpet_south_2.nbt | Bin .../woodland_mansion/carpet_west_1.nbt | Bin .../woodland_mansion/carpet_west_2.nbt | Bin .../woodland_mansion/corridor_floor.nbt | Bin .../structures/woodland_mansion/entrance.nbt | Bin .../woodland_mansion/indoors_door_1.nbt | Bin .../woodland_mansion/indoors_door_2.nbt | Bin .../woodland_mansion/indoors_wall_1.nbt | Bin .../woodland_mansion/indoors_wall_2.nbt | Bin .../structures/woodland_mansion/roof.nbt | Bin .../woodland_mansion/roof_corner.nbt | Bin .../woodland_mansion/roof_front.nbt | Bin .../woodland_mansion/roof_inner_corner.nbt | Bin .../woodland_mansion/small_wall.nbt | Bin .../woodland_mansion/small_wall_corner.nbt | Bin .../woodland_mansion/wall_corner.nbt | Bin .../structures/woodland_mansion/wall_flat.nbt | Bin .../woodland_mansion/wall_window.nbt | Bin .../ancient_city_generic_degradation.json | 0 .../ancient_city_start_degradation.json | 0 .../ancient_city_walls_degradation.json | 0 .../bastion_generic_degradation.json | 0 .../processor_list/bottom_rampart.json | 0 .../worldgen/processor_list/bridge.json | 0 .../assets/worldgen/processor_list/empty.json | 0 .../processor_list/entrance_replacement.json | 0 .../worldgen/processor_list/farm_desert.json | 0 .../worldgen/processor_list/farm_plains.json | 0 .../worldgen/processor_list/farm_savanna.json | 0 .../worldgen/processor_list/farm_snowy.json | 0 .../worldgen/processor_list/farm_taiga.json | 0 .../worldgen/processor_list/fossil_coal.json | 0 .../processor_list/fossil_diamonds.json | 0 .../worldgen/processor_list/fossil_rot.json | 0 .../worldgen/processor_list/high_rampart.json | 0 .../worldgen/processor_list/high_wall.json | 0 .../worldgen/processor_list/housing.json | 0 .../processor_list/mossify_10_percent.json | 0 .../processor_list/mossify_20_percent.json | 0 .../processor_list/mossify_70_percent.json | 0 .../worldgen/processor_list/outpost_rot.json | 0 .../processor_list/rampart_degradation.json | 0 .../assets/worldgen/processor_list/roof.json | 0 .../processor_list/side_wall_degradation.json | 0 .../processor_list/stable_degradation.json | 0 .../processor_list/street_plains.json | 0 .../processor_list/street_savanna.json | 0 .../processor_list/street_snowy_or_taiga.json | 0 .../trail_ruins_houses_archaeology.json | 0 .../trail_ruins_roads_archaeology.json | 0 .../trail_ruins_tower_top_archaeology.json | 0 .../processor_list/treasure_rooms.json | 0 ...rial_chambers_copper_bulb_degradation.json | 0 .../processor_list/zombie_desert.json | 0 .../processor_list/zombie_plains.json | 0 .../processor_list/zombie_savanna.json | 0 .../worldgen/processor_list/zombie_snowy.json | 0 .../worldgen/processor_list/zombie_taiga.json | 0 .../assets/worldgen/template_pool/_list.json | 0 .../template_pool/ancient_city/_all.json | 0 .../template_pool/ancient_city/_list.json | 0 .../template_pool/ancient_city/city/_all.json | 0 .../ancient_city/city/_list.json | 0 .../ancient_city/city/entrance.json | 0 .../ancient_city/city_center.json | 0 .../ancient_city/city_center/_all.json | 0 .../ancient_city/city_center/_list.json | 0 .../ancient_city/city_center/walls.json | 0 .../template_pool/ancient_city/sculk.json | 0 .../ancient_city/structures.json | 0 .../template_pool/ancient_city/walls.json | 0 .../ancient_city/walls/_all.json | 0 .../ancient_city/walls/_list.json | 0 .../ancient_city/walls/no_corners.json | 0 .../worldgen/template_pool/bastion/_all.json | 0 .../worldgen/template_pool/bastion/_list.json | 0 .../template_pool/bastion/blocks/_all.json | 0 .../template_pool/bastion/blocks/_list.json | 0 .../template_pool/bastion/blocks/gold.json | 0 .../template_pool/bastion/bridge/_all.json | 0 .../template_pool/bastion/bridge/_list.json | 0 .../bastion/bridge/bridge_pieces.json | 0 .../bastion/bridge/connectors.json | 0 .../template_pool/bastion/bridge/legs.json | 0 .../bastion/bridge/rampart_plates.json | 0 .../bastion/bridge/ramparts.json | 0 .../bastion/bridge/starting_pieces.json | 0 .../template_pool/bastion/bridge/walls.json | 0 .../bastion/hoglin_stable/_all.json | 0 .../bastion/hoglin_stable/_list.json | 0 .../bastion/hoglin_stable/connectors.json | 0 .../hoglin_stable/large_stables/_all.json | 0 .../hoglin_stable/large_stables/_list.json | 0 .../hoglin_stable/large_stables/inner.json | 0 .../hoglin_stable/large_stables/outer.json | 0 .../mirrored_starting_pieces.json | 0 .../bastion/hoglin_stable/posts.json | 0 .../bastion/hoglin_stable/rampart_plates.json | 0 .../bastion/hoglin_stable/ramparts.json | 0 .../hoglin_stable/small_stables/_all.json | 0 .../hoglin_stable/small_stables/_list.json | 0 .../hoglin_stable/small_stables/inner.json | 0 .../hoglin_stable/small_stables/outer.json | 0 .../bastion/hoglin_stable/stairs.json | 0 .../hoglin_stable/starting_pieces.json | 0 .../bastion/hoglin_stable/wall_bases.json | 0 .../bastion/hoglin_stable/walls.json | 0 .../template_pool/bastion/mobs/_all.json | 0 .../template_pool/bastion/mobs/_list.json | 0 .../template_pool/bastion/mobs/hoglin.json | 0 .../template_pool/bastion/mobs/piglin.json | 0 .../bastion/mobs/piglin_melee.json | 0 .../template_pool/bastion/starts.json | 0 .../template_pool/bastion/treasure/_all.json | 0 .../template_pool/bastion/treasure/_list.json | 0 .../template_pool/bastion/treasure/bases.json | 0 .../bastion/treasure/bases/_all.json | 0 .../bastion/treasure/bases/_list.json | 0 .../bastion/treasure/bases/centers.json | 0 .../bastion/treasure/brains.json | 0 .../bastion/treasure/connectors.json | 0 .../bastion/treasure/corners/_all.json | 0 .../bastion/treasure/corners/_list.json | 0 .../bastion/treasure/corners/bottom.json | 0 .../bastion/treasure/corners/edges.json | 0 .../bastion/treasure/corners/middle.json | 0 .../bastion/treasure/corners/top.json | 0 .../bastion/treasure/entrances.json | 0 .../bastion/treasure/extensions/_all.json | 0 .../bastion/treasure/extensions/_list.json | 0 .../bastion/treasure/extensions/houses.json | 0 .../treasure/extensions/large_pool.json | 0 .../treasure/extensions/small_pool.json | 0 .../bastion/treasure/ramparts.json | 0 .../template_pool/bastion/treasure/roofs.json | 0 .../bastion/treasure/stairs.json | 0 .../template_pool/bastion/treasure/walls.json | 0 .../bastion/treasure/walls/_all.json | 0 .../bastion/treasure/walls/_list.json | 0 .../bastion/treasure/walls/bottom.json | 0 .../bastion/treasure/walls/mid.json | 0 .../bastion/treasure/walls/outer.json | 0 .../bastion/treasure/walls/top.json | 0 .../template_pool/bastion/units/_all.json | 0 .../template_pool/bastion/units/_list.json | 0 .../bastion/units/center_pieces.json | 0 .../bastion/units/edge_wall_units.json | 0 .../template_pool/bastion/units/edges.json | 0 .../bastion/units/fillers/_all.json | 0 .../bastion/units/fillers/_list.json | 0 .../bastion/units/fillers/stage_0.json | 0 .../bastion/units/large_ramparts.json | 0 .../template_pool/bastion/units/pathways.json | 0 .../bastion/units/rampart_plates.json | 0 .../template_pool/bastion/units/ramparts.json | 0 .../bastion/units/stages/_all.json | 0 .../bastion/units/stages/_list.json | 0 .../bastion/units/stages/rot/_all.json | 0 .../bastion/units/stages/rot/_list.json | 0 .../bastion/units/stages/rot/stage_1.json | 0 .../bastion/units/stages/stage_0.json | 0 .../bastion/units/stages/stage_1.json | 0 .../bastion/units/stages/stage_2.json | 0 .../bastion/units/stages/stage_3.json | 0 .../bastion/units/wall_units.json | 0 .../bastion/units/walls/_all.json | 0 .../bastion/units/walls/_list.json | 0 .../bastion/units/walls/wall_bases.json | 0 .../assets/worldgen/template_pool/empty.json | 0 .../template_pool/pillager_outpost/_all.json | 0 .../template_pool/pillager_outpost/_list.json | 0 .../pillager_outpost/base_plates.json | 0 .../pillager_outpost/feature_plates.json | 0 .../pillager_outpost/features.json | 0 .../pillager_outpost/towers.json | 0 .../template_pool/trail_ruins/_all.json | 0 .../template_pool/trail_ruins/_list.json | 0 .../template_pool/trail_ruins/buildings.json | 0 .../trail_ruins/buildings/_all.json | 0 .../trail_ruins/buildings/_list.json | 0 .../trail_ruins/buildings/grouped.json | 0 .../template_pool/trail_ruins/decor.json | 0 .../template_pool/trail_ruins/roads.json | 0 .../template_pool/trail_ruins/tower.json | 0 .../template_pool/trail_ruins/tower/_all.json | 0 .../trail_ruins/tower/_list.json | 0 .../trail_ruins/tower/additions.json | 0 .../trail_ruins/tower/tower_top.json | 0 .../template_pool/trial_chambers/_all.json | 0 .../template_pool/trial_chambers/_list.json | 0 .../template_pool/trial_chambers/atrium.json | 0 .../trial_chambers/chamber/_all.json | 0 .../trial_chambers/chamber/_list.json | 0 .../trial_chambers/chamber/addon.json | 0 .../trial_chambers/chamber/assembly.json | 0 .../trial_chambers/chamber/end.json | 0 .../trial_chambers/chamber/entrance_cap.json | 0 .../trial_chambers/chamber/eruption.json | 0 .../trial_chambers/chamber/pedestal.json | 0 .../trial_chambers/chamber/slanted.json | 0 .../trial_chambers/chambers/_all.json | 0 .../trial_chambers/chambers/_list.json | 0 .../trial_chambers/chambers/end.json | 0 .../trial_chambers/chests/_all.json | 0 .../trial_chambers/chests/_list.json | 0 .../trial_chambers/chests/contents/_all.json | 0 .../trial_chambers/chests/contents/_list.json | 0 .../chests/contents/supply.json | 0 .../trial_chambers/chests/supply.json | 0 .../trial_chambers/corridor.json | 0 .../trial_chambers/corridor/_all.json | 0 .../trial_chambers/corridor/_list.json | 0 .../trial_chambers/corridor/slices.json | 0 .../trial_chambers/corridors/_list.json | 0 .../trial_chambers/corridors/addon/_all.json | 0 .../trial_chambers/corridors/addon/_list.json | 0 .../trial_chambers/corridors/addon/lower.json | 0 .../corridors/addon/middle.json | 0 .../corridors/addon/middle_upper.json | 0 .../template_pool/trial_chambers/decor.json | 0 .../trial_chambers/decor/_all.json | 0 .../trial_chambers/decor/_list.json | 0 .../trial_chambers/decor/bed.json | 0 .../trial_chambers/decor/chamber.json | 0 .../trial_chambers/decor/disposal.json | 0 .../trial_chambers/dispensers/_all.json | 0 .../trial_chambers/dispensers/_list.json | 0 .../trial_chambers/dispensers/chamber.json | 0 .../trial_chambers/entrance.json | 0 .../template_pool/trial_chambers/hallway.json | 0 .../trial_chambers/hallway/_all.json | 0 .../trial_chambers/hallway/_list.json | 0 .../trial_chambers/hallway/fallback.json | 0 .../trial_chambers/reward/_all.json | 0 .../trial_chambers/reward/_list.json | 0 .../trial_chambers/reward/all.json | 0 .../trial_chambers/reward/contents/_all.json | 0 .../trial_chambers/reward/contents/_list.json | 0 .../reward/contents/default.json | 0 .../trial_chambers/reward/ominous_vault.json | 0 .../trial_chambers/spawner/_all.json | 0 .../trial_chambers/spawner/_list.json | 0 .../trial_chambers/spawner/all.json | 0 .../trial_chambers/spawner/breeze.json | 0 .../trial_chambers/spawner/contents/_all.json | 0 .../spawner/contents/_list.json | 0 .../spawner/contents/breeze.json | 0 .../trial_chambers/spawner/melee.json | 0 .../trial_chambers/spawner/melee/_all.json | 0 .../trial_chambers/spawner/melee/_list.json | 0 .../trial_chambers/spawner/melee/husk.json | 0 .../trial_chambers/spawner/melee/spider.json | 0 .../trial_chambers/spawner/melee/zombie.json | 0 .../trial_chambers/spawner/ranged.json | 0 .../trial_chambers/spawner/ranged/_all.json | 0 .../trial_chambers/spawner/ranged/_list.json | 0 .../spawner/ranged/poison_skeleton.json | 0 .../spawner/ranged/skeleton.json | 0 .../trial_chambers/spawner/ranged/stray.json | 0 .../trial_chambers/spawner/slow_ranged.json | 0 .../spawner/slow_ranged/_all.json | 0 .../spawner/slow_ranged/_list.json | 0 .../spawner/slow_ranged/poison_skeleton.json | 0 .../spawner/slow_ranged/skeleton.json | 0 .../spawner/slow_ranged/stray.json | 0 .../trial_chambers/spawner/small_melee.json | 0 .../spawner/small_melee/_all.json | 0 .../spawner/small_melee/_list.json | 0 .../spawner/small_melee/baby_zombie.json | 0 .../spawner/small_melee/cave_spider.json | 0 .../spawner/small_melee/silverfish.json | 0 .../spawner/small_melee/slime.json | 0 .../worldgen/template_pool/village/_list.json | 0 .../template_pool/village/common/_all.json | 0 .../template_pool/village/common/_list.json | 0 .../template_pool/village/common/animals.json | 0 .../village/common/butcher_animals.json | 0 .../template_pool/village/common/cats.json | 0 .../village/common/iron_golem.json | 0 .../template_pool/village/common/sheep.json | 0 .../village/common/well_bottoms.json | 0 .../template_pool/village/desert/_all.json | 0 .../template_pool/village/desert/_list.json | 0 .../template_pool/village/desert/camel.json | 0 .../template_pool/village/desert/decor.json | 0 .../template_pool/village/desert/houses.json | 0 .../template_pool/village/desert/streets.json | 0 .../village/desert/terminators.json | 0 .../village/desert/town_centers.json | 0 .../village/desert/villagers.json | 0 .../village/desert/zombie/_all.json | 0 .../village/desert/zombie/_list.json | 0 .../village/desert/zombie/decor.json | 0 .../village/desert/zombie/houses.json | 0 .../village/desert/zombie/streets.json | 0 .../village/desert/zombie/terminators.json | 0 .../village/desert/zombie/villagers.json | 0 .../template_pool/village/plains/_all.json | 0 .../template_pool/village/plains/_list.json | 0 .../template_pool/village/plains/decor.json | 0 .../template_pool/village/plains/houses.json | 0 .../template_pool/village/plains/streets.json | 0 .../village/plains/terminators.json | 0 .../village/plains/town_centers.json | 0 .../template_pool/village/plains/trees.json | 0 .../village/plains/villagers.json | 0 .../village/plains/zombie/_all.json | 0 .../village/plains/zombie/_list.json | 0 .../village/plains/zombie/decor.json | 0 .../village/plains/zombie/houses.json | 0 .../village/plains/zombie/streets.json | 0 .../village/plains/zombie/villagers.json | 0 .../template_pool/village/savanna/_all.json | 0 .../template_pool/village/savanna/_list.json | 0 .../template_pool/village/savanna/decor.json | 0 .../template_pool/village/savanna/houses.json | 0 .../village/savanna/streets.json | 0 .../village/savanna/terminators.json | 0 .../village/savanna/town_centers.json | 0 .../template_pool/village/savanna/trees.json | 0 .../village/savanna/villagers.json | 0 .../village/savanna/zombie/_all.json | 0 .../village/savanna/zombie/_list.json | 0 .../village/savanna/zombie/decor.json | 0 .../village/savanna/zombie/houses.json | 0 .../village/savanna/zombie/streets.json | 0 .../village/savanna/zombie/terminators.json | 0 .../village/savanna/zombie/villagers.json | 0 .../template_pool/village/snowy/_all.json | 0 .../template_pool/village/snowy/_list.json | 0 .../template_pool/village/snowy/decor.json | 0 .../template_pool/village/snowy/houses.json | 0 .../template_pool/village/snowy/streets.json | 0 .../village/snowy/terminators.json | 0 .../village/snowy/town_centers.json | 0 .../template_pool/village/snowy/trees.json | 0 .../village/snowy/villagers.json | 0 .../village/snowy/zombie/_all.json | 0 .../village/snowy/zombie/_list.json | 0 .../village/snowy/zombie/decor.json | 0 .../village/snowy/zombie/houses.json | 0 .../village/snowy/zombie/streets.json | 0 .../village/snowy/zombie/villagers.json | 0 .../template_pool/village/taiga/_all.json | 0 .../template_pool/village/taiga/_list.json | 0 .../template_pool/village/taiga/decor.json | 0 .../template_pool/village/taiga/houses.json | 0 .../template_pool/village/taiga/streets.json | 0 .../village/taiga/terminators.json | 0 .../village/taiga/town_centers.json | 0 .../village/taiga/villagers.json | 0 .../village/taiga/zombie/_all.json | 0 .../village/taiga/zombie/_list.json | 0 .../village/taiga/zombie/decor.json | 0 .../village/taiga/zombie/houses.json | 0 .../village/taiga/zombie/streets.json | 0 .../village/taiga/zombie/villagers.json | 0 .../pumpkin-world}/benches/chunk.rs | 0 .../pumpkin-world}/benches/chunk_gen.rs | 0 .../benches/chunk_gen_concurrent.rs | 0 .../pumpkin-world}/benches/chunk_io.rs | 0 .../pumpkin-world}/benches/noise_router.rs | 0 .../pumpkin-world}/build.rs | 0 .../pumpkin-world}/src/biome/end.rs | 0 .../pumpkin-world}/src/biome/mod.rs | 0 .../pumpkin-world}/src/biome/multi_noise.rs | 0 .../src/biome/position_finder.rs | 0 .../pumpkin-world}/src/block/entities.rs | 0 .../pumpkin-world}/src/block/mod.rs | 0 .../pumpkin-world}/src/block/viewer.rs | 0 .../pumpkin-world}/src/chunk/format/anvil.rs | 0 .../pumpkin-world}/src/chunk/format/linear.rs | 0 .../pumpkin-world}/src/chunk/format/mod.rs | 26 +- .../pumpkin-world}/src/chunk/format/pump.rs | 0 .../src/chunk/io/file_manager.rs | 0 .../pumpkin-world}/src/chunk/io/mod.rs | 0 .../pumpkin-world}/src/chunk/mod.rs | 0 .../pumpkin-world}/src/chunk/palette.rs | 0 .../src/chunk_system/channel.rs | 0 .../src/chunk_system/chunk_holder.rs | 0 .../src/chunk_system/chunk_listener.rs | 0 .../src/chunk_system/chunk_loading.rs | 0 .../src/chunk_system/chunk_state.rs | 0 .../pumpkin-world}/src/chunk_system/dag.rs | 0 .../src/chunk_system/generation.rs | 0 .../src/chunk_system/generation_cache.rs | 0 .../pumpkin-world}/src/chunk_system/mod.rs | 0 .../src/chunk_system/schedule.rs | 0 .../pumpkin-world}/src/chunk_system/tests.rs | 0 .../src/chunk_system/worker_logic.rs | 0 .../src/cylindrical_chunk_iterator.rs | 0 .../pumpkin-world}/src/data/mod.rs | 0 .../pumpkin-world}/src/data/player_data.rs | 0 .../pumpkin-world}/src/dimension.rs | 0 .../pumpkin-world}/src/generation/biome.rs | 0 .../src/generation/blender/blending_data.rs | 0 .../src/generation/blender/mod.rs | 0 .../src/generation/block_predicate.rs | 0 .../src/generation/block_state_provider.rs | 0 .../src/generation/carver/canyon.rs | 0 .../src/generation/carver/cave.rs | 0 .../src/generation/carver/mask.rs | 0 .../src/generation/carver/mod.rs | 0 .../generation/feature/configured_features.rs | 0 .../src/generation/feature/features/bamboo.rs | 0 .../feature/features/basalt_columns.rs | 0 .../feature/features/basalt_pillar.rs | 0 .../feature/features/block_column.rs | 0 .../generation/feature/features/block_pile.rs | 0 .../generation/feature/features/blue_ice.rs | 0 .../feature/features/bonus_chest.rs | 0 .../feature/features/chorus_plant.rs | 0 .../feature/features/coral/coral_claw.rs | 0 .../feature/features/coral/coral_mushroom.rs | 0 .../feature/features/coral/coral_tree.rs | 0 .../generation/feature/features/coral/mod.rs | 0 .../feature/features/delta_feature.rs | 0 .../feature/features/desert_well.rs | 0 .../src/generation/feature/features/disk.rs | 0 .../feature/features/drip_stone/cluster.rs | 0 .../feature/features/drip_stone/large.rs | 0 .../feature/features/drip_stone/mod.rs | 0 .../feature/features/drip_stone/small.rs | 0 .../feature/features/end_gateway.rs | 0 .../generation/feature/features/end_island.rs | 0 .../feature/features/end_platform.rs | 0 .../generation/feature/features/end_spike.rs | 0 .../feature/features/fallen_tree.rs | 0 .../generation/feature/features/fill_layer.rs | 0 .../feature/features/forest_rock.rs | 0 .../src/generation/feature/features/fossil.rs | 0 .../feature/features/freeze_top_layer.rs | 0 .../src/generation/feature/features/geode.rs | 0 .../feature/features/glowstone_blob.rs | 0 .../feature/features/huge_brown_mushroom.rs | 0 .../feature/features/huge_fungus.rs | 0 .../feature/features/huge_red_mushroom.rs | 0 .../generation/feature/features/ice_spike.rs | 0 .../generation/feature/features/iceberg.rs | 0 .../src/generation/feature/features/kelp.rs | 0 .../src/generation/feature/features/lake.rs | 0 .../src/generation/feature/features/mod.rs | 0 .../feature/features/monster_room.rs | 0 .../feature/features/multiface_growth.rs | 0 .../features/nether_forest_vegetation.rs | 0 .../features/netherrack_replace_blobs.rs | 0 .../src/generation/feature/features/ore.rs | 0 .../features/random_boolean_selector.rs | 0 .../feature/features/random_patch.rs | 0 .../feature/features/random_selector.rs | 0 .../feature/features/replace_single_block.rs | 0 .../feature/features/root_system.rs | 0 .../feature/features/scattered_ore.rs | 0 .../feature/features/sculk_patch.rs | 0 .../generation/feature/features/sea_pickle.rs | 0 .../generation/feature/features/seagrass.rs | 0 .../feature/features/simple_block.rs | 0 .../features/simple_random_selector.rs | 0 .../feature/features/spring_feature.rs | 0 .../features/tree/decorator/alter_ground.rs | 0 .../tree/decorator/attached_to_leaves.rs | 0 .../tree/decorator/attached_to_logs.rs | 0 .../features/tree/decorator/beehive.rs | 0 .../feature/features/tree/decorator/cocoa.rs | 0 .../features/tree/decorator/creaking_heart.rs | 0 .../features/tree/decorator/leave_vine.rs | 0 .../feature/features/tree/decorator/mod.rs | 0 .../features/tree/decorator/pale_moss.rs | 0 .../tree/decorator/place_on_ground.rs | 0 .../features/tree/decorator/trunk_vine.rs | 0 .../feature/features/tree/foliage/acacia.rs | 0 .../feature/features/tree/foliage/blob.rs | 0 .../feature/features/tree/foliage/bush.rs | 0 .../feature/features/tree/foliage/cherry.rs | 0 .../feature/features/tree/foliage/dark_oak.rs | 0 .../feature/features/tree/foliage/fancy.rs | 0 .../feature/features/tree/foliage/jungle.rs | 0 .../features/tree/foliage/mega_pine.rs | 0 .../feature/features/tree/foliage/mod.rs | 0 .../feature/features/tree/foliage/pine.rs | 0 .../features/tree/foliage/random_spread.rs | 0 .../feature/features/tree/foliage/spruce.rs | 0 .../generation/feature/features/tree/mod.rs | 0 .../feature/features/tree/root/mangrove.rs | 0 .../feature/features/tree/root/mod.rs | 0 .../feature/features/tree/trunk/bending.rs | 0 .../feature/features/tree/trunk/cherry.rs | 0 .../feature/features/tree/trunk/dark_oak.rs | 0 .../feature/features/tree/trunk/fancy.rs | 0 .../feature/features/tree/trunk/forking.rs | 0 .../feature/features/tree/trunk/giant.rs | 0 .../features/tree/trunk/mega_jungle.rs | 0 .../feature/features/tree/trunk/mod.rs | 0 .../feature/features/tree/trunk/straight.rs | 0 .../features/tree/trunk/upwards_branching.rs | 0 .../feature/features/twisting_vines.rs | 0 .../feature/features/underwater_magma.rs | 0 .../feature/features/vegetation_patch.rs | 0 .../src/generation/feature/features/vines.rs | 0 .../feature/features/void_start_platform.rs | 0 .../features/waterlogged_vegetation_patch.rs | 0 .../feature/features/weeping_vines.rs | 0 .../src/generation/feature/mod.rs | 0 .../src/generation/feature/placed_features.rs | 0 .../src/generation/feature/size.rs | 0 .../src/generation/generator/flat.rs | 0 .../src/generation/generator/mod.rs | 0 .../generation/generator/structure_finder.rs | 0 .../src/generation/height_limit.rs | 0 .../src/generation/height_provider.rs | 0 .../pumpkin-world}/src/generation/mod.rs | 0 .../src/generation/noise/aquifer_sampler.rs | 0 .../src/generation/noise/mod.rs | 0 .../src/generation/noise/ore_sampler.rs | 0 .../src/generation/noise/perlin.rs | 0 .../noise/router/chunk_density_function.rs | 0 .../noise/router/chunk_noise_router.rs | 0 .../router/density_function/beardifier.rs | 0 .../noise/router/density_function/math.rs | 0 .../noise/router/density_function/misc.rs | 0 .../noise/router/density_function/mod.rs | 0 .../noise/router/density_function/noise.rs | 0 .../noise/router/density_function/spline.rs | 0 .../noise/router/density_function/test.rs | 0 .../density_function/test_deserializer.rs | 0 .../noise/router/find_top_surface.rs | 0 .../src/generation/noise/router/mod.rs | 0 .../noise/router/multi_noise_sampler.rs | 0 .../noise/router/proto_noise_router.rs | 0 .../generation/noise/router/static_router.rs | 0 .../noise/router/surface_height_sampler.rs | 0 .../src/generation/positions.rs | 0 .../src/generation/proto_chunk.rs | 8 +- .../src/generation/proto_chunk_test.rs | 0 .../src/generation/rule/block_match.rs | 0 .../src/generation/rule/block_state_match.rs | 0 .../pumpkin-world}/src/generation/rule/mod.rs | 0 .../src/generation/rule/random_block_match.rs | 0 .../rule/random_block_state_match.rs | 0 .../src/generation/rule/tag_match.rs | 0 .../generation/structure/height_sampler.rs | 0 .../src/generation/structure/mod.rs | 0 .../src/generation/structure/piece.rs | 0 .../src/generation/structure/placement.rs | 0 .../generation/structure/shiftable_piece.rs | 0 .../structure/structures/buried_treasure.rs | 0 .../structure/structures/desert_pyramid.rs | 0 .../structure/structures/end_city/layout.rs | 0 .../structure/structures/end_city/mod.rs | 0 .../generation/structure/structures/igloo.rs | 0 .../generation/structure/structures/jigsaw.rs | 32 +- .../structure/structures/jigsaw_placement.rs | 0 .../structure/structures/jungle_temple.rs | 0 .../structure/structures/mansion/grid.rs | 0 .../structure/structures/mansion/mod.rs | 0 .../structure/structures/mansion/placer.rs | 0 .../structure/structures/mineshaft.rs | 0 .../generation/structure/structures/mod.rs | 0 .../structures/nether_fortress/bridge.rs | 0 .../nether_fortress/bridge_crossing.rs | 0 .../structures/nether_fortress/bridge_end.rs | 0 .../nether_fortress/bridge_platform.rs | 0 .../nether_fortress/bridge_small_crossing.rs | 0 .../nether_fortress/bridge_stairs.rs | 0 .../nether_fortress/corridor_balcony.rs | 0 .../nether_fortress/corridor_crossing.rs | 0 .../nether_fortress/corridor_exit.rs | 0 .../nether_fortress/corridor_left_turn.rs | 0 .../corridor_nether_warts_room.rs | 0 .../nether_fortress/corridor_right_turn.rs | 0 .../nether_fortress/corridor_stairs.rs | 0 .../structures/nether_fortress/mod.rs | 0 .../nether_fortress/small_corridor.rs | 0 .../structure/structures/nether_fossil.rs | 0 .../structure/structures/ocean_monument.rs | 0 .../structure/structures/ocean_ruin.rs | 0 .../structure/structures/ruined_portal.rs | 0 .../structure/structures/shipwreck.rs | 0 .../structures/stronghold/chest_corridor.rs | 0 .../structures/stronghold/corridor.rs | 0 .../stronghold/five_way_crossing.rs | 0 .../structures/stronghold/left_turn.rs | 0 .../structures/stronghold/library.rs | 0 .../structure/structures/stronghold/mod.rs | 0 .../structures/stronghold/portal_room.rs | 0 .../structures/stronghold/prison_hall.rs | 0 .../structures/stronghold/right_turn.rs | 0 .../structures/stronghold/spiral_staircase.rs | 0 .../structures/stronghold/square_room.rs | 0 .../structure/structures/stronghold/stairs.rs | 0 .../structure/structures/swamp_hut.rs | 0 .../template/block_state_resolver.rs | 0 .../generation/structure/template/cache.rs | 0 .../src/generation/structure/template/mod.rs | 0 .../structure/template/processor.rs | 0 .../structure/template/structure_template.rs | 0 .../structure/template/template_piece.rs | 0 .../src/generation/surface/mod.rs | 0 .../src/generation/surface/rule.rs | 0 .../src/generation/surface/terrain.rs | 0 .../pumpkin-world}/src/inventory/inventory.rs | 0 .../pumpkin-world}/src/inventory/mod.rs | 0 .../src/inventory/simple_inventory.rs | 0 .../pumpkin-world}/src/level.rs | 2 + .../pumpkin-world}/src/lib.rs | 0 .../pumpkin-world}/src/lighting/engine.rs | 0 .../pumpkin-world}/src/lighting/mod.rs | 0 .../pumpkin-world}/src/lighting/runtime.rs | 84 +-- .../pumpkin-world}/src/lighting/storage.rs | 38 +- .../pumpkin-world}/src/poi/mod.rs | 0 .../pumpkin-world}/src/tick/mod.rs | 0 .../pumpkin-world}/src/tick/scheduler.rs | 2 +- .../pumpkin-world}/src/world.rs | 0 .../pumpkin-world}/src/world_info/anvil.rs | 0 .../src/world_info/data_files.rs | 0 .../pumpkin-world}/src/world_info/mod.rs | 0 {pumpkin => crates/pumpkin}/Cargo.toml | 0 {pumpkin => crates/pumpkin}/build.rs | 0 .../block/blocks/abstract_wall_mounting.rs | 0 .../pumpkin}/src/block/blocks/amethyst.rs | 0 .../pumpkin}/src/block/blocks/anvil.rs | 0 .../pumpkin}/src/block/blocks/banners.rs | 0 .../pumpkin}/src/block/blocks/barrel.rs | 0 .../pumpkin}/src/block/blocks/barrier.rs | 0 .../pumpkin}/src/block/blocks/beacon.rs | 0 .../pumpkin}/src/block/blocks/bed.rs | 0 .../pumpkin}/src/block/blocks/beehive.rs | 0 .../src/block/blocks/blast_furnace.rs | 0 .../src/block/blocks/brewing_stand.rs | 0 .../src/block/blocks/bubble_column.rs | 0 .../pumpkin}/src/block/blocks/cake.rs | 0 .../pumpkin}/src/block/blocks/campfire.rs | 0 .../pumpkin}/src/block/blocks/candle_cakes.rs | 0 .../pumpkin}/src/block/blocks/candles.rs | 0 .../pumpkin}/src/block/blocks/carpet.rs | 0 .../src/block/blocks/carved_pumpkin.rs | 0 .../pumpkin}/src/block/blocks/cauldron.rs | 0 .../pumpkin}/src/block/blocks/chain.rs | 0 .../pumpkin}/src/block/blocks/chests.rs | 0 .../src/block/blocks/chiseled_bookshelf.rs | 0 .../pumpkin}/src/block/blocks/cobweb.rs | 0 .../pumpkin}/src/block/blocks/command.rs | 0 .../pumpkin}/src/block/blocks/composter.rs | 0 .../pumpkin}/src/block/blocks/conduit.rs | 0 .../src/block/blocks/coral/coral_block.rs | 0 .../src/block/blocks/coral/coral_fan.rs | 0 .../src/block/blocks/coral/coral_plant.rs | 0 .../pumpkin}/src/block/blocks/coral/mod.rs | 0 .../src/block/blocks/crafting_table.rs | 0 .../pumpkin}/src/block/blocks/dirt_path.rs | 0 .../pumpkin}/src/block/blocks/doors.rs | 0 .../pumpkin}/src/block/blocks/dragon_egg.rs | 0 .../pumpkin}/src/block/blocks/dripstone.rs | 0 .../src/block/blocks/enchanting_table.rs | 0 .../pumpkin}/src/block/blocks/end_portal.rs | 0 .../src/block/blocks/end_portal_frame.rs | 0 .../pumpkin}/src/block/blocks/end_rod.rs | 0 .../pumpkin}/src/block/blocks/ender_chest.rs | 0 .../pumpkin}/src/block/blocks/falling.rs | 0 .../pumpkin}/src/block/blocks/farmland.rs | 0 .../pumpkin}/src/block/blocks/fence_gates.rs | 0 .../pumpkin}/src/block/blocks/fences.rs | 0 .../pumpkin}/src/block/blocks/fire/fire.rs | 0 .../pumpkin}/src/block/blocks/fire/mod.rs | 0 .../src/block/blocks/fire/soul_fire.rs | 0 .../pumpkin}/src/block/blocks/flower_pots.rs | 0 .../pumpkin}/src/block/blocks/furnace.rs | 0 .../pumpkin}/src/block/blocks/glass_panes.rs | 0 .../src/block/blocks/glazed_terracotta.rs | 0 .../pumpkin}/src/block/blocks/grass_block.rs | 0 .../pumpkin}/src/block/blocks/grindstone.rs | 0 .../pumpkin}/src/block/blocks/hay.rs | 0 .../pumpkin}/src/block/blocks/hopper.rs | 0 .../pumpkin}/src/block/blocks/infested.rs | 0 .../pumpkin}/src/block/blocks/iron_bars.rs | 0 .../pumpkin}/src/block/blocks/jigsaw.rs | 0 .../pumpkin}/src/block/blocks/jukebox.rs | 0 .../pumpkin}/src/block/blocks/ladder.rs | 0 .../pumpkin}/src/block/blocks/lanterns.rs | 0 .../pumpkin}/src/block/blocks/lectern.rs | 0 .../pumpkin}/src/block/blocks/logs.rs | 0 .../pumpkin}/src/block/blocks/magma.rs | 0 .../src/block/blocks/mangrove_roots.rs | 0 .../pumpkin}/src/block/blocks/mod.rs | 0 .../src/block/blocks/nether_portal.rs | 0 .../pumpkin}/src/block/blocks/note.rs | 0 .../pumpkin}/src/block/blocks/piston/mod.rs | 0 .../src/block/blocks/piston/piston.rs | 0 .../block/blocks/piston/piston_extension.rs | 0 .../src/block/blocks/piston/piston_head.rs | 0 .../pumpkin}/src/block/blocks/plant/bamboo.rs | 0 .../src/block/blocks/plant/bamboo_sapling.rs | 0 .../src/block/blocks/plant/big_dripleaf.rs | 0 .../block/blocks/plant/big_dripleaf_stem.rs | 0 .../pumpkin}/src/block/blocks/plant/bush.rs | 0 .../pumpkin}/src/block/blocks/plant/cactus.rs | 0 .../src/block/blocks/plant/cactus_flower.rs | 0 .../src/block/blocks/plant/chorus_flower.rs | 0 .../src/block/blocks/plant/chorus_plant.rs | 0 .../src/block/blocks/plant/crop/beetroot.rs | 0 .../src/block/blocks/plant/crop/carrot.rs | 0 .../blocks/plant/crop/gourds/attached_stem.rs | 0 .../src/block/blocks/plant/crop/gourds/mod.rs | 0 .../block/blocks/plant/crop/gourds/stem.rs | 0 .../src/block/blocks/plant/crop/mod.rs | 0 .../block/blocks/plant/crop/nether_wart.rs | 0 .../src/block/blocks/plant/crop/potatoes.rs | 0 .../blocks/plant/crop/sweet_berry_bush.rs | 0 .../block/blocks/plant/crop/torch_flower.rs | 0 .../src/block/blocks/plant/crop/wheat.rs | 0 .../src/block/blocks/plant/dry_vegetation.rs | 0 .../pumpkin}/src/block/blocks/plant/flower.rs | 0 .../src/block/blocks/plant/flowerbed.rs | 0 .../pumpkin}/src/block/blocks/plant/fungus.rs | 0 .../pumpkin}/src/block/blocks/plant/kelp.rs | 0 .../src/block/blocks/plant/leaf_litter.rs | 0 .../src/block/blocks/plant/lily_pad.rs | 0 .../pumpkin}/src/block/blocks/plant/mod.rs | 0 .../src/block/blocks/plant/mushroom_plant.rs | 0 .../src/block/blocks/plant/nether_sprouts.rs | 0 .../pumpkin}/src/block/blocks/plant/roots.rs | 0 .../src/block/blocks/plant/sapling.rs | 0 .../src/block/blocks/plant/sea_pickles.rs | 0 .../src/block/blocks/plant/seagrass.rs | 0 .../src/block/blocks/plant/segmented.rs | 0 .../src/block/blocks/plant/short_plant.rs | 0 .../src/block/blocks/plant/small_dripleaf.rs | 0 .../src/block/blocks/plant/spore_blossom.rs | 0 .../src/block/blocks/plant/sugar_cane.rs | 0 .../src/block/blocks/plant/tall_plant.rs | 0 .../src/block/blocks/plant/tall_seagrass.rs | 0 .../src/block/blocks/plant/twisting_vines.rs | 0 .../src/block/blocks/plant/weeping_vines.rs | 0 .../src/block/blocks/plant/wither_rose.rs | 0 .../pumpkin}/src/block/blocks/powder_snow.rs | 0 .../pumpkin}/src/block/blocks/pumpkin.rs | 0 .../blocks/redstone/abstract_redstone_gate.rs | 0 .../src/block/blocks/redstone/bell.rs | 0 .../src/block/blocks/redstone/buttons.rs | 0 .../src/block/blocks/redstone/comparator.rs | 0 .../src/block/blocks/redstone/copper_bulb.rs | 0 .../src/block/blocks/redstone/crafter.rs | 0 .../blocks/redstone/daylight_detector.rs | 0 .../src/block/blocks/redstone/dispenser.rs | 0 .../src/block/blocks/redstone/dropper.rs | 0 .../src/block/blocks/redstone/lever.rs | 0 .../block/blocks/redstone/lightning_rod.rs | 0 .../pumpkin}/src/block/blocks/redstone/mod.rs | 0 .../src/block/blocks/redstone/observer.rs | 0 .../blocks/redstone/pressure_plate/mod.rs | 0 .../blocks/redstone/pressure_plate/plate.rs | 0 .../blocks/redstone/pressure_plate/tests.rs | 0 .../redstone/pressure_plate/weighted.rs | 0 .../blocks/redstone/rails/activator_rail.rs | 0 .../src/block/blocks/redstone/rails/common.rs | 0 .../blocks/redstone/rails/detector_rail.rs | 0 .../src/block/blocks/redstone/rails/mod.rs | 0 .../blocks/redstone/rails/powered_rail.rs | 0 .../src/block/blocks/redstone/rails/rail.rs | 0 .../block/blocks/redstone/redstone_block.rs | 0 .../block/blocks/redstone/redstone_lamp.rs | 0 .../src/block/blocks/redstone/redstone_ore.rs | 0 .../block/blocks/redstone/redstone_torch.rs | 0 .../block/blocks/redstone/redstone_wire.rs | 0 .../src/block/blocks/redstone/repeater.rs | 0 .../src/block/blocks/redstone/sculk_sensor.rs | 0 .../src/block/blocks/redstone/target_block.rs | 0 .../src/block/blocks/redstone/tripwire.rs | 0 .../block/blocks/redstone/tripwire_hook.rs | 0 .../src/block/blocks/redstone/turbo.rs | 0 .../pumpkin}/src/block/blocks/shelf.rs | 0 .../pumpkin}/src/block/blocks/shulker_box.rs | 0 .../pumpkin}/src/block/blocks/signs.rs | 0 .../pumpkin}/src/block/blocks/skull_block.rs | 0 .../pumpkin}/src/block/blocks/slabs.rs | 0 .../pumpkin}/src/block/blocks/slime.rs | 0 .../pumpkin}/src/block/blocks/smoker.rs | 0 .../pumpkin}/src/block/blocks/snow.rs | 0 .../pumpkin}/src/block/blocks/spawner.rs | 0 .../pumpkin}/src/block/blocks/sponge.rs | 0 .../pumpkin}/src/block/blocks/stairs.rs | 0 .../pumpkin}/src/block/blocks/stonecutter.rs | 0 .../pumpkin}/src/block/blocks/tnt.rs | 0 .../pumpkin}/src/block/blocks/torches.rs | 0 .../pumpkin}/src/block/blocks/trapdoor.rs | 0 .../pumpkin}/src/block/blocks/vine.rs | 0 .../pumpkin}/src/block/blocks/walls.rs | 0 .../pumpkin}/src/block/blocks/wither_skull.rs | 0 .../pumpkin}/src/block/entities/banner.rs | 0 .../pumpkin}/src/block/entities/barrel.rs | 0 .../pumpkin}/src/block/entities/beacon.rs | 0 .../pumpkin}/src/block/entities/bed.rs | 0 .../pumpkin}/src/block/entities/beehive.rs | 0 .../pumpkin}/src/block/entities/bell.rs | 0 .../src/block/entities/blasting_furnace.rs | 0 .../src/block/entities/brewing_stand.rs | 0 .../src/block/entities/brushable_block.rs | 0 .../block/entities/calibrated_sculk_sensor.rs | 0 .../pumpkin}/src/block/entities/campfire.rs | 0 .../pumpkin}/src/block/entities/chest.rs | 0 .../block/entities/chest_like_block_entity.rs | 0 .../src/block/entities/chiseled_bookshelf.rs | 0 .../src/block/entities/command_block.rs | 0 .../pumpkin}/src/block/entities/comparator.rs | 0 .../pumpkin}/src/block/entities/conduit.rs | 0 .../src/block/entities/copper_golem_statue.rs | 0 .../pumpkin}/src/block/entities/crafter.rs | 0 .../src/block/entities/creaking_heart.rs | 0 .../src/block/entities/daylight_detector.rs | 0 .../src/block/entities/decorated_pot.rs | 0 .../pumpkin}/src/block/entities/dispenser.rs | 0 .../pumpkin}/src/block/entities/dropper.rs | 0 .../src/block/entities/enchanting_table.rs | 0 .../src/block/entities/end_gateway.rs | 0 .../pumpkin}/src/block/entities/end_portal.rs | 0 .../src/block/entities/ender_chest.rs | 0 .../pumpkin}/src/block/entities/furnace.rs | 0 .../entities/furnace_like_block_entity.rs | 0 .../src/block/entities/hanging_sign.rs | 0 .../pumpkin}/src/block/entities/hopper.rs | 0 .../src/block/entities/jigsaw_block.rs | 0 .../pumpkin}/src/block/entities/jukebox.rs | 0 .../pumpkin}/src/block/entities/lectern.rs | 0 .../src/block/entities/mob_spawner.rs | 0 .../pumpkin}/src/block/entities/mod.rs | 2 +- .../pumpkin}/src/block/entities/piston.rs | 0 .../src/block/entities/potent_sulfur.rs | 0 .../src/block/entities/sculk_catalyst.rs | 0 .../src/block/entities/sculk_sensor.rs | 0 .../src/block/entities/sculk_shrieker.rs | 0 .../pumpkin}/src/block/entities/shelf.rs | 0 .../src/block/entities/shulker_box.rs | 0 .../pumpkin}/src/block/entities/sign.rs | 0 .../pumpkin}/src/block/entities/skull.rs | 0 .../pumpkin}/src/block/entities/smoker.rs | 0 .../src/block/entities/structure_block.rs | 0 .../pumpkin}/src/block/entities/test_block.rs | 0 .../src/block/entities/test_instance_block.rs | 0 .../src/block/entities/trapped_chest.rs | 0 .../src/block/entities/trial_spawner.rs | 0 .../pumpkin}/src/block/entities/vault.rs | 0 .../pumpkin}/src/block/fluid/flowing_trait.rs | 0 .../pumpkin}/src/block/fluid/lava.rs | 0 .../pumpkin}/src/block/fluid/mod.rs | 0 .../pumpkin}/src/block/fluid/pathfinder.rs | 0 .../pumpkin}/src/block/fluid/physics.rs | 0 .../pumpkin}/src/block/fluid/water.rs | 0 {pumpkin => crates/pumpkin}/src/block/mod.rs | 0 .../pumpkin}/src/block/registry.rs | 0 .../pumpkin}/src/block/viewer.rs | 0 .../pumpkin}/src/command/args/block.rs | 0 .../pumpkin}/src/command/args/bool.rs | 0 .../src/command/args/bossbar_color.rs | 0 .../src/command/args/bossbar_style.rs | 0 .../pumpkin}/src/command/args/bounded_num.rs | 0 .../pumpkin}/src/command/args/command.rs | 0 .../pumpkin}/src/command/args/coordinate.rs | 0 .../pumpkin}/src/command/args/difficulty.rs | 0 .../pumpkin}/src/command/args/entities.rs | 2 +- .../pumpkin}/src/command/args/entity.rs | 2 +- .../src/command/args/entity_anchor.rs | 0 .../pumpkin}/src/command/args/gamemode.rs | 0 .../pumpkin}/src/command/args/gameprofile.rs | 0 .../pumpkin}/src/command/args/message.rs | 0 .../pumpkin}/src/command/args/mod.rs | 4 +- .../pumpkin}/src/command/args/players.rs | 0 .../pumpkin}/src/command/args/position_2d.rs | 0 .../pumpkin}/src/command/args/position_3d.rs | 0 .../src/command/args/position_block.rs | 0 .../src/command/args/resource/damage_type.rs | 0 .../src/command/args/resource/effect.rs | 0 .../src/command/args/resource/enchantment.rs | 0 .../src/command/args/resource/item.rs | 0 .../pumpkin}/src/command/args/resource/mod.rs | 0 .../src/command/args/resource/particle.rs | 0 .../src/command/args/resource_location.rs | 0 .../pumpkin}/src/command/args/rotation.rs | 0 .../pumpkin}/src/command/args/simple.rs | 0 .../pumpkin}/src/command/args/slot.rs | 0 .../pumpkin}/src/command/args/sound.rs | 0 .../src/command/args/sound_category.rs | 0 .../src/command/args/summonable_entities.rs | 0 .../src/command/args/textcomponent.rs | 0 .../pumpkin}/src/command/args/time.rs | 0 .../pumpkin}/src/command/argument_builder.rs | 2 +- .../command/argument_types/argument_type.rs | 0 .../src/command/argument_types/attribute.rs | 0 .../src/command/argument_types/block.rs | 0 .../argument_types/coordinates/block_pos.rs | 0 .../argument_types/coordinates/column_pos.rs | 0 .../command/argument_types/coordinates/mod.rs | 8 +- .../argument_types/coordinates/rotation.rs | 2 +- .../argument_types/coordinates/vec3.rs | 0 .../src/command/argument_types/core/bool.rs | 0 .../src/command/argument_types/core/double.rs | 0 .../src/command/argument_types/core/float.rs | 0 .../command/argument_types/core/integer.rs | 0 .../src/command/argument_types/core/long.rs | 0 .../src/command/argument_types/core/mod.rs | 0 .../src/command/argument_types/core/string.rs | 0 .../src/command/argument_types/dialog.rs | 0 .../src/command/argument_types/entity.rs | 0 .../command/argument_types/entity_anchor.rs | 0 .../argument_types/entity_selector/mod.rs | 0 .../argument_types/entity_selector/option.rs | 0 .../argument_types/entity_selector/parser.rs | 0 .../command/argument_types/game_profile.rs | 0 .../src/command/argument_types/gamemode.rs | 0 .../src/command/argument_types/hex_color.rs | 0 .../src/command/argument_types/identifier.rs | 0 .../src/command/argument_types/mod.rs | 2 +- .../src/command/argument_types/nbt.rs | 0 .../src/command/argument_types/objective.rs | 0 .../command/argument_types/placed_feature.rs | 0 .../src/command/argument_types/pool.rs | 0 .../src/command/argument_types/range.rs | 0 .../command/argument_types/resource_key.rs | 2 +- .../src/command/argument_types/slot.rs | 0 .../src/command/argument_types/structure.rs | 0 .../src/command/argument_types/team.rs | 0 .../src/command/argument_types/team_color.rs | 0 .../src/command/argument_types/template.rs | 0 .../src/command/argument_types/time.rs | 0 .../src/command/argument_types/uuid.rs | 0 .../src/command/client_suggestions.rs | 0 .../src/command/commands/advancement.rs | 0 .../src/command/commands/attribute.rs | 0 .../pumpkin}/src/command/commands/ban.rs | 0 .../pumpkin}/src/command/commands/banip.rs | 13 +- .../pumpkin}/src/command/commands/banlist.rs | 0 .../pumpkin}/src/command/commands/bossbar.rs | 0 .../pumpkin}/src/command/commands/clear.rs | 0 .../pumpkin}/src/command/commands/clone.rs | 0 .../pumpkin}/src/command/commands/damage.rs | 0 .../pumpkin}/src/command/commands/data.rs | 0 .../src/command/commands/defaultgamemode.rs | 0 .../pumpkin}/src/command/commands/deop.rs | 0 .../pumpkin}/src/command/commands/dialog.rs | 0 .../src/command/commands/difficulty.rs | 0 .../pumpkin}/src/command/commands/effect.rs | 0 .../pumpkin}/src/command/commands/enchant.rs | 0 .../pumpkin}/src/command/commands/execute.rs | 0 .../src/command/commands/experience.rs | 0 .../pumpkin}/src/command/commands/fill.rs | 0 .../src/command/commands/fillbiome.rs | 0 .../src/command/commands/forceload.rs | 0 .../pumpkin}/src/command/commands/gamemode.rs | 0 .../pumpkin}/src/command/commands/gamerule.rs | 0 .../pumpkin}/src/command/commands/give.rs | 16 +- .../pumpkin}/src/command/commands/help.rs | 0 .../pumpkin}/src/command/commands/item.rs | 0 .../pumpkin}/src/command/commands/kick.rs | 2 +- .../pumpkin}/src/command/commands/kill.rs | 0 .../pumpkin}/src/command/commands/list.rs | 0 .../pumpkin}/src/command/commands/loot.rs | 0 .../pumpkin}/src/command/commands/me.rs | 0 .../pumpkin}/src/command/commands/mod.rs | 0 .../pumpkin}/src/command/commands/msg.rs | 0 .../pumpkin}/src/command/commands/op.rs | 0 .../pumpkin}/src/command/commands/pardon.rs | 0 .../pumpkin}/src/command/commands/pardonip.rs | 0 .../pumpkin}/src/command/commands/particle.rs | 0 .../pumpkin}/src/command/commands/place.rs | 0 .../src/command/commands/playsound.rs | 0 .../pumpkin}/src/command/commands/plugin.rs | 0 .../pumpkin}/src/command/commands/plugins.rs | 0 .../pumpkin}/src/command/commands/pumpkin.rs | 0 .../pumpkin}/src/command/commands/random.rs | 0 .../pumpkin}/src/command/commands/recipe.rs | 0 .../pumpkin}/src/command/commands/ride.rs | 0 .../pumpkin}/src/command/commands/rotate.rs | 0 .../pumpkin}/src/command/commands/saveall.rs | 0 .../pumpkin}/src/command/commands/saveoff.rs | 0 .../pumpkin}/src/command/commands/saveon.rs | 0 .../pumpkin}/src/command/commands/say.rs | 0 .../src/command/commands/scoreboard.rs | 0 .../pumpkin}/src/command/commands/seed.rs | 0 .../pumpkin}/src/command/commands/setblock.rs | 0 .../src/command/commands/setidletimeout.rs | 0 .../src/command/commands/setworldspawn.rs | 0 .../src/command/commands/spawnpoint.rs | 0 .../pumpkin}/src/command/commands/spectate.rs | 0 .../src/command/commands/spreadplayers.rs | 0 .../pumpkin}/src/command/commands/stop.rs | 0 .../src/command/commands/stopsound.rs | 0 .../pumpkin}/src/command/commands/summon.rs | 0 .../pumpkin}/src/command/commands/tag.rs | 0 .../pumpkin}/src/command/commands/team.rs | 0 .../pumpkin}/src/command/commands/teammsg.rs | 0 .../pumpkin}/src/command/commands/teleport.rs | 0 .../pumpkin}/src/command/commands/tellraw.rs | 0 .../pumpkin}/src/command/commands/tick.rs | 0 .../pumpkin}/src/command/commands/time.rs | 0 .../pumpkin}/src/command/commands/title.rs | 0 .../pumpkin}/src/command/commands/tps.rs | 0 .../pumpkin}/src/command/commands/transfer.rs | 0 .../pumpkin}/src/command/commands/trigger.rs | 0 .../pumpkin}/src/command/commands/weather.rs | 0 .../src/command/commands/whitelist.rs | 0 .../src/command/commands/worldborder.rs | 0 .../src/command/context/command_context.rs | 0 .../src/command/context/command_source.rs | 0 .../pumpkin}/src/command/context/mod.rs | 0 .../src/command/context/string_range.rs | 0 .../pumpkin}/src/command/dispatcher.rs | 2 +- .../command/errors/command_syntax_error.rs | 0 .../src/command/errors/error_types.rs | 0 .../pumpkin}/src/command/errors/mod.rs | 0 .../pumpkin}/src/command/mod.rs | 0 .../pumpkin}/src/command/node/attached.rs | 18 +- .../pumpkin}/src/command/node/detached.rs | 6 +- .../pumpkin}/src/command/node/dispatcher.rs | 0 .../pumpkin}/src/command/node/mod.rs | 0 .../pumpkin}/src/command/node/tree.rs | 0 .../pumpkin}/src/command/parser.rs | 2 +- .../pumpkin}/src/command/snbt/markers.rs | 0 .../pumpkin}/src/command/snbt/mod.rs | 0 .../pumpkin}/src/command/snbt/operations.rs | 0 .../pumpkin}/src/command/snbt/rules.rs | 0 .../pumpkin}/src/command/snbt/tests.rs | 0 .../pumpkin}/src/command/string_reader.rs | 0 .../pumpkin}/src/command/suggestion/mod.rs | 6 +- .../src/command/suggestion/provider.rs | 0 .../src/command/suggestion/suggestions.rs | 0 .../pumpkin}/src/command/tree/builder.rs | 12 +- .../pumpkin}/src/command/tree/format.rs | 0 .../pumpkin}/src/command/tree/mod.rs | 2 +- {pumpkin => crates/pumpkin}/src/crash.rs | 0 .../pumpkin}/src/data/advancement_data.rs | 0 .../pumpkin}/src/data/banlist_serializer.rs | 0 .../pumpkin}/src/data/banned_ip.rs | 0 .../pumpkin}/src/data/banned_player.rs | 0 {pumpkin => crates/pumpkin}/src/data/mod.rs | 0 {pumpkin => crates/pumpkin}/src/data/op.rs | 0 .../pumpkin}/src/data/player_server.rs | 0 .../pumpkin}/src/data/usercache.rs | 0 .../pumpkin}/src/data/whitelist.rs | 0 .../pumpkin}/src/entity/ageable.rs | 0 .../src/entity/ai/control/look_control.rs | 0 .../pumpkin}/src/entity/ai/control/mod.rs | 0 .../src/entity/ai/control/move_control.rs | 0 .../src/entity/ai/goal/active_target.rs | 0 .../src/entity/ai/goal/ambient_stand.rs | 0 .../src/entity/ai/goal/avoid_entity.rs | 0 .../pumpkin}/src/entity/ai/goal/beg.rs | 0 .../src/entity/ai/goal/blaze_attack.rs | 0 .../pumpkin}/src/entity/ai/goal/breed.rs | 0 .../src/entity/ai/goal/chase_player.rs | 0 .../src/entity/ai/goal/creeper_ignite.rs | 0 .../src/entity/ai/goal/destroy_egg.rs | 7 +- .../pumpkin}/src/entity/ai/goal/eat_grass.rs | 0 .../src/entity/ai/goal/escape_danger.rs | 0 .../src/entity/ai/goal/follow_owner.rs | 0 .../src/entity/ai/goal/follow_parent.rs | 0 .../src/entity/ai/goal/goal_selector.rs | 0 .../src/entity/ai/goal/look_around.rs | 0 .../src/entity/ai/goal/look_at_entity.rs | 0 .../src/entity/ai/goal/melee_attack.rs | 0 .../pumpkin}/src/entity/ai/goal/mod.rs | 4 +- .../src/entity/ai/goal/move_to_target_pos.rs | 0 .../entity/ai/goal/owner_hurt_by_target.rs | 0 .../src/entity/ai/goal/owner_hurt_target.rs | 0 .../src/entity/ai/goal/pick_up_block.rs | 0 .../src/entity/ai/goal/place_block.rs | 0 .../pumpkin}/src/entity/ai/goal/revenge.rs | 0 .../entity/ai/goal/step_and_destroy_block.rs | 0 .../pumpkin}/src/entity/ai/goal/swim.rs | 0 .../entity/ai/goal/teleport_towards_player.rs | 0 .../pumpkin}/src/entity/ai/goal/tempt.rs | 0 .../src/entity/ai/goal/track_target.rs | 0 .../src/entity/ai/goal/wander_around.rs | 0 .../src/entity/ai/goal/zombie_attack.rs | 0 .../pumpkin}/src/entity/ai/mod.rs | 0 .../src/entity/ai/pathfinder/binary_heap.rs | 0 .../pumpkin}/src/entity/ai/pathfinder/mod.rs | 0 .../pumpkin}/src/entity/ai/pathfinder/node.rs | 0 .../entity/ai/pathfinder/node_evaluator.rs | 0 .../pumpkin}/src/entity/ai/pathfinder/path.rs | 0 .../entity/ai/pathfinder/path_type_cache.rs | 0 .../ai/pathfinder/pathfinding_context.rs | 0 .../ai/pathfinder/walk_node_evaluator.rs | 0 .../src/entity/ai/target_predicate.rs | 0 .../pumpkin}/src/entity/area_effect_cloud.rs | 0 .../pumpkin}/src/entity/attributes.rs | 0 .../pumpkin}/src/entity/boss/ender_dragon.rs | 0 .../boss/ender_dragon/flight_history.rs | 0 .../boss/ender_dragon/phase/charging.rs | 0 .../boss/ender_dragon/phase/circling.rs | 0 .../entity/boss/ender_dragon/phase/dying.rs | 0 .../boss/ender_dragon/phase/fly_to_portal.rs | 0 .../boss/ender_dragon/phase/hovering.rs | 0 .../entity/boss/ender_dragon/phase/landing.rs | 0 .../ender_dragon/phase/landing_approach.rs | 0 .../src/entity/boss/ender_dragon/phase/mod.rs | 0 .../boss/ender_dragon/phase/sit_attacking.rs | 0 .../boss/ender_dragon/phase/sit_breathing.rs | 0 .../boss/ender_dragon/phase/strafing.rs | 0 .../boss/ender_dragon/phase/taking_off.rs | 0 .../pumpkin}/src/entity/boss/mod.rs | 0 .../pumpkin}/src/entity/boss/wither.rs | 0 .../pumpkin}/src/entity/breath.rs | 0 .../pumpkin}/src/entity/combat.rs | 0 .../src/entity/decoration/armor_stand.rs | 0 .../src/entity/decoration/end_crystal.rs | 0 .../src/entity/decoration/item_frame.rs | 0 .../src/entity/decoration/leash_knot.rs | 0 .../pumpkin}/src/entity/decoration/mod.rs | 0 .../src/entity/decoration/painting.rs | 0 .../pumpkin}/src/entity/effect/mod.rs | 0 .../pumpkin}/src/entity/experience_orb.rs | 0 .../pumpkin}/src/entity/falling.rs | 0 .../pumpkin}/src/entity/hunger.rs | 0 .../pumpkin}/src/entity/item.rs | 0 .../pumpkin}/src/entity/living.rs | 0 .../pumpkin}/src/entity/mob/bat.rs | 0 .../pumpkin}/src/entity/mob/blaze.rs | 0 .../pumpkin}/src/entity/mob/breeze.rs | 0 .../pumpkin}/src/entity/mob/cave_spider.rs | 0 .../pumpkin}/src/entity/mob/creaking.rs | 0 .../pumpkin}/src/entity/mob/creeper.rs | 0 .../pumpkin}/src/entity/mob/elder_guardian.rs | 0 .../pumpkin}/src/entity/mob/enderman.rs | 0 .../pumpkin}/src/entity/mob/endermite.rs | 0 .../pumpkin}/src/entity/mob/equipment.rs | 0 .../pumpkin}/src/entity/mob/evoker.rs | 0 .../pumpkin}/src/entity/mob/ghast.rs | 0 .../pumpkin}/src/entity/mob/giant.rs | 0 .../pumpkin}/src/entity/mob/guardian.rs | 0 .../pumpkin}/src/entity/mob/hoglin.rs | 0 .../pumpkin}/src/entity/mob/illusioner.rs | 0 .../pumpkin}/src/entity/mob/magma_cube.rs | 0 .../pumpkin}/src/entity/mob/mod.rs | 0 .../pumpkin}/src/entity/mob/phantom.rs | 0 .../pumpkin}/src/entity/mob/piglin.rs | 0 .../pumpkin}/src/entity/mob/piglin_brute.rs | 0 .../pumpkin}/src/entity/mob/pillager.rs | 0 .../pumpkin}/src/entity/mob/ravager.rs | 0 .../pumpkin}/src/entity/mob/shulker.rs | 0 .../pumpkin}/src/entity/mob/silverfish.rs | 0 .../src/entity/mob/skeleton/bogged.rs | 0 .../pumpkin}/src/entity/mob/skeleton/mod.rs | 0 .../src/entity/mob/skeleton/parched.rs | 0 .../src/entity/mob/skeleton/skeleton.rs | 0 .../pumpkin}/src/entity/mob/skeleton/stray.rs | 0 .../src/entity/mob/skeleton/wither.rs | 0 .../pumpkin}/src/entity/mob/slime.rs | 0 .../pumpkin}/src/entity/mob/spider.rs | 0 .../pumpkin}/src/entity/mob/vex.rs | 0 .../pumpkin}/src/entity/mob/vindicator.rs | 0 .../pumpkin}/src/entity/mob/warden.rs | 0 .../pumpkin}/src/entity/mob/witch.rs | 0 .../pumpkin}/src/entity/mob/zoglin.rs | 0 .../pumpkin}/src/entity/mob/zombie/drowned.rs | 0 .../pumpkin}/src/entity/mob/zombie/husk.rs | 0 .../pumpkin}/src/entity/mob/zombie/mod.rs | 0 .../pumpkin}/src/entity/mob/zombie/zombie.rs | 0 .../src/entity/mob/zombie/zombie_villager.rs | 0 .../src/entity/mob/zombified_piglin.rs | 0 {pumpkin => crates/pumpkin}/src/entity/mod.rs | 0 .../pumpkin}/src/entity/passive/allay.rs | 0 .../pumpkin}/src/entity/passive/animal.rs | 0 .../pumpkin}/src/entity/passive/armadillo.rs | 0 .../pumpkin}/src/entity/passive/axolotl.rs | 0 .../pumpkin}/src/entity/passive/bee.rs | 0 .../pumpkin}/src/entity/passive/camel.rs | 0 .../pumpkin}/src/entity/passive/cat.rs | 0 .../pumpkin}/src/entity/passive/chicken.rs | 0 .../pumpkin}/src/entity/passive/cod.rs | 0 .../pumpkin}/src/entity/passive/cow.rs | 0 .../pumpkin}/src/entity/passive/dolphin.rs | 0 .../pumpkin}/src/entity/passive/donkey.rs | 0 .../pumpkin}/src/entity/passive/fox.rs | 0 .../pumpkin}/src/entity/passive/frog.rs | 0 .../pumpkin}/src/entity/passive/glow_squid.rs | 0 .../pumpkin}/src/entity/passive/goat.rs | 0 .../pumpkin}/src/entity/passive/horse.rs | 0 .../pumpkin}/src/entity/passive/iron_golem.rs | 0 .../pumpkin}/src/entity/passive/llama.rs | 0 .../pumpkin}/src/entity/passive/mod.rs | 0 .../pumpkin}/src/entity/passive/mooshroom.rs | 0 .../pumpkin}/src/entity/passive/mule.rs | 0 .../pumpkin}/src/entity/passive/ocelot.rs | 0 .../pumpkin}/src/entity/passive/panda.rs | 0 .../pumpkin}/src/entity/passive/parrot.rs | 0 .../pumpkin}/src/entity/passive/pig.rs | 0 .../pumpkin}/src/entity/passive/polar_bear.rs | 0 .../pumpkin}/src/entity/passive/pufferfish.rs | 0 .../pumpkin}/src/entity/passive/rabbit.rs | 0 .../pumpkin}/src/entity/passive/salmon.rs | 0 .../pumpkin}/src/entity/passive/sheep.rs | 0 .../src/entity/passive/skeleton_horse.rs | 0 .../pumpkin}/src/entity/passive/sniffer.rs | 0 .../pumpkin}/src/entity/passive/snow_golem.rs | 0 .../pumpkin}/src/entity/passive/squid.rs | 0 .../pumpkin}/src/entity/passive/strider.rs | 0 .../pumpkin}/src/entity/passive/tadpole.rs | 0 .../src/entity/passive/trader_llama.rs | 0 .../src/entity/passive/tropical_fish.rs | 0 .../pumpkin}/src/entity/passive/turtle.rs | 0 .../src/entity/passive/villager/data.rs | 0 .../src/entity/passive/villager/mod.rs | 6 +- .../src/entity/passive/wandering_trader.rs | 0 .../pumpkin}/src/entity/passive/wolf.rs | 0 .../src/entity/passive/zombie_horse.rs | 0 .../pumpkin}/src/entity/player.rs | 8 +- .../pumpkin}/src/entity/player/advancement.rs | 0 .../src/entity/player/advancement/trigger.rs | 0 .../advancement/visibility_evaluator.rs | 0 .../pumpkin}/src/entity/player/statistics.rs | 0 .../pumpkin}/src/entity/predicate/mod.rs | 0 .../pumpkin}/src/entity/projectile/arrow.rs | 0 .../pumpkin}/src/entity/projectile/egg.rs | 0 .../src/entity/projectile/ender_pearl.rs | 0 .../src/entity/projectile/eye_of_ender.rs | 0 .../src/entity/projectile/fireball.rs | 0 .../src/entity/projectile/firework_rocket.rs | 0 .../src/entity/projectile/fishing_bobber.rs | 0 .../src/entity/projectile/lingering_potion.rs | 0 .../pumpkin}/src/entity/projectile/mod.rs | 0 .../src/entity/projectile/shulker_bullet.rs | 0 .../src/entity/projectile/small_fireball.rs | 0 .../src/entity/projectile/snowball.rs | 0 .../src/entity/projectile/splash_potion.rs | 0 .../pumpkin}/src/entity/projectile/trident.rs | 0 .../src/entity/projectile/wind_charge.rs | 0 .../src/entity/projectile_deflection.rs | 0 {pumpkin => crates/pumpkin}/src/entity/tnt.rs | 0 .../pumpkin}/src/entity/type.rs | 0 .../pumpkin}/src/entity/vehicle/boat.rs | 0 .../pumpkin}/src/entity/vehicle/minecart.rs | 0 .../pumpkin}/src/entity/vehicle/mod.rs | 0 .../pumpkin}/src/entity/vehicle/vehicle.rs | 0 {pumpkin => crates/pumpkin}/src/error.rs | 0 .../pumpkin}/src/item/items/armor_stand.rs | 0 .../pumpkin}/src/item/items/arrow.rs | 0 .../pumpkin}/src/item/items/axe.rs | 0 .../pumpkin}/src/item/items/boat.rs | 0 .../pumpkin}/src/item/items/bow.rs | 0 .../pumpkin}/src/item/items/bucket.rs | 0 .../pumpkin}/src/item/items/bundle.rs | 0 .../pumpkin}/src/item/items/crossbow.rs | 0 .../pumpkin}/src/item/items/dye.rs | 0 .../pumpkin}/src/item/items/egg.rs | 0 .../pumpkin}/src/item/items/end_crystal.rs | 0 .../pumpkin}/src/item/items/ender_eye.rs | 0 .../pumpkin}/src/item/items/ender_pearl.rs | 0 .../src/item/items/firework_rocket.rs | 0 .../pumpkin}/src/item/items/fishing_rod.rs | 0 .../src/item/items/glowing_ink_sac.rs | 0 .../pumpkin}/src/item/items/hoe.rs | 0 .../pumpkin}/src/item/items/honeycomb.rs | 0 .../src/item/items/ignite/fire_charge.rs | 0 .../src/item/items/ignite/flint_and_steel.rs | 0 .../src/item/items/ignite/ignition.rs | 0 .../pumpkin}/src/item/items/ignite/mod.rs | 0 .../pumpkin}/src/item/items/ink_sac.rs | 0 .../pumpkin}/src/item/items/lead.rs | 0 .../pumpkin}/src/item/items/mace.rs | 0 .../pumpkin}/src/item/items/map.rs | 0 .../pumpkin}/src/item/items/minecart.rs | 0 .../pumpkin}/src/item/items/mod.rs | 0 .../pumpkin}/src/item/items/name_tag.rs | 0 .../pumpkin}/src/item/items/potions.rs | 0 .../pumpkin}/src/item/items/shovel.rs | 0 .../pumpkin}/src/item/items/snowball.rs | 0 .../pumpkin}/src/item/items/spawn_egg.rs | 0 .../pumpkin}/src/item/items/swords.rs | 0 .../pumpkin}/src/item/items/trident.rs | 0 .../pumpkin}/src/item/items/wind_charge.rs | 0 {pumpkin => crates/pumpkin}/src/item/mod.rs | 0 .../pumpkin}/src/item/potion.rs | 0 .../pumpkin}/src/item/registry.rs | 0 {pumpkin => crates/pumpkin}/src/lib.rs | 19 +- {pumpkin => crates/pumpkin}/src/logging.rs | 0 {pumpkin => crates/pumpkin}/src/main.rs | 0 .../pumpkin}/src/net/authentication.rs | 0 .../pumpkin}/src/net/bedrock/connection.rs | 0 .../pumpkin}/src/net/bedrock/login.rs | 9 +- .../pumpkin}/src/net/bedrock/mod.rs | 28 +- .../src/net/bedrock/open_connection.rs | 0 .../pumpkin}/src/net/bedrock/play.rs | 0 .../pumpkin}/src/net/bedrock/unconnected.rs | 0 .../pumpkin}/src/net/java/config.rs | 91 ++-- .../pumpkin}/src/net/java/handshake.rs | 12 +- .../pumpkin}/src/net/java/login.rs | 148 +++--- .../pumpkin}/src/net/java/mod.rs | 377 +++----------- crates/pumpkin/src/net/java/pending.rs | 481 ++++++++++++++++++ .../pumpkin}/src/net/java/play.rs | 0 .../pumpkin}/src/net/java/recipe_helper.rs | 0 .../pumpkin}/src/net/java/status.rs | 8 +- .../pumpkin}/src/net/lan_broadcast.rs | 0 {pumpkin => crates/pumpkin}/src/net/mod.rs | 4 +- .../pumpkin}/src/net/proxy/bungeecord.rs | 10 +- .../pumpkin}/src/net/proxy/mod.rs | 0 .../pumpkin}/src/net/proxy/velocity.rs | 8 +- {pumpkin => crates/pumpkin}/src/net/query.rs | 0 .../pumpkin}/src/net/rcon/mod.rs | 0 .../pumpkin}/src/net/rcon/packet.rs | 2 +- .../pumpkin}/src/plugin/api/context.rs | 0 .../plugin/api/events/block/block_break.rs | 0 .../src/plugin/api/events/block/block_burn.rs | 0 .../api/events/block/block_can_build.rs | 0 .../plugin/api/events/block/block_damage.rs | 0 .../plugin/api/events/block/block_dispense.rs | 0 .../plugin/api/events/block/block_explode.rs | 0 .../src/plugin/api/events/block/block_fade.rs | 0 .../src/plugin/api/events/block/block_form.rs | 0 .../plugin/api/events/block/block_from_to.rs | 0 .../src/plugin/api/events/block/block_grow.rs | 0 .../plugin/api/events/block/block_ignite.rs | 0 .../plugin/api/events/block/block_physics.rs | 0 .../plugin/api/events/block/block_piston.rs | 0 .../plugin/api/events/block/block_place.rs | 0 .../plugin/api/events/block/block_redstone.rs | 0 .../src/plugin/api/events/block/mod.rs | 0 .../src/plugin/api/events/block/note_play.rs | 0 .../plugin/api/events/block/sign_change.rs | 0 .../plugin/api/events/block/sponge_absorb.rs | 0 .../src/plugin/api/events/block/tnt_prime.rs | 0 .../api/events/entity/entity_air_change.rs | 0 .../plugin/api/events/entity/entity_breed.rs | 0 .../api/events/entity/entity_combust.rs | 0 .../plugin/api/events/entity/entity_damage.rs | 0 .../plugin/api/events/entity/entity_death.rs | 0 .../plugin/api/events/entity/entity_dye.rs | 0 .../api/events/entity/entity_explode.rs | 0 .../plugin/api/events/entity/entity_mount.rs | 0 .../api/events/entity/entity_regain_health.rs | 0 .../plugin/api/events/entity/entity_spawn.rs | 0 .../plugin/api/events/entity/entity_tame.rs | 0 .../plugin/api/events/entity/entity_target.rs | 0 .../api/events/entity/entity_teleport.rs | 0 .../src/plugin/api/events/entity/mod.rs | 0 .../src/plugin/api/events/inventory/brew.rs | 0 .../plugin/api/events/inventory/craft_item.rs | 0 .../api/events/inventory/furnace_burn.rs | 0 .../api/events/inventory/furnace_smelt.rs | 0 .../api/events/inventory/inventory_drag.rs | 0 .../api/events/inventory/inventory_open.rs | 0 .../src/plugin/api/events/inventory/mod.rs | 0 .../api/events/inventory/prepare_anvil.rs | 0 .../api/events/inventory/trade_select.rs | 0 .../pumpkin}/src/plugin/api/events/mod.rs | 12 +- .../events/player/bedrock_form_response.rs | 0 .../api/events/player/changed_main_hand.rs | 0 .../api/events/player/custom_click_action.rs | 0 .../src/plugin/api/events/player/egg_throw.rs | 0 .../plugin/api/events/player/exp_change.rs | 0 .../src/plugin/api/events/player/fish.rs | 0 .../api/events/player/inventory_close.rs | 0 .../api/events/player/inventory_interact.rs | 0 .../src/plugin/api/events/player/item_held.rs | 0 .../src/plugin/api/events/player/mod.rs | 0 .../api/events/player/player_animation.rs | 0 .../plugin/api/events/player/player_bed.rs | 0 .../plugin/api/events/player/player_bucket.rs | 0 .../api/events/player/player_change_world.rs | 0 .../plugin/api/events/player/player_chat.rs | 0 .../api/events/player/player_command_send.rs | 0 .../events/player/player_custom_payload.rs | 0 .../api/events/player/player_drop_item.rs | 0 .../events/player/player_gamemode_change.rs | 0 .../player/player_interact_entity_event.rs | 0 .../events/player/player_interact_event.rs | 0 .../player_interact_unknown_entity_event.rs | 0 .../api/events/player/player_item_break.rs | 0 .../api/events/player/player_item_consume.rs | 0 .../api/events/player/player_item_damage.rs | 0 .../plugin/api/events/player/player_join.rs | 0 .../plugin/api/events/player/player_kick.rs | 0 .../plugin/api/events/player/player_leave.rs | 0 .../api/events/player/player_level_change.rs | 0 .../plugin/api/events/player/player_login.rs | 0 .../plugin/api/events/player/player_move.rs | 0 .../events/player/player_permission_check.rs | 0 .../api/events/player/player_respawn.rs | 0 .../api/events/player/player_swap_hands.rs | 0 .../api/events/player/player_teleport.rs | 0 .../player/player_toggle_flight_event.rs | 0 .../player/player_toggle_sneak_event.rs | 0 .../player/player_toggle_sprint_event.rs | 0 .../src/plugin/api/events/server/mod.rs | 0 .../src/plugin/api/events/server/packet.rs | 0 .../api/events/server/server_broadcast.rs | 0 .../api/events/server/server_command.rs | 0 .../plugin/api/events/server/server_load.rs | 0 .../api/events/server/server_tick_end.rs | 0 .../api/events/server/server_tick_start.rs | 0 .../src/plugin/api/events/world/chunk_load.rs | 0 .../src/plugin/api/events/world/chunk_save.rs | 0 .../src/plugin/api/events/world/chunk_send.rs | 0 .../plugin/api/events/world/generic_game.rs | 0 .../api/events/world/lightning_strike.rs | 0 .../src/plugin/api/events/world/mod.rs | 0 .../plugin/api/events/world/portal_create.rs | 0 .../plugin/api/events/world/spawn_change.rs | 0 .../plugin/api/events/world/structure_grow.rs | 0 .../plugin/api/events/world/weather_change.rs | 0 .../src/plugin/api/events/world/world_init.rs | 0 .../src/plugin/api/events/world/world_load.rs | 0 .../pumpkin}/src/plugin/api/gui.rs | 0 .../pumpkin}/src/plugin/api/mod.rs | 0 .../pumpkin}/src/plugin/api/tab_list.rs | 0 .../pumpkin}/src/plugin/api/title.rs | 0 .../pumpkin}/src/plugin/cache.rs | 0 .../pumpkin}/src/plugin/loader/mod.rs | 0 .../pumpkin}/src/plugin/loader/native.rs | 4 + .../pumpkin}/src/plugin/loader/wasm/mod.rs | 0 .../src/plugin/loader/wasm/wasm_host/args.rs | 0 .../plugin/loader/wasm/wasm_host/logging.rs | 0 .../src/plugin/loader/wasm/wasm_host/mod.rs | 1 + .../plugin/loader/wasm/wasm_host/signature.rs | 0 .../src/plugin/loader/wasm/wasm_host/state.rs | 0 .../plugin/loader/wasm/wasm_host/wit/mod.rs | 0 .../wasm/wasm_host/wit/v0_1/block_entity.rs | 0 .../wasm/wasm_host/wit/v0_1/boss_bar.rs | 0 .../wasm_host/wit/v0_1/commands/executor.rs | 0 .../wasm/wasm_host/wit/v0_1/commands/mod.rs | 0 .../loader/wasm/wasm_host/wit/v0_1/common.rs | 0 .../loader/wasm/wasm_host/wit/v0_1/context.rs | 0 .../loader/wasm/wasm_host/wit/v0_1/entity.rs | 2 +- .../wasm/wasm_host/wit/v0_1/events/block.rs | 0 .../wasm/wasm_host/wit/v0_1/events/entity.rs | 0 .../wasm_host/wit/v0_1/events/inventory.rs | 0 .../wasm/wasm_host/wit/v0_1/events/mod.rs | 0 .../wasm/wasm_host/wit/v0_1/events/player.rs | 0 .../wasm/wasm_host/wit/v0_1/events/server.rs | 0 .../wasm/wasm_host/wit/v0_1/events/world.rs | 0 .../loader/wasm/wasm_host/wit/v0_1/forms.rs | 0 .../wasm_host/wit/v0_1/generated_packets.rs | 0 .../loader/wasm/wasm_host/wit/v0_1/gui.rs | 0 .../loader/wasm/wasm_host/wit/v0_1/i18n.rs | 0 .../wasm/wasm_host/wit/v0_1/item_stack.rs | 6 +- .../wasm/wasm_host/wit/v0_1/java_dialogs.rs | 0 .../loader/wasm/wasm_host/wit/v0_1/logging.rs | 0 .../loader/wasm/wasm_host/wit/v0_1/mod.rs | 0 .../wasm/wasm_host/wit/v0_1/permission.rs | 0 .../loader/wasm/wasm_host/wit/v0_1/player.rs | 6 +- .../loader/wasm/wasm_host/wit/v0_1/recipe.rs | 0 .../wasm/wasm_host/wit/v0_1/scheduler.rs | 0 .../wasm/wasm_host/wit/v0_1/scoreboard.rs | 0 .../loader/wasm/wasm_host/wit/v0_1/server.rs | 0 .../wasm/wasm_host/wit/v0_1/status_effect.rs | 0 .../loader/wasm/wasm_host/wit/v0_1/text.rs | 0 .../loader/wasm/wasm_host/wit/v0_1/uuid.rs | 0 .../loader/wasm/wasm_host/wit/v0_1/world.rs | 2 +- {pumpkin => crates/pumpkin}/src/plugin/mod.rs | 0 .../pumpkin}/src/plugin/permissions.rs | 0 .../pumpkin}/src/server/connection_cache.rs | 2 +- .../pumpkin}/src/server/key_store.rs | 0 {pumpkin => crates/pumpkin}/src/server/mod.rs | 4 +- .../pumpkin}/src/server/recipe.rs | 0 .../pumpkin}/src/server/scheduler.rs | 0 .../pumpkin}/src/server/seasonal_events.rs | 0 .../pumpkin}/src/server/tick_rate_manager.rs | 0 .../pumpkin}/src/server/ticker.rs | 0 .../pumpkin}/src/world/block_placer.rs | 0 .../pumpkin}/src/world/border.rs | 0 .../pumpkin}/src/world/bossbar.rs | 0 .../pumpkin}/src/world/chunker.rs | 0 .../pumpkin}/src/world/custom_bossbar.rs | 0 .../pumpkin}/src/world/dragon_fight.rs | 0 .../pumpkin}/src/world/end_podium.rs | 0 .../pumpkin}/src/world/explosion.rs | 0 {pumpkin => crates/pumpkin}/src/world/loot.rs | 0 {pumpkin => crates/pumpkin}/src/world/map.rs | 0 {pumpkin => crates/pumpkin}/src/world/mod.rs | 0 .../pumpkin}/src/world/natural_spawner.rs | 0 .../pumpkin}/src/world/portal/end.rs | 0 .../pumpkin}/src/world/portal/mod.rs | 0 .../pumpkin}/src/world/portal/nether.rs | 0 .../pumpkin}/src/world/portal/poi.rs | 0 .../pumpkin}/src/world/scoreboard.rs | 0 {pumpkin => crates/pumpkin}/src/world/time.rs | 0 .../pumpkin}/src/world/weather.rs | 0 .../pumpkin-codegen}/Cargo.lock | 6 +- .../pumpkin-codegen}/Cargo.toml | 4 +- .../pumpkin-codegen}/Clippy.toml | 0 .../pumpkin-codegen}/src/advancement.rs | 0 .../pumpkin-codegen}/src/attributes.rs | 0 .../pumpkin-codegen}/src/bedrock_creative.rs | 2 +- .../pumpkin-codegen}/src/biome.rs | 0 .../pumpkin-codegen}/src/bitsets.rs | 0 .../pumpkin-codegen}/src/block.rs | 0 .../pumpkin-codegen}/src/carver.rs | 0 .../pumpkin-codegen}/src/chest_loot.rs | 0 .../src/chunk_gen_settings.rs | 0 .../pumpkin-codegen}/src/chunk_status.rs | 0 .../pumpkin-codegen}/src/chunk_view_lut.rs | 0 .../src/composter_increase_chance.rs | 0 .../src/configured_feature.rs | 0 .../pumpkin-codegen}/src/damage_type.rs | 0 .../pumpkin-codegen}/src/data_component.rs | 0 .../pumpkin-codegen}/src/dimension.rs | 0 .../pumpkin-codegen}/src/effect.rs | 0 .../pumpkin-codegen}/src/enchantments.rs | 0 .../pumpkin-codegen}/src/entity_pose.rs | 0 .../pumpkin-codegen}/src/entity_status.rs | 0 .../pumpkin-codegen}/src/entity_type.rs | 0 .../src/flower_pot_transformations.rs | 0 .../pumpkin-codegen}/src/fluid.rs | 0 .../pumpkin-codegen}/src/fuels.rs | 0 .../pumpkin-codegen}/src/game_event.rs | 0 .../pumpkin-codegen}/src/game_rules.rs | 0 .../pumpkin-codegen}/src/item.rs | 0 .../pumpkin-codegen}/src/jukebox_song.rs | 0 .../pumpkin-codegen}/src/loot.rs | 0 .../pumpkin-codegen}/src/main.rs | 0 .../pumpkin-codegen}/src/message_type.rs | 0 .../pumpkin-codegen}/src/meta_data_type.rs | 0 .../pumpkin-codegen}/src/noise_parameter.rs | 0 .../pumpkin-codegen}/src/noise_router.rs | 0 .../pumpkin-codegen}/src/packet.rs | 0 .../pumpkin-codegen}/src/particle.rs | 0 .../pumpkin-codegen}/src/placed_feature.rs | 0 .../pumpkin-codegen}/src/potion.rs | 0 .../pumpkin-codegen}/src/potion_brewing.rs | 0 .../pumpkin-codegen}/src/recipe_remainder.rs | 0 .../pumpkin-codegen}/src/recipes.rs | 0 .../pumpkin-codegen}/src/registry.rs | 0 .../pumpkin-codegen}/src/remap/block_state.rs | 0 .../pumpkin-codegen}/src/remap/entity_id.rs | 0 .../pumpkin-codegen}/src/remap/item_id.rs | 0 .../pumpkin-codegen}/src/remap/mod.rs | 0 .../pumpkin-codegen}/src/remap/particle_id.rs | 0 .../pumpkin-codegen}/src/remap/sound_id.rs | 0 .../pumpkin-codegen}/src/scoreboard_slot.rs | 0 .../pumpkin-codegen}/src/screen.rs | 0 .../pumpkin-codegen}/src/slot_ranges.rs | 0 .../pumpkin-codegen}/src/sound.rs | 0 .../pumpkin-codegen}/src/sound_category.rs | 0 .../pumpkin-codegen}/src/spawn_egg.rs | 0 .../pumpkin-codegen}/src/statistic.rs | 0 .../pumpkin-codegen}/src/structures.rs | 0 .../pumpkin-codegen}/src/tag.rs | 0 .../pumpkin-codegen}/src/tracked_data.rs | 0 .../pumpkin-codegen}/src/translations.rs | 0 .../pumpkin-codegen}/src/version.rs | 0 .../pumpkin-codegen}/src/villager.rs | 0 .../src/wit/bedrock_packet.rs | 0 .../pumpkin-codegen}/src/wit/biome.rs | 0 .../src/wit/data_component.rs | 0 .../pumpkin-codegen}/src/wit/enchantment.rs | 0 .../pumpkin-codegen}/src/wit/entity_type.rs | 0 .../pumpkin-codegen}/src/wit/java_packet.rs | 0 .../pumpkin-codegen}/src/wit/mod.rs | 0 .../src/wit/packet_mapping.rs | 0 .../pumpkin-codegen}/src/wit/particle.rs | 0 .../pumpkin-codegen}/src/wit/sound.rs | 0 .../pumpkin-codegen}/src/wit/utils.rs | 0 .../pumpkin-codegen}/src/world_event.rs | 0 typos.toml | 2 +- 3393 files changed, 1270 insertions(+), 741 deletions(-) rename {pumpkin-api-macros => crates/pumpkin-api-macros}/Cargo.toml (100%) rename {pumpkin-api-macros => crates/pumpkin-api-macros}/src/lib.rs (91%) rename {pumpkin-codecs => crates/pumpkin-codecs}/Cargo.toml (100%) rename {pumpkin-codecs => crates/pumpkin-codecs}/src/codec/either.rs (100%) rename {pumpkin-codecs => crates/pumpkin-codecs}/src/codec/list.rs (100%) rename {pumpkin-codecs => crates/pumpkin-codecs}/src/codec/map.rs (100%) rename {pumpkin-codecs => crates/pumpkin-codecs}/src/codec/mod.rs (100%) rename {pumpkin-codecs => crates/pumpkin-codecs}/src/codec/optional_field.rs (100%) rename {pumpkin-codecs => crates/pumpkin-codecs}/src/codec/primitive.rs (100%) rename {pumpkin-codecs => crates/pumpkin-codecs}/src/data_result.rs (100%) rename {pumpkin-codecs => crates/pumpkin-codecs}/src/dynamic_ops.rs (100%) rename {pumpkin-codecs => crates/pumpkin-codecs}/src/json_ops.rs (100%) rename {pumpkin-codecs => crates/pumpkin-codecs}/src/lib.rs (100%) rename {pumpkin-codecs => crates/pumpkin-codecs}/src/lifecycle.rs (100%) rename {pumpkin-codecs => crates/pumpkin-codecs}/src/list_builder.rs (100%) rename {pumpkin-codecs => crates/pumpkin-codecs}/src/map_like.rs (100%) rename {pumpkin-codecs => crates/pumpkin-codecs}/src/number.rs (100%) rename {pumpkin-codecs => crates/pumpkin-codecs}/src/struct_builder.rs (100%) rename {pumpkin-config => crates/pumpkin-config}/Cargo.toml (100%) rename {pumpkin-config => crates/pumpkin-config}/src/advancement.rs (100%) rename {pumpkin-config => crates/pumpkin-config}/src/chat.rs (100%) rename {pumpkin-config => crates/pumpkin-config}/src/chunk.rs (96%) rename {pumpkin-config => crates/pumpkin-config}/src/commands.rs (100%) rename {pumpkin-config => crates/pumpkin-config}/src/fun.rs (100%) rename {pumpkin-config => crates/pumpkin-config}/src/lib.rs (93%) rename {pumpkin-config => crates/pumpkin-config}/src/lighting.rs (54%) rename {pumpkin-config => crates/pumpkin-config}/src/logging.rs (100%) rename {pumpkin-config => crates/pumpkin-config}/src/networking/auth.rs (100%) rename {pumpkin-config => crates/pumpkin-config}/src/networking/bedrock.rs (100%) rename {pumpkin-config => crates/pumpkin-config}/src/networking/compression.rs (100%) rename {pumpkin-config => crates/pumpkin-config}/src/networking/java.rs (100%) rename {pumpkin-config => crates/pumpkin-config}/src/networking/lan_broadcast.rs (100%) rename {pumpkin-config => crates/pumpkin-config}/src/networking/mod.rs (75%) rename {pumpkin-config => crates/pumpkin-config}/src/networking/proxy.rs (100%) rename {pumpkin-config => crates/pumpkin-config}/src/networking/query.rs (100%) rename {pumpkin-config => crates/pumpkin-config}/src/networking/rcon.rs (100%) rename {pumpkin-config => crates/pumpkin-config}/src/op.rs (100%) rename {pumpkin-config => crates/pumpkin-config}/src/player_data.rs (100%) rename {pumpkin-config => crates/pumpkin-config}/src/plugins.rs (87%) rename {pumpkin-config => crates/pumpkin-config}/src/pvp.rs (100%) rename {pumpkin-config => crates/pumpkin-config}/src/recipe.rs (100%) rename {pumpkin-config => crates/pumpkin-config}/src/resource_pack.rs (67%) rename {pumpkin-config => crates/pumpkin-config}/src/server_links.rs (100%) rename {pumpkin-config => crates/pumpkin-config}/src/whitelist.rs (100%) rename {pumpkin-config => crates/pumpkin-config}/src/world.rs (92%) rename {pumpkin-data => crates/pumpkin-data}/Cargo.toml (100%) rename {pumpkin-codegen => crates/pumpkin-data}/Clippy.toml (100%) rename {pumpkin-data => crates/pumpkin-data}/benches/has_random_ticks.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/advancement_data.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/block_direction.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/block_rotation.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/block_state.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/blocks.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/data_component_impl/basic.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/data_component_impl/block_entity.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/data_component_impl/book.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/data_component_impl/combat.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/data_component_impl/entity_variant.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/data_component_impl/food.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/data_component_impl/mod.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/data_component_impl/utility.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/advancement.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/attributes.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/bedrock_creative.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/biome.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/block.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/block_state_remap.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/carver.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/chest_loot.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/chunk_gen_settings.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/chunk_status.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/chunk_view_lut.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/composter_increase_chance.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/configured_feature.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/configured_features_generated.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/damage_type.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/data_component.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/dimension.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/effect.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/enchantment.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/enchantments.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/entity_id_remap.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/entity_pose.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/entity_status.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/entity_type.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/flower_pot_transformations.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/fluid.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/fuels.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/game_event.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/game_rules.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/item.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/item_id_remap.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/jukebox_song.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/message_type.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/meta_data_type.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/noise_parameter.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/noise_router.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/packet.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/particle.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/particle_id_remap.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/placed_feature.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/placed_features_generated.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/potion.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/potion_brewing.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/recipe_remainder.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/recipes.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/registry.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/scoreboard_slot.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/screen.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/slot_ranges.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/sound.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/sound_category.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/sound_id_remap.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/spawn_egg.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/statistic.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/status_effect.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/structures.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/tag.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/tracked_data.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/translation.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/villager.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/generated/world_event.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/item_stack/categories.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/item_stack/mod.rs (100%) rename {pumpkin-data => crates/pumpkin-data}/src/lib.rs (100%) rename {pumpkin-inventory => crates/pumpkin-inventory}/Cargo.toml (100%) rename {pumpkin-inventory => crates/pumpkin-inventory}/src/anvil/anvil_screen_handler.rs (100%) rename {pumpkin-inventory => crates/pumpkin-inventory}/src/anvil/mod.rs (100%) rename {pumpkin-inventory => crates/pumpkin-inventory}/src/beacon_screen_handler.rs (100%) rename {pumpkin-inventory => crates/pumpkin-inventory}/src/brewing/brewing_screen_handler.rs (100%) rename {pumpkin-inventory => crates/pumpkin-inventory}/src/brewing/mod.rs (100%) rename {pumpkin-inventory => crates/pumpkin-inventory}/src/container_click.rs (100%) rename {pumpkin-inventory => crates/pumpkin-inventory}/src/crafting/crafting_inventory.rs (100%) rename {pumpkin-inventory => crates/pumpkin-inventory}/src/crafting/crafting_screen_handler.rs (100%) rename {pumpkin-inventory => crates/pumpkin-inventory}/src/crafting/mod.rs (100%) rename {pumpkin-inventory => crates/pumpkin-inventory}/src/crafting/recipe_provider.rs (100%) rename {pumpkin-inventory => crates/pumpkin-inventory}/src/crafting/recipes.rs (100%) rename {pumpkin-inventory => crates/pumpkin-inventory}/src/double.rs (100%) rename {pumpkin-inventory => crates/pumpkin-inventory}/src/drag_handler.rs (100%) rename {pumpkin-inventory => crates/pumpkin-inventory}/src/enchanting/enchanting_screen_handler.rs (100%) rename {pumpkin-inventory => crates/pumpkin-inventory}/src/enchanting/mod.rs (100%) rename {pumpkin-inventory => crates/pumpkin-inventory}/src/entity_equipment.rs (100%) rename {pumpkin-inventory => crates/pumpkin-inventory}/src/error.rs (100%) rename {pumpkin-inventory => crates/pumpkin-inventory}/src/furnace_like/furnace_like_screen_handler.rs (100%) rename {pumpkin-inventory => crates/pumpkin-inventory}/src/furnace_like/furnace_like_slot.rs (100%) rename {pumpkin-inventory => crates/pumpkin-inventory}/src/furnace_like/mod.rs (100%) rename {pumpkin-inventory => crates/pumpkin-inventory}/src/generic_container_screen_handler.rs (100%) rename {pumpkin-inventory => crates/pumpkin-inventory}/src/gui_builder.rs (100%) rename {pumpkin-inventory => crates/pumpkin-inventory}/src/lectern_screen_handler.rs (100%) rename {pumpkin-inventory => crates/pumpkin-inventory}/src/lib.rs (100%) rename {pumpkin-inventory => crates/pumpkin-inventory}/src/merchant/merchant_screen_handler.rs (100%) rename {pumpkin-inventory => crates/pumpkin-inventory}/src/merchant/mod.rs (100%) rename {pumpkin-inventory => crates/pumpkin-inventory}/src/player/ender_chest_inventory.rs (100%) rename {pumpkin-inventory => crates/pumpkin-inventory}/src/player/mod.rs (100%) rename {pumpkin-inventory => crates/pumpkin-inventory}/src/player/player_inventory.rs (100%) rename {pumpkin-inventory => crates/pumpkin-inventory}/src/player/player_screen_handler.rs (100%) rename {pumpkin-inventory => crates/pumpkin-inventory}/src/screen_handler.rs (100%) rename {pumpkin-inventory => crates/pumpkin-inventory}/src/slot.rs (100%) rename {pumpkin-inventory => crates/pumpkin-inventory}/src/stonecutter_screen_handler.rs (100%) rename {pumpkin-inventory => crates/pumpkin-inventory}/src/sync_handler.rs (100%) rename {pumpkin-inventory => crates/pumpkin-inventory}/src/window_property.rs (100%) rename {pumpkin-macros => crates/pumpkin-macros}/Cargo.toml (100%) rename {pumpkin-macros => crates/pumpkin-macros}/src/lib.rs (100%) rename {pumpkin-nbt => crates/pumpkin-nbt}/Cargo.toml (100%) rename {pumpkin-nbt => crates/pumpkin-nbt}/benches/nbt.rs (100%) rename {pumpkin-nbt => crates/pumpkin-nbt}/fuzz/.gitignore (100%) rename {pumpkin-nbt => crates/pumpkin-nbt}/fuzz/Cargo.lock (100%) rename {pumpkin-nbt => crates/pumpkin-nbt}/fuzz/Cargo.toml (100%) rename {pumpkin-nbt => crates/pumpkin-nbt}/fuzz/fuzz_targets/decompress_gzip.rs (100%) rename {pumpkin-nbt => crates/pumpkin-nbt}/fuzz/fuzz_targets/deserialize_bedrock.rs (100%) rename {pumpkin-nbt => crates/pumpkin-nbt}/fuzz/fuzz_targets/deserialize_java.rs (100%) rename {pumpkin-nbt => crates/pumpkin-nbt}/src/compound.rs (100%) rename {pumpkin-nbt => crates/pumpkin-nbt}/src/deserializer.rs (97%) rename {pumpkin-nbt => crates/pumpkin-nbt}/src/lib.rs (100%) rename {pumpkin-nbt => crates/pumpkin-nbt}/src/nbt_compress.rs (100%) rename {pumpkin-nbt => crates/pumpkin-nbt}/src/nbt_ops.rs (100%) rename {pumpkin-nbt => crates/pumpkin-nbt}/src/serializer.rs (100%) rename {pumpkin-nbt => crates/pumpkin-nbt}/src/tag.rs (99%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/Cargo.toml (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/ai.rs (76%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/commands.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/block/block_break.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/block/block_burn.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/block/block_can_build.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/block/block_damage.rs (90%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/block/block_fade.rs (91%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/block/block_form.rs (92%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/block/block_from_to.rs (88%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/block/block_grow.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/block/block_ignite.rs (92%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/block/block_place.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/block/block_redstone.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/block/mod.rs (64%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/entity/entity_combust.rs (92%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/entity/entity_damage.rs (91%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/entity/entity_death.rs (92%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/entity/entity_regain_health.rs (92%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/entity/entity_spawn.rs (91%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/entity/mod.rs (60%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/inventory/craft_item.rs (92%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/inventory/furnace_smelt.rs (90%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/inventory/inventory_drag.rs (90%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/inventory/inventory_open.rs (90%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/inventory/mod.rs (66%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/mod.rs (96%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/packet.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/player/bedrock_form_response.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/player/changed_main_hand.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/player/custom_click_action.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/player/egg_throw.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/player/exp_change.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/player/fish.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/player/inventory_click.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/player/inventory_close.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/player/item_held.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/player/mod.rs (64%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/player/player_bed.rs (92%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/player/player_bucket.rs (91%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/player/player_change_world.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/player/player_chat.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/player/player_command_send.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/player/player_custom_payload.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/player/player_drop_item.rs (92%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/player/player_gamemode_change.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/player/player_interact.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/player/player_interact_entity.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/player/player_interact_unknown_entity.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/player/player_item_consume.rs (92%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/player/player_item_damage.rs (90%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/player/player_join.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/player/player_leave.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/player/player_login.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/player/player_move.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/player/player_permission_check.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/player/player_respawn.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/player/player_teleport.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/player/player_toggle_flight.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/player/player_toggle_sneak.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/player/player_toggle_sprint.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/server/mod.rs (60%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/server/server_broadcast.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/server/server_command.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/server/server_load.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/server/server_tick_end.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/server/server_tick_start.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/server/spawn_change.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/world/chunk_load.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/world/chunk_save.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/world/chunk_send.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/world/mod.rs (60%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/world/weather_change.rs (91%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/events/world/world_load.rs (92%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/ext/mod.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/ext/uuid.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/forms.rs (76%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/lib.rs (96%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/logging.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/permissions.rs (100%) rename {pumpkin-plugin-api => crates/pumpkin-plugin-api}/src/scheduler.rs (100%) rename pumpkin-plugin-wit => crates/pumpkin-plugin-wit (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/Cargo.toml (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/fuzz/.gitignore (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/fuzz/Cargo.lock (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/fuzz/Cargo.toml (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/fuzz/fuzz_targets/decoder_bedrock.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/fuzz/fuzz_targets/decoder_java.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/fuzz/fuzz_targets/encoder_bedrock.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/fuzz/fuzz_targets/encoder_java.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/fuzz/fuzz_targets/query_decoder.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/fuzz/fuzz_targets/rcon_decoder.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/ack.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/add_actor.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/add_item_actor.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/add_player.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/available_commands.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/boss_event.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/change_dimension.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/chunk_radius_update.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/common.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/container_open.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/correct_player_move.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/crafting_data.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/creative_content.rs (91%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/disconnect_player.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/gamerules_changed.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/handshake.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/inventory_content.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/inventory_slot.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/item_registry.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/item_stack_response.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/level_chunk.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/level_event.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/level_sound_event.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/mod.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/modal_form_request.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/move_actor_absolute.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/move_actor_delta.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/move_player.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/network_chunk_publisher_update.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/network_settings.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/play_status.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/player_hotbar.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/player_list.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/raknet/connection.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/raknet/incompatible_protocol.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/raknet/mod.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/raknet/open_connection.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/raknet/unconnected_pong.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/remove_actor.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/resource_pack_stack.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/resource_packs_info.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/scoreboard.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/set_actor_data.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/set_actor_link.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/set_actor_motion.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/set_difficulty.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/set_health.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/set_player_gamemode.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/set_spawn_position.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/set_time.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/set_title.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/show_credits.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/start_game.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/take_item_actor.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/transfer.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/update_abilities.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/update_attributes.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/client/update_block.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/crypto.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/frame_set.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/mod.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/network_item.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/packet_decoder.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/packet_encoder.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/server/actor_event.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/server/animate.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/server/block_pick_request.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/server/client_cache_status.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/server/client_to_server_handshake.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/server/command_request.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/server/container_close.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/server/emote.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/server/emote_list.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/server/interaction.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/server/inventory_transaction.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/server/item_stack_request.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/server/loading_screen.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/server/login.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/server/mob_equipment.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/server/mod.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/server/modal_form_response.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/server/player_action.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/server/player_auth_input.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/server/player_hotbar.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/server/raknet/connection.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/server/raknet/mod.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/server/raknet/open_connection.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/server/raknet/unconnected_ping.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/server/request_ability.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/server/request_chunk_radius.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/server/request_network_settings.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/server/resource_pack_response.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/server/set_local_player_as_initialized.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/server/set_player_inventory_options.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/bedrock/server/text.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/codec/bit_set.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/codec/bitset.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/codec/data_component.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/codec/item_stack_seralizer.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/codec/little_endian.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/codec/lp_vector_3d.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/codec/mod.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/codec/optional_int.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/codec/recipe.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/codec/u24_type.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/codec/uuid.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/codec/var_int.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/codec/var_long.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/codec/var_uint.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/codec/var_ulong.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/config/add_resource_pack.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/config/clear_dialog.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/config/config_disconnect.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/config/cookie_request.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/config/feature_flags.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/config/finish_config.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/config/known_packs.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/config/mod.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/config/plugin_message.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/config/registry_data.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/config/server_links.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/config/show_dialog.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/config/store_cookie.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/config/transfer.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/config/update_tags.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/dialog.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/login/cookie_request.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/login/encryption_request.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/login/login_disconnect.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/login/login_success.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/login/mod.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/login/plugin_request.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/login/set_compression.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/mod.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/acknowledge_block.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/actionbar.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/award_stats.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/block_destroy_stage.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/block_entity_data.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/block_event.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/block_update.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/boss_event.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/bossevent_action.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/center_chunk.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/change_difficulty.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/chunk_batch_end.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/chunk_batch_start.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/chunk_data.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/clear_dialog.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/clear_title.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/close_container.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/combat_death.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/command_suggestions.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/commands.rs (99%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/cookie_request.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/custom_payload.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/damage_event.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/debug_sample.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/disconnect.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/disguised_chat_message.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/display_objective.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/entity_animation.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/entity_metadata.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/entity_position_sync.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/entity_sound_effect.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/entity_status.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/entity_velocity.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/explode.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/game_event.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/head_rot.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/hurt_animation.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/initialize_world_border.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/item_cooldown.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/keep_alive.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/level_event.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/light_update.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/login.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/map_item_data.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/merchant_offers.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/mod.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/multi_block_update.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/open_screen.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/open_sign_editor.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/particle.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/ping_response.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/player_abilities.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/player_action.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/player_chat_message.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/player_info_update.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/player_position.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/player_remove.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/player_spawn_data.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/player_spawn_position.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/recipe_book_add.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/recipe_book_settings.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/remove_entities.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/remove_mob_effect.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/reset_score.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/respawn.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/select_advancements_tab.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/server_links.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/set_border_center.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/set_border_lerp_size.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/set_border_size.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/set_border_warning_delay.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/set_border_warning_distance.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/set_camera.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/set_container_content.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/set_container_property.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/set_container_slot.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/set_cursor_slot.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/set_entity_link.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/set_equipment.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/set_experience.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/set_health.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/set_held_item.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/set_passengers.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/set_player_inventory.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/set_player_team.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/set_time.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/set_title.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/set_title_animation.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/show_dialog.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/sound_effect.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/spawn_entity.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/stop_sound.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/store_cookie.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/subtitle.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/system_chat_message.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/tab_list.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/take_item.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/teleport_entity.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/ticking_state.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/ticking_step.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/transfer.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/unload_chunk.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/update_advancement.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/update_attributes.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/update_entity_pos.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/update_entity_pos_rot.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/update_entity_rot.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/update_mob_effect.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/update_objectives.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/update_score.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/play/worldevent.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/status/mod.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/status/ping_response.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/client/status/status_response.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/mod.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/packet_decoder.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/packet_encoder.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/config/acknowledge_finish_config.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/config/client_information.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/config/cookie_response.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/config/custom_click_action.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/config/keep_alive.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/config/known_packs.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/config/mod.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/config/plugin_message.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/config/resource_pack_response.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/handshake/mod.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/login/cookie_response.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/login/encryption_response.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/login/login_response.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/login/login_start.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/login/mod.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/login/plugin_response.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/mod.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/attack.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/bundle_item_selected.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/change_game_mode.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/chat_command.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/chat_message.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/chunk_batch.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/click_container.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/client_command.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/client_information.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/client_tick_end.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/close_container.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/command_suggestion.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/confirm_teleport.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/container_button_click.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/cookie_response.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/custom_click_action.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/custom_payload.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/debug_sample_subscription.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/debug_subscription_request.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/interact.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/jigsaw_generate.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/keep_alive.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/mod.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/move_vehicle.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/paddle_boat.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/pick_item.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/ping_request.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/place_recipe.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/player_abilities.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/player_action.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/player_command.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/player_ground.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/player_input.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/player_loaded.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/player_position.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/player_position_rotation.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/player_rotation.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/player_session.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/recipe_book_change_settings.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/recipe_book_seen_recipe.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/rename_item.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/seen_advancement.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/select_trade.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/set_beacon.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/set_command_block.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/set_creative_slot.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/set_held_item.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/set_jigsaw_block.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/set_test_block.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/swing_arm.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/teleport_to_entity.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/test_instance_block_action.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/update_sign.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/use_item.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/play/use_item_on.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/status/mod.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/status/ping_request.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/java/server/status/status_request.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/lib.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/packet.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/query.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/ser/mod.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/serial/deserializer.rs (90%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/serial/mod.rs (100%) rename {pumpkin-protocol => crates/pumpkin-protocol}/src/serial/serializer.rs (98%) rename {pumpkin-util => crates/pumpkin-util}/Cargo.toml (100%) rename {pumpkin-util => crates/pumpkin-util}/assets/perlin2_7_4.json (100%) rename {pumpkin-util => crates/pumpkin-util}/assets/perlin_7_4.json (100%) rename {pumpkin-util => crates/pumpkin-util}/assets/perlin_map.json (100%) rename {pumpkin-util => crates/pumpkin-util}/src/biome.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/chest_loot_table.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/difficulty.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/gamemode.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/identifier.rs (97%) rename {pumpkin-util => crates/pumpkin-util}/src/jwt/mod.rs (93%) rename {pumpkin-util => crates/pumpkin-util}/src/lib.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/loot_table.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/math/atomic_f32.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/math/bit_storage.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/math/block_box.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/math/boundingbox.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/math/bounds.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/math/euler_angle.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/math/experience.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/math/float_provider.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/math/int_provider.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/math/mod.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/math/pool.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/math/position.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/math/vector2.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/math/vector3.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/math/vertical_surface_type.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/noise/mod.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/noise/perlin.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/noise/simplex.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/permission.rs (98%) rename {pumpkin-util => crates/pumpkin-util}/src/random/gaussian.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/random/legacy_rand.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/random/mod.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/random/xoroshiro128.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/registry.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/resource_key.rs (63%) rename {pumpkin-util => crates/pumpkin-util}/src/resource_location.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/serde_enum_as_integer.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/text/click.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/text/color.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/text/hover.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/text/legacy.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/text/mod.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/text/style.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/translation.rs (91%) rename {pumpkin-util => crates/pumpkin-util}/src/uuid.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/version.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/world_seed.rs (100%) rename {pumpkin-util => crates/pumpkin-util}/src/y_offset.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/Cargo.toml (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/city/entrance/entrance_connector.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/city/entrance/entrance_path_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/city/entrance/entrance_path_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/city/entrance/entrance_path_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/city/entrance/entrance_path_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/city/entrance/entrance_path_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/city_center/city_center_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/city_center/city_center_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/city_center/city_center_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/city_center/walls/bottom_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/city_center/walls/bottom_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/city_center/walls/bottom_left_corner.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/city_center/walls/bottom_right_corner.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/city_center/walls/bottom_right_corner_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/city_center/walls/bottom_right_corner_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/city_center/walls/left.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/city_center/walls/right.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/city_center/walls/top.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/city_center/walls/top_left_corner.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/city_center/walls/top_right_corner.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/structures/barracks.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/structures/camp_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/structures/camp_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/structures/camp_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/structures/chamber_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/structures/chamber_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/structures/chamber_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/structures/ice_box_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/structures/large_pillar_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/structures/large_ruin_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/structures/medium_pillar_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/structures/medium_ruin_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/structures/medium_ruin_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/structures/sauna_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/structures/small_ruin_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/structures/small_ruin_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/structures/small_statue.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/structures/tall_ruin_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/structures/tall_ruin_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/structures/tall_ruin_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/structures/tall_ruin_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/walls/intact_corner_wall_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/walls/intact_horizontal_wall_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/walls/intact_horizontal_wall_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/walls/intact_horizontal_wall_bridge.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/walls/intact_horizontal_wall_passage_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/walls/intact_horizontal_wall_stairs_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/walls/intact_horizontal_wall_stairs_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/walls/intact_horizontal_wall_stairs_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/walls/intact_horizontal_wall_stairs_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/walls/intact_intersection_wall_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/walls/intact_lshape_wall_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/walls/ruined_corner_wall_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/walls/ruined_corner_wall_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/walls/ruined_horizontal_wall_stairs_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/walls/ruined_horizontal_wall_stairs_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/walls/ruined_horizontal_wall_stairs_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ancient_city/walls/ruined_horizontal_wall_stairs_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/blocks/air.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/blocks/gold.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/bridge/bridge_pieces/bridge.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/bridge/connectors/back_bridge_bottom.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/bridge/connectors/back_bridge_top.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/bridge/legs/leg_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/bridge/legs/leg_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/bridge/rampart_plates/plate_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/bridge/ramparts/rampart_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/bridge/ramparts/rampart_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/bridge/starting_pieces/entrance.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/bridge/starting_pieces/entrance_base.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/bridge/starting_pieces/entrance_face.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/bridge/walls/wall_base_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/bridge/walls/wall_base_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/air_base.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/connectors/end_post_connector.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/large_stables/inner_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/large_stables/inner_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/large_stables/inner_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/large_stables/inner_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/large_stables/inner_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/large_stables/outer_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/large_stables/outer_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/large_stables/outer_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/large_stables/outer_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/large_stables/outer_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/posts/end_post.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/posts/stair_post.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/rampart_plates/rampart_plate_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/ramparts/ramparts_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/ramparts/ramparts_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/ramparts/ramparts_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/small_stables/inner_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/small_stables/inner_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/small_stables/inner_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/small_stables/inner_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/small_stables/outer_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/small_stables/outer_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/small_stables/outer_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/small_stables/outer_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/stairs/stairs_1_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/stairs/stairs_1_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/stairs/stairs_1_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/stairs/stairs_1_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/stairs/stairs_1_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/stairs/stairs_2_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/stairs/stairs_2_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/stairs/stairs_2_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/stairs/stairs_2_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/stairs/stairs_2_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/stairs/stairs_3_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/stairs/stairs_3_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/stairs/stairs_3_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/stairs/stairs_3_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/stairs/stairs_3_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/starting_pieces/stairs_0_mirrored.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/starting_pieces/stairs_1_mirrored.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/starting_pieces/stairs_2_mirrored.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/starting_pieces/stairs_3_mirrored.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/starting_pieces/stairs_4_mirrored.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/starting_pieces/starting_stairs_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/starting_pieces/starting_stairs_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/starting_pieces/starting_stairs_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/starting_pieces/starting_stairs_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/starting_pieces/starting_stairs_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/walls/side_wall_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/walls/side_wall_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/hoglin_stable/walls/wall_base.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/mobs/crossbow_piglin.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/mobs/empty.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/mobs/hoglin.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/mobs/melee_piglin.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/mobs/melee_piglin_always.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/mobs/sword_piglin.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/bases/centers/center_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/bases/centers/center_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/bases/centers/center_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/bases/centers/center_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/bases/lava_basin.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/big_air_full.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/brains/center_brain.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/connectors/center_to_wall_middle.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/connectors/center_to_wall_top.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/connectors/center_to_wall_top_entrance.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/corners/bottom/corner_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/corners/bottom/corner_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/corners/edges/bottom.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/corners/edges/middle.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/corners/edges/top.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/corners/middle/corner_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/corners/middle/corner_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/corners/top/corner_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/corners/top/corner_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/entrances/entrance_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/extensions/empty.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/extensions/fire_room.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/extensions/house_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/extensions/house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/extensions/large_bridge_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/extensions/large_bridge_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/extensions/large_bridge_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/extensions/large_bridge_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/extensions/roofed_bridge.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/extensions/small_bridge_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/extensions/small_bridge_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/extensions/small_bridge_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/extensions/small_bridge_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/ramparts/bottom_wall_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/ramparts/lava_basin_main.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/ramparts/lava_basin_side.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/ramparts/mid_wall_main.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/ramparts/mid_wall_side.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/ramparts/top_wall.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/roofs/center_roof.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/roofs/corner_roof.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/roofs/wall_roof.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/stairs/lower_stairs.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/walls/bottom/wall_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/walls/bottom/wall_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/walls/bottom/wall_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/walls/bottom/wall_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/walls/entrance_wall.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/walls/lava_wall.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/walls/mid/wall_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/walls/mid/wall_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/walls/mid/wall_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/walls/outer/bottom_corner.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/walls/outer/medium_outer_wall.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/walls/outer/mid_corner.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/walls/outer/outer_wall.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/walls/outer/tall_outer_wall.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/walls/outer/top_corner.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/walls/top/main_entrance.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/walls/top/wall_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/treasure/walls/top/wall_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/units/air_base.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/units/center_pieces/center_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/units/center_pieces/center_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/units/center_pieces/center_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/units/edges/edge_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/units/fillers/stage_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/units/pathways/pathway_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/units/pathways/pathway_wall_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/units/rampart_plates/plate_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/units/ramparts/ramparts_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/units/ramparts/ramparts_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/units/ramparts/ramparts_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/units/stages/rot/stage_1_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/units/stages/stage_0_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/units/stages/stage_0_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/units/stages/stage_0_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/units/stages/stage_0_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/units/stages/stage_1_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/units/stages/stage_1_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/units/stages/stage_1_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/units/stages/stage_1_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/units/stages/stage_2_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/units/stages/stage_2_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/units/stages/stage_3_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/units/stages/stage_3_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/units/stages/stage_3_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/units/stages/stage_3_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/units/wall_units/edge_0_large.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/units/wall_units/unit_0.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/units/walls/connected_wall.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/bastion/units/walls/wall_base.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/empty.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/end_city/base_floor.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/end_city/base_roof.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/end_city/bridge_end.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/end_city/bridge_gentle_stairs.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/end_city/bridge_piece.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/end_city/bridge_steep_stairs.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/end_city/fat_tower_base.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/end_city/fat_tower_middle.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/end_city/fat_tower_top.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/end_city/second_floor_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/end_city/second_floor_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/end_city/second_roof.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/end_city/ship.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/end_city/third_floor_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/end_city/third_floor_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/end_city/third_roof.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/end_city/tower_base.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/end_city/tower_floor.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/end_city/tower_piece.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/end_city/tower_top.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/fossil/skull_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/fossil/skull_1_coal.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/fossil/skull_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/fossil/skull_2_coal.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/fossil/skull_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/fossil/skull_3_coal.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/fossil/skull_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/fossil/skull_4_coal.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/fossil/spine_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/fossil/spine_1_coal.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/fossil/spine_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/fossil/spine_2_coal.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/fossil/spine_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/fossil/spine_3_coal.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/fossil/spine_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/fossil/spine_4_coal.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/igloo/bottom.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/igloo/middle.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/igloo/top.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/nether_fossils/fossil_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/nether_fossils/fossil_10.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/nether_fossils/fossil_11.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/nether_fossils/fossil_12.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/nether_fossils/fossil_13.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/nether_fossils/fossil_14.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/nether_fossils/fossil_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/nether_fossils/fossil_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/nether_fossils/fossil_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/nether_fossils/fossil_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/nether_fossils/fossil_6.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/nether_fossils/fossil_7.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/nether_fossils/fossil_8.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/nether_fossils/fossil_9.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/pillager_outpost/base_plate.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/pillager_outpost/feature_cage1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/pillager_outpost/feature_cage2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/pillager_outpost/feature_cage_with_allays.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/pillager_outpost/feature_logs.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/pillager_outpost/feature_plate.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/pillager_outpost/feature_targets.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/pillager_outpost/feature_tent1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/pillager_outpost/feature_tent2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/pillager_outpost/watchtower.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/pillager_outpost/watchtower_overgrown.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ruined_portal/giant_portal_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ruined_portal/giant_portal_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ruined_portal/giant_portal_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ruined_portal/portal_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ruined_portal/portal_10.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ruined_portal/portal_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ruined_portal/portal_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ruined_portal/portal_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ruined_portal/portal_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ruined_portal/portal_6.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ruined_portal/portal_7.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ruined_portal/portal_8.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/ruined_portal/portal_9.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/shipwreck/rightsideup_backhalf.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/shipwreck/rightsideup_backhalf_degraded.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/shipwreck/rightsideup_fronthalf.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/shipwreck/rightsideup_fronthalf_degraded.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/shipwreck/rightsideup_full.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/shipwreck/rightsideup_full_degraded.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/shipwreck/sideways_backhalf.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/shipwreck/sideways_backhalf_degraded.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/shipwreck/sideways_fronthalf.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/shipwreck/sideways_fronthalf_degraded.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/shipwreck/sideways_full.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/shipwreck/sideways_full_degraded.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/shipwreck/upsidedown_backhalf.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/shipwreck/upsidedown_backhalf_degraded.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/shipwreck/upsidedown_fronthalf.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/shipwreck/upsidedown_fronthalf_degraded.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/shipwreck/upsidedown_full.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/shipwreck/upsidedown_full_degraded.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/shipwreck/with_mast.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/shipwreck/with_mast_degraded.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/buildings/group_full_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/buildings/group_full_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/buildings/group_full_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/buildings/group_full_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/buildings/group_full_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/buildings/group_hall_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/buildings/group_hall_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/buildings/group_hall_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/buildings/group_hall_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/buildings/group_hall_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/buildings/group_lower_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/buildings/group_lower_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/buildings/group_lower_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/buildings/group_lower_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/buildings/group_lower_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/buildings/group_room_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/buildings/group_room_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/buildings/group_room_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/buildings/group_room_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/buildings/group_room_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/buildings/group_upper_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/buildings/group_upper_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/buildings/group_upper_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/buildings/group_upper_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/buildings/group_upper_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/buildings/large_room_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/buildings/large_room_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/buildings/large_room_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/buildings/large_room_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/buildings/large_room_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/buildings/one_room_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/buildings/one_room_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/buildings/one_room_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/buildings/one_room_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/buildings/one_room_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/decor/decor_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/decor/decor_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/decor/decor_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/decor/decor_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/decor/decor_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/decor/decor_6.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/decor/decor_7.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/roads/long_road_end.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/roads/road_end_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/roads/road_section_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/roads/road_section_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/roads/road_section_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/roads/road_section_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/roads/road_spacer_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/tower/hall_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/tower/hall_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/tower/hall_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/tower/hall_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/tower/hall_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/tower/large_hall_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/tower/large_hall_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/tower/large_hall_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/tower/large_hall_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/tower/large_hall_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/tower/one_room_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/tower/one_room_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/tower/one_room_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/tower/one_room_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/tower/one_room_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/tower/platform_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/tower/platform_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/tower/platform_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/tower/platform_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/tower/platform_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/tower/stable_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/tower/stable_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/tower/stable_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/tower/stable_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/tower/stable_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/tower/tower_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/tower/tower_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/tower/tower_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/tower/tower_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/tower/tower_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/tower/tower_top_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/tower/tower_top_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/tower/tower_top_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/tower/tower_top_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trail_ruins/tower/tower_top_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/addon/c1_breeze.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/addon/full_corner_column.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/addon/full_stacked_walkway.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/addon/full_stacked_walkway_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/addon/grate_bridge.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/addon/hanging_platform.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/addon/lower_staircase_down.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/addon/short_grate_platform.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/addon/short_platform.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/addon/walkway_with_bridge_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/assembly.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/assembly/cover_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/assembly/cover_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/assembly/cover_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/assembly/cover_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/assembly/cover_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/assembly/cover_6.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/assembly/cover_7.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/assembly/full_column.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/assembly/hanging_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/assembly/hanging_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/assembly/hanging_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/assembly/hanging_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/assembly/hanging_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/assembly/left_staircase_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/assembly/left_staircase_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/assembly/left_staircase_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/assembly/platform_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/assembly/right_staircase_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/assembly/right_staircase_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/assembly/right_staircase_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/assembly/spawner_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/chamber_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/chamber_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/chamber_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/chamber_8.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/entrance_cap.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/eruption.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/eruption/breeze_slice_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/eruption/center_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/eruption/quadrant_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/eruption/quadrant_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/eruption/quadrant_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/eruption/quadrant_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/eruption/quadrant_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/eruption/slice_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/eruption/slice_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/eruption/slice_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/pedestal.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/pedestal/center_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/pedestal/ominous_slice_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/pedestal/quadrant_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/pedestal/quadrant_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/pedestal/quadrant_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/pedestal/slice_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/pedestal/slice_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/pedestal/slice_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/pedestal/slice_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/pedestal/slice_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/slanted.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/slanted/center.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/slanted/hallway_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/slanted/hallway_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/slanted/hallway_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/slanted/ominous_upper_arm_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/slanted/quadrant_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/slanted/quadrant_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/slanted/quadrant_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/slanted/quadrant_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/slanted/ramp_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/slanted/ramp_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/slanted/ramp_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chamber/slanted/ramp_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chests/connectors/supply.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/chests/supply.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/addon/arrow_dispenser.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/addon/bridge_lower.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/addon/chandelier_upper.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/addon/decoration_upper.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/addon/display_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/addon/display_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/addon/display_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/addon/head_upper.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/addon/ladder_to_middle.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/addon/open_walkway.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/addon/open_walkway_upper.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/addon/reward_upper.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/addon/staircase.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/addon/wall.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/addon/walled_walkway.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/atrium/bogged_relief.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/atrium/breeze_relief.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/atrium/grand_staircase_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/atrium/grand_staircase_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/atrium/grand_staircase_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/atrium/spider_relief.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/atrium/spiral_relief.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/atrium_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/end_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/end_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/entrance_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/entrance_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/entrance_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/first_plate.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/second_plate.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/straight_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/straight_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/straight_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/straight_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/straight_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/straight_6.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/straight_7.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/corridor/straight_8.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/decor/barrel.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/decor/black_bed.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/decor/blue_bed.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/decor/brown_bed.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/decor/candle_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/decor/candle_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/decor/candle_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/decor/candle_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/decor/cyan_bed.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/decor/dead_bush_pot.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/decor/disposal.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/decor/empty_pot.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/decor/flow_pot.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/decor/gray_bed.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/decor/green_bed.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/decor/guster_pot.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/decor/light_blue_bed.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/decor/light_gray_bed.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/decor/lime_bed.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/decor/magenta_bed.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/decor/orange_bed.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/decor/pink_bed.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/decor/purple_bed.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/decor/red_bed.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/decor/scrape_pot.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/decor/undecorated_pot.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/decor/white_bed.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/decor/yellow_bed.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/dispensers/chamber.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/dispensers/floor_dispenser.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/dispensers/wall_dispenser.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/hallway/cache_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/hallway/corner_staircase.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/hallway/corner_staircase_down.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/hallway/corridor_connector_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/hallway/encounter_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/hallway/encounter_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/hallway/encounter_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/hallway/encounter_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/hallway/encounter_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/hallway/left_corner.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/hallway/long_straight_staircase.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/hallway/long_straight_staircase_down.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/hallway/lower_hallway_connector.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/hallway/right_corner.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/hallway/rubble.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/hallway/rubble_chamber.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/hallway/rubble_chamber_thin.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/hallway/rubble_thin.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/hallway/straight.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/hallway/straight_staircase.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/hallway/straight_staircase_down.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/hallway/trapped_staircase.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/hallway/upper_hallway_connector.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/intersection/intersection_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/intersection/intersection_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/intersection/intersection_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/reward/ominous_vault.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/reward/vault.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/spawner/breeze/breeze.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/spawner/connectors/breeze.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/spawner/connectors/melee.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/spawner/connectors/ranged.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/spawner/connectors/slow_ranged.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/spawner/connectors/small_melee.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/spawner/melee/husk.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/spawner/melee/spider.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/spawner/melee/zombie.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/spawner/ranged/poison_skeleton.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/spawner/ranged/skeleton.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/spawner/ranged/stray.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/spawner/slow_ranged/poison_skeleton.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/spawner/slow_ranged/skeleton.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/spawner/slow_ranged/stray.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/spawner/small_melee/baby_zombie.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/spawner/small_melee/cave_spider.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/spawner/small_melee/silverfish.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/trial_chambers/spawner/small_melee/slime.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/big_brick_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/big_brick_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/big_brick_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/big_brick_8.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/big_cracked_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/big_cracked_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/big_cracked_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/big_cracked_8.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/big_mossy_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/big_mossy_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/big_mossy_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/big_mossy_8.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/big_warm_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/big_warm_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/big_warm_6.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/big_warm_7.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/brick_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/brick_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/brick_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/brick_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/brick_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/brick_6.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/brick_7.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/brick_8.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/cracked_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/cracked_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/cracked_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/cracked_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/cracked_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/cracked_6.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/cracked_7.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/cracked_8.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/mossy_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/mossy_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/mossy_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/mossy_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/mossy_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/mossy_6.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/mossy_7.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/mossy_8.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/warm_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/warm_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/warm_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/warm_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/warm_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/warm_6.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/warm_7.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/underwater_ruin/warm_8.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/common/animals/cat_black.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/common/animals/cat_british.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/common/animals/cat_calico.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/common/animals/cat_jellie.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/common/animals/cat_persian.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/common/animals/cat_ragdoll.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/common/animals/cat_red.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/common/animals/cat_siamese.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/common/animals/cat_tabby.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/common/animals/cat_white.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/common/animals/cows_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/common/animals/horses_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/common/animals/horses_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/common/animals/horses_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/common/animals/horses_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/common/animals/horses_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/common/animals/pigs_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/common/animals/sheep_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/common/animals/sheep_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/common/iron_golem.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/common/well_bottom.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/decays/grass_11x13.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/decays/grass_16x16.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/decays/grass_9x9.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/camel_spawn.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/desert_lamp_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/houses/desert_animal_pen_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/houses/desert_animal_pen_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/houses/desert_armorer_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/houses/desert_butcher_shop_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/houses/desert_cartographer_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/houses/desert_farm_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/houses/desert_farm_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/houses/desert_fisher_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/houses/desert_fletcher_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/houses/desert_large_farm_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/houses/desert_library_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/houses/desert_mason_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/houses/desert_medium_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/houses/desert_medium_house_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/houses/desert_shepherd_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/houses/desert_small_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/houses/desert_small_house_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/houses/desert_small_house_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/houses/desert_small_house_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/houses/desert_small_house_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/houses/desert_small_house_6.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/houses/desert_small_house_7.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/houses/desert_small_house_8.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/houses/desert_tannery_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/houses/desert_temple_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/houses/desert_temple_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/houses/desert_tool_smith_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/houses/desert_weaponsmith_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/streets/corner_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/streets/corner_02.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/streets/crossroad_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/streets/crossroad_02.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/streets/crossroad_03.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/streets/square_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/streets/square_02.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/streets/straight_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/streets/straight_02.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/streets/straight_03.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/streets/turn_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/terminators/terminator_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/terminators/terminator_02.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/town_centers/desert_meeting_point_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/town_centers/desert_meeting_point_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/town_centers/desert_meeting_point_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/villagers/baby.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/villagers/nitwit.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/villagers/unemployed.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/zombie/houses/desert_medium_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/zombie/houses/desert_medium_house_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/zombie/houses/desert_small_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/zombie/houses/desert_small_house_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/zombie/houses/desert_small_house_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/zombie/houses/desert_small_house_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/zombie/houses/desert_small_house_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/zombie/houses/desert_small_house_6.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/zombie/houses/desert_small_house_7.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/zombie/houses/desert_small_house_8.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/zombie/streets/corner_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/zombie/streets/corner_02.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/zombie/streets/crossroad_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/zombie/streets/crossroad_02.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/zombie/streets/crossroad_03.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/zombie/streets/square_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/zombie/streets/square_02.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/zombie/streets/straight_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/zombie/streets/straight_02.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/zombie/streets/straight_03.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/zombie/streets/turn_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/zombie/terminators/terminator_02.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/zombie/town_centers/desert_meeting_point_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/zombie/town_centers/desert_meeting_point_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/zombie/town_centers/desert_meeting_point_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/zombie/villagers/nitwit.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/desert/zombie/villagers/unemployed.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/houses/plains_accessory_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/houses/plains_animal_pen_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/houses/plains_animal_pen_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/houses/plains_animal_pen_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/houses/plains_armorer_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/houses/plains_big_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/houses/plains_butcher_shop_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/houses/plains_butcher_shop_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/houses/plains_cartographer_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/houses/plains_fisher_cottage_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/houses/plains_fletcher_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/houses/plains_large_farm_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/houses/plains_library_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/houses/plains_library_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/houses/plains_masons_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/houses/plains_medium_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/houses/plains_medium_house_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/houses/plains_meeting_point_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/houses/plains_meeting_point_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/houses/plains_shepherds_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/houses/plains_small_farm_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/houses/plains_small_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/houses/plains_small_house_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/houses/plains_small_house_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/houses/plains_small_house_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/houses/plains_small_house_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/houses/plains_small_house_6.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/houses/plains_small_house_7.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/houses/plains_small_house_8.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/houses/plains_stable_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/houses/plains_stable_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/houses/plains_tannery_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/houses/plains_temple_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/houses/plains_temple_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/houses/plains_tool_smith_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/houses/plains_weaponsmith_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/plains_lamp_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/streets/corner_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/streets/corner_02.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/streets/corner_03.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/streets/crossroad_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/streets/crossroad_02.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/streets/crossroad_03.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/streets/crossroad_04.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/streets/crossroad_05.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/streets/crossroad_06.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/streets/straight_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/streets/straight_02.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/streets/straight_03.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/streets/straight_04.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/streets/straight_05.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/streets/straight_06.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/streets/turn_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/terminators/terminator_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/terminators/terminator_02.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/terminators/terminator_03.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/terminators/terminator_04.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/town_centers/plains_fountain_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/town_centers/plains_meeting_point_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/town_centers/plains_meeting_point_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/town_centers/plains_meeting_point_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/villagers/baby.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/villagers/nitwit.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/villagers/unemployed.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/houses/plains_animal_pen_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/houses/plains_big_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/houses/plains_butcher_shop_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/houses/plains_fletcher_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/houses/plains_medium_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/houses/plains_medium_house_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/houses/plains_meeting_point_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/houses/plains_meeting_point_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/houses/plains_shepherds_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/houses/plains_small_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/houses/plains_small_house_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/houses/plains_small_house_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/houses/plains_small_house_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/houses/plains_small_house_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/houses/plains_small_house_6.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/houses/plains_small_house_7.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/houses/plains_small_house_8.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/houses/plains_stable_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/streets/corner_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/streets/corner_02.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/streets/corner_03.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/streets/crossroad_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/streets/crossroad_02.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/streets/crossroad_03.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/streets/crossroad_04.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/streets/crossroad_05.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/streets/crossroad_06.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/streets/straight_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/streets/straight_02.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/streets/straight_03.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/streets/straight_04.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/streets/straight_05.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/streets/straight_06.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/streets/turn_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/town_centers/plains_fountain_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/town_centers/plains_meeting_point_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/town_centers/plains_meeting_point_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/town_centers/plains_meeting_point_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/villagers/nitwit.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/plains/zombie/villagers/unemployed.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/houses/savanna_animal_pen_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/houses/savanna_animal_pen_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/houses/savanna_animal_pen_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/houses/savanna_armorer_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/houses/savanna_butchers_shop_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/houses/savanna_butchers_shop_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/houses/savanna_cartographer_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/houses/savanna_fisher_cottage_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/houses/savanna_fletcher_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/houses/savanna_large_farm_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/houses/savanna_large_farm_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/houses/savanna_library_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/houses/savanna_mason_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/houses/savanna_medium_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/houses/savanna_medium_house_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/houses/savanna_shepherd_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/houses/savanna_small_farm.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/houses/savanna_small_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/houses/savanna_small_house_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/houses/savanna_small_house_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/houses/savanna_small_house_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/houses/savanna_small_house_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/houses/savanna_small_house_6.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/houses/savanna_small_house_7.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/houses/savanna_small_house_8.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/houses/savanna_tannery_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/houses/savanna_temple_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/houses/savanna_temple_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/houses/savanna_tool_smith_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/houses/savanna_weaponsmith_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/houses/savanna_weaponsmith_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/savanna_lamp_post_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/streets/corner_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/streets/corner_03.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/streets/crossroad_02.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/streets/crossroad_03.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/streets/crossroad_04.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/streets/crossroad_05.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/streets/crossroad_06.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/streets/crossroad_07.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/streets/split_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/streets/split_02.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/streets/straight_02.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/streets/straight_04.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/streets/straight_05.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/streets/straight_06.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/streets/straight_08.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/streets/straight_09.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/streets/straight_10.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/streets/straight_11.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/streets/turn_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/terminators/terminator_05.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/town_centers/savanna_meeting_point_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/town_centers/savanna_meeting_point_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/town_centers/savanna_meeting_point_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/town_centers/savanna_meeting_point_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/villagers/baby.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/villagers/nitwit.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/villagers/unemployed.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/houses/savanna_animal_pen_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/houses/savanna_animal_pen_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/houses/savanna_large_farm_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/houses/savanna_medium_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/houses/savanna_medium_house_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/houses/savanna_small_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/houses/savanna_small_house_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/houses/savanna_small_house_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/houses/savanna_small_house_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/houses/savanna_small_house_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/houses/savanna_small_house_6.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/houses/savanna_small_house_7.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/houses/savanna_small_house_8.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/streets/corner_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/streets/corner_03.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/streets/crossroad_02.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/streets/crossroad_03.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/streets/crossroad_04.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/streets/crossroad_05.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/streets/crossroad_06.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/streets/crossroad_07.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/streets/split_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/streets/split_02.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/streets/straight_02.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/streets/straight_04.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/streets/straight_05.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/streets/straight_06.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/streets/straight_08.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/streets/straight_09.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/streets/straight_10.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/streets/straight_11.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/streets/turn_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/terminators/terminator_05.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/town_centers/savanna_meeting_point_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/town_centers/savanna_meeting_point_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/town_centers/savanna_meeting_point_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/town_centers/savanna_meeting_point_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/villagers/nitwit.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/savanna/zombie/villagers/unemployed.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/houses/snowy_animal_pen_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/houses/snowy_animal_pen_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/houses/snowy_armorer_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/houses/snowy_armorer_house_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/houses/snowy_butchers_shop_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/houses/snowy_butchers_shop_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/houses/snowy_cartographer_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/houses/snowy_farm_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/houses/snowy_farm_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/houses/snowy_fisher_cottage.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/houses/snowy_fletcher_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/houses/snowy_library_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/houses/snowy_masons_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/houses/snowy_masons_house_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/houses/snowy_medium_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/houses/snowy_medium_house_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/houses/snowy_medium_house_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/houses/snowy_shepherds_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/houses/snowy_small_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/houses/snowy_small_house_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/houses/snowy_small_house_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/houses/snowy_small_house_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/houses/snowy_small_house_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/houses/snowy_small_house_6.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/houses/snowy_small_house_7.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/houses/snowy_small_house_8.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/houses/snowy_tannery_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/houses/snowy_temple_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/houses/snowy_tool_smith_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/houses/snowy_weapon_smith_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/snowy_lamp_post_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/snowy_lamp_post_02.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/snowy_lamp_post_03.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/streets/corner_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/streets/corner_02.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/streets/corner_03.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/streets/crossroad_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/streets/crossroad_02.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/streets/crossroad_03.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/streets/crossroad_04.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/streets/crossroad_05.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/streets/crossroad_06.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/streets/square_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/streets/straight_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/streets/straight_02.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/streets/straight_03.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/streets/straight_04.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/streets/straight_06.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/streets/straight_08.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/streets/turn_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/town_centers/snowy_meeting_point_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/town_centers/snowy_meeting_point_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/town_centers/snowy_meeting_point_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/villagers/baby.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/villagers/nitwit.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/villagers/unemployed.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/zombie/houses/snowy_medium_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/zombie/houses/snowy_medium_house_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/zombie/houses/snowy_medium_house_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/zombie/houses/snowy_small_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/zombie/houses/snowy_small_house_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/zombie/houses/snowy_small_house_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/zombie/houses/snowy_small_house_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/zombie/houses/snowy_small_house_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/zombie/houses/snowy_small_house_6.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/zombie/houses/snowy_small_house_7.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/zombie/houses/snowy_small_house_8.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/zombie/streets/corner_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/zombie/streets/corner_02.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/zombie/streets/corner_03.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/zombie/streets/crossroad_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/zombie/streets/crossroad_02.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/zombie/streets/crossroad_03.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/zombie/streets/crossroad_04.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/zombie/streets/crossroad_05.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/zombie/streets/crossroad_06.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/zombie/streets/square_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/zombie/streets/straight_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/zombie/streets/straight_02.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/zombie/streets/straight_03.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/zombie/streets/straight_04.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/zombie/streets/straight_06.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/zombie/streets/straight_08.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/zombie/streets/turn_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/zombie/town_centers/snowy_meeting_point_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/zombie/town_centers/snowy_meeting_point_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/zombie/town_centers/snowy_meeting_point_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/zombie/villagers/nitwit.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/snowy/zombie/villagers/unemployed.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/houses/taiga_animal_pen_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/houses/taiga_armorer_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/houses/taiga_armorer_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/houses/taiga_butcher_shop_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/houses/taiga_cartographer_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/houses/taiga_fisher_cottage_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/houses/taiga_fletcher_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/houses/taiga_large_farm_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/houses/taiga_large_farm_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/houses/taiga_library_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/houses/taiga_masons_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/houses/taiga_medium_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/houses/taiga_medium_house_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/houses/taiga_medium_house_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/houses/taiga_medium_house_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/houses/taiga_shepherds_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/houses/taiga_small_farm_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/houses/taiga_small_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/houses/taiga_small_house_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/houses/taiga_small_house_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/houses/taiga_small_house_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/houses/taiga_small_house_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/houses/taiga_tannery_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/houses/taiga_temple_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/houses/taiga_tool_smith_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/houses/taiga_weaponsmith_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/houses/taiga_weaponsmith_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/streets/corner_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/streets/corner_02.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/streets/corner_03.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/streets/crossroad_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/streets/crossroad_02.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/streets/crossroad_03.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/streets/crossroad_04.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/streets/crossroad_05.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/streets/crossroad_06.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/streets/straight_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/streets/straight_02.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/streets/straight_03.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/streets/straight_04.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/streets/straight_05.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/streets/straight_06.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/streets/turn_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/taiga_decoration_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/taiga_decoration_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/taiga_decoration_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/taiga_decoration_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/taiga_decoration_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/taiga_decoration_6.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/taiga_lamp_post_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/town_centers/taiga_meeting_point_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/town_centers/taiga_meeting_point_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/villagers/baby.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/villagers/nitwit.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/villagers/unemployed.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/houses/taiga_cartographer_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/houses/taiga_fisher_cottage_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/houses/taiga_large_farm_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/houses/taiga_library_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/houses/taiga_medium_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/houses/taiga_medium_house_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/houses/taiga_medium_house_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/houses/taiga_medium_house_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/houses/taiga_shepherds_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/houses/taiga_small_house_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/houses/taiga_small_house_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/houses/taiga_small_house_3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/houses/taiga_small_house_4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/houses/taiga_small_house_5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/houses/taiga_temple_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/houses/taiga_tool_smith_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/houses/taiga_weaponsmith_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/streets/corner_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/streets/corner_02.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/streets/corner_03.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/streets/crossroad_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/streets/crossroad_02.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/streets/crossroad_03.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/streets/crossroad_04.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/streets/crossroad_05.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/streets/crossroad_06.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/streets/straight_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/streets/straight_02.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/streets/straight_03.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/streets/straight_04.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/streets/straight_05.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/streets/straight_06.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/streets/turn_01.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/town_centers/taiga_meeting_point_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/town_centers/taiga_meeting_point_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/villagers/nitwit.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/village/taiga/zombie/villagers/unemployed.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x1_a1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x1_a2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x1_a3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x1_a4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x1_a5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x1_as1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x1_as2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x1_as3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x1_as4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x1_b1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x1_b2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x1_b3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x1_b4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x1_b5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x2_a1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x2_a2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x2_a3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x2_a4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x2_a5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x2_a6.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x2_a7.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x2_a8.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x2_a9.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x2_b1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x2_b2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x2_b3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x2_b4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x2_b5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x2_c1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x2_c2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x2_c3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x2_c4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x2_c_stairs.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x2_d1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x2_d2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x2_d3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x2_d4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x2_d5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x2_d_stairs.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x2_s1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x2_s2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/1x2_se1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/2x2_a1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/2x2_a2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/2x2_a3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/2x2_a4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/2x2_b1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/2x2_b2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/2x2_b3.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/2x2_b4.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/2x2_b5.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/2x2_s1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/carpet_east.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/carpet_north.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/carpet_south_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/carpet_south_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/carpet_west_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/carpet_west_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/corridor_floor.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/entrance.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/indoors_door_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/indoors_door_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/indoors_wall_1.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/indoors_wall_2.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/roof.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/roof_corner.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/roof_front.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/roof_inner_corner.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/small_wall.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/small_wall_corner.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/wall_corner.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/wall_flat.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/structures/woodland_mansion/wall_window.nbt (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/ancient_city_generic_degradation.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/ancient_city_start_degradation.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/ancient_city_walls_degradation.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/bastion_generic_degradation.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/bottom_rampart.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/bridge.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/empty.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/entrance_replacement.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/farm_desert.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/farm_plains.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/farm_savanna.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/farm_snowy.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/farm_taiga.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/fossil_coal.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/fossil_diamonds.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/fossil_rot.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/high_rampart.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/high_wall.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/housing.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/mossify_10_percent.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/mossify_20_percent.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/mossify_70_percent.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/outpost_rot.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/rampart_degradation.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/roof.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/side_wall_degradation.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/stable_degradation.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/street_plains.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/street_savanna.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/street_snowy_or_taiga.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/trail_ruins_houses_archaeology.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/trail_ruins_roads_archaeology.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/trail_ruins_tower_top_archaeology.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/treasure_rooms.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/trial_chambers_copper_bulb_degradation.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/zombie_desert.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/zombie_plains.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/zombie_savanna.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/zombie_snowy.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/processor_list/zombie_taiga.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/ancient_city/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/ancient_city/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/ancient_city/city/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/ancient_city/city/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/ancient_city/city/entrance.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/ancient_city/city_center.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/ancient_city/city_center/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/ancient_city/city_center/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/ancient_city/city_center/walls.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/ancient_city/sculk.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/ancient_city/structures.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/ancient_city/walls.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/ancient_city/walls/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/ancient_city/walls/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/ancient_city/walls/no_corners.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/blocks/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/blocks/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/blocks/gold.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/bridge/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/bridge/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/bridge/bridge_pieces.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/bridge/connectors.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/bridge/legs.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/bridge/rampart_plates.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/bridge/ramparts.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/bridge/starting_pieces.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/bridge/walls.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/hoglin_stable/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/hoglin_stable/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/hoglin_stable/connectors.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/hoglin_stable/large_stables/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/hoglin_stable/large_stables/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/hoglin_stable/large_stables/inner.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/hoglin_stable/large_stables/outer.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/hoglin_stable/mirrored_starting_pieces.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/hoglin_stable/posts.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/hoglin_stable/rampart_plates.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/hoglin_stable/ramparts.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/hoglin_stable/small_stables/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/hoglin_stable/small_stables/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/hoglin_stable/small_stables/inner.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/hoglin_stable/small_stables/outer.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/hoglin_stable/stairs.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/hoglin_stable/starting_pieces.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/hoglin_stable/wall_bases.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/hoglin_stable/walls.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/mobs/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/mobs/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/mobs/hoglin.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/mobs/piglin.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/mobs/piglin_melee.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/starts.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/treasure/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/treasure/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/treasure/bases.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/treasure/bases/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/treasure/bases/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/treasure/bases/centers.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/treasure/brains.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/treasure/connectors.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/treasure/corners/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/treasure/corners/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/treasure/corners/bottom.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/treasure/corners/edges.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/treasure/corners/middle.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/treasure/corners/top.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/treasure/entrances.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/treasure/extensions/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/treasure/extensions/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/treasure/extensions/houses.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/treasure/extensions/large_pool.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/treasure/extensions/small_pool.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/treasure/ramparts.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/treasure/roofs.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/treasure/stairs.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/treasure/walls.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/treasure/walls/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/treasure/walls/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/treasure/walls/bottom.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/treasure/walls/mid.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/treasure/walls/outer.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/treasure/walls/top.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/units/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/units/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/units/center_pieces.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/units/edge_wall_units.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/units/edges.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/units/fillers/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/units/fillers/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/units/fillers/stage_0.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/units/large_ramparts.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/units/pathways.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/units/rampart_plates.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/units/ramparts.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/units/stages/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/units/stages/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/units/stages/rot/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/units/stages/rot/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/units/stages/rot/stage_1.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/units/stages/stage_0.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/units/stages/stage_1.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/units/stages/stage_2.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/units/stages/stage_3.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/units/wall_units.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/units/walls/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/units/walls/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/bastion/units/walls/wall_bases.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/empty.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/pillager_outpost/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/pillager_outpost/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/pillager_outpost/base_plates.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/pillager_outpost/feature_plates.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/pillager_outpost/features.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/pillager_outpost/towers.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trail_ruins/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trail_ruins/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trail_ruins/buildings.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trail_ruins/buildings/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trail_ruins/buildings/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trail_ruins/buildings/grouped.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trail_ruins/decor.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trail_ruins/roads.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trail_ruins/tower.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trail_ruins/tower/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trail_ruins/tower/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trail_ruins/tower/additions.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trail_ruins/tower/tower_top.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/atrium.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/chamber/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/chamber/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/chamber/addon.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/chamber/assembly.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/chamber/end.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/chamber/entrance_cap.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/chamber/eruption.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/chamber/pedestal.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/chamber/slanted.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/chambers/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/chambers/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/chambers/end.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/chests/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/chests/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/chests/contents/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/chests/contents/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/chests/contents/supply.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/chests/supply.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/corridor.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/corridor/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/corridor/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/corridor/slices.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/corridors/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/corridors/addon/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/corridors/addon/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/corridors/addon/lower.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/corridors/addon/middle.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/corridors/addon/middle_upper.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/decor.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/decor/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/decor/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/decor/bed.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/decor/chamber.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/decor/disposal.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/dispensers/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/dispensers/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/dispensers/chamber.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/entrance.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/hallway.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/hallway/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/hallway/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/hallway/fallback.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/reward/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/reward/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/reward/all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/reward/contents/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/reward/contents/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/reward/contents/default.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/reward/ominous_vault.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/spawner/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/spawner/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/spawner/all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/spawner/breeze.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/spawner/contents/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/spawner/contents/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/spawner/contents/breeze.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/spawner/melee.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/spawner/melee/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/spawner/melee/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/spawner/melee/husk.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/spawner/melee/spider.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/spawner/melee/zombie.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/spawner/ranged.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/spawner/ranged/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/spawner/ranged/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/spawner/ranged/poison_skeleton.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/spawner/ranged/skeleton.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/spawner/ranged/stray.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/spawner/slow_ranged.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/spawner/slow_ranged/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/spawner/slow_ranged/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/spawner/slow_ranged/poison_skeleton.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/spawner/slow_ranged/skeleton.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/spawner/slow_ranged/stray.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/spawner/small_melee.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/spawner/small_melee/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/spawner/small_melee/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/spawner/small_melee/baby_zombie.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/spawner/small_melee/cave_spider.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/spawner/small_melee/silverfish.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/trial_chambers/spawner/small_melee/slime.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/common/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/common/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/common/animals.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/common/butcher_animals.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/common/cats.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/common/iron_golem.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/common/sheep.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/common/well_bottoms.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/desert/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/desert/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/desert/camel.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/desert/decor.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/desert/houses.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/desert/streets.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/desert/terminators.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/desert/town_centers.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/desert/villagers.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/desert/zombie/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/desert/zombie/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/desert/zombie/decor.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/desert/zombie/houses.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/desert/zombie/streets.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/desert/zombie/terminators.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/desert/zombie/villagers.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/plains/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/plains/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/plains/decor.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/plains/houses.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/plains/streets.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/plains/terminators.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/plains/town_centers.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/plains/trees.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/plains/villagers.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/plains/zombie/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/plains/zombie/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/plains/zombie/decor.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/plains/zombie/houses.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/plains/zombie/streets.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/plains/zombie/villagers.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/savanna/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/savanna/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/savanna/decor.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/savanna/houses.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/savanna/streets.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/savanna/terminators.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/savanna/town_centers.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/savanna/trees.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/savanna/villagers.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/savanna/zombie/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/savanna/zombie/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/savanna/zombie/decor.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/savanna/zombie/houses.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/savanna/zombie/streets.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/savanna/zombie/terminators.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/savanna/zombie/villagers.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/snowy/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/snowy/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/snowy/decor.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/snowy/houses.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/snowy/streets.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/snowy/terminators.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/snowy/town_centers.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/snowy/trees.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/snowy/villagers.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/snowy/zombie/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/snowy/zombie/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/snowy/zombie/decor.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/snowy/zombie/houses.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/snowy/zombie/streets.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/snowy/zombie/villagers.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/taiga/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/taiga/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/taiga/decor.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/taiga/houses.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/taiga/streets.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/taiga/terminators.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/taiga/town_centers.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/taiga/villagers.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/taiga/zombie/_all.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/taiga/zombie/_list.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/taiga/zombie/decor.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/taiga/zombie/houses.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/taiga/zombie/streets.json (100%) rename {pumpkin-world => crates/pumpkin-world}/assets/worldgen/template_pool/village/taiga/zombie/villagers.json (100%) rename {pumpkin-world => crates/pumpkin-world}/benches/chunk.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/benches/chunk_gen.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/benches/chunk_gen_concurrent.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/benches/chunk_io.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/benches/noise_router.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/build.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/biome/end.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/biome/mod.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/biome/multi_noise.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/biome/position_finder.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/block/entities.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/block/mod.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/block/viewer.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/chunk/format/anvil.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/chunk/format/linear.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/chunk/format/mod.rs (96%) rename {pumpkin-world => crates/pumpkin-world}/src/chunk/format/pump.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/chunk/io/file_manager.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/chunk/io/mod.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/chunk/mod.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/chunk/palette.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/chunk_system/channel.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/chunk_system/chunk_holder.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/chunk_system/chunk_listener.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/chunk_system/chunk_loading.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/chunk_system/chunk_state.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/chunk_system/dag.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/chunk_system/generation.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/chunk_system/generation_cache.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/chunk_system/mod.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/chunk_system/schedule.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/chunk_system/tests.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/chunk_system/worker_logic.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/cylindrical_chunk_iterator.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/data/mod.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/data/player_data.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/dimension.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/biome.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/blender/blending_data.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/blender/mod.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/block_predicate.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/block_state_provider.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/carver/canyon.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/carver/cave.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/carver/mask.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/carver/mod.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/configured_features.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/bamboo.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/basalt_columns.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/basalt_pillar.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/block_column.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/block_pile.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/blue_ice.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/bonus_chest.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/chorus_plant.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/coral/coral_claw.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/coral/coral_mushroom.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/coral/coral_tree.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/coral/mod.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/delta_feature.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/desert_well.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/disk.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/drip_stone/cluster.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/drip_stone/large.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/drip_stone/mod.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/drip_stone/small.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/end_gateway.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/end_island.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/end_platform.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/end_spike.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/fallen_tree.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/fill_layer.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/forest_rock.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/fossil.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/freeze_top_layer.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/geode.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/glowstone_blob.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/huge_brown_mushroom.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/huge_fungus.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/huge_red_mushroom.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/ice_spike.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/iceberg.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/kelp.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/lake.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/mod.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/monster_room.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/multiface_growth.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/nether_forest_vegetation.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/netherrack_replace_blobs.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/ore.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/random_boolean_selector.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/random_patch.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/random_selector.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/replace_single_block.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/root_system.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/scattered_ore.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/sculk_patch.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/sea_pickle.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/seagrass.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/simple_block.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/simple_random_selector.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/spring_feature.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/tree/decorator/alter_ground.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/tree/decorator/attached_to_leaves.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/tree/decorator/attached_to_logs.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/tree/decorator/beehive.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/tree/decorator/cocoa.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/tree/decorator/creaking_heart.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/tree/decorator/leave_vine.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/tree/decorator/mod.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/tree/decorator/pale_moss.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/tree/decorator/place_on_ground.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/tree/decorator/trunk_vine.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/tree/foliage/acacia.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/tree/foliage/blob.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/tree/foliage/bush.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/tree/foliage/cherry.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/tree/foliage/dark_oak.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/tree/foliage/fancy.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/tree/foliage/jungle.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/tree/foliage/mega_pine.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/tree/foliage/mod.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/tree/foliage/pine.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/tree/foliage/random_spread.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/tree/foliage/spruce.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/tree/mod.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/tree/root/mangrove.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/tree/root/mod.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/tree/trunk/bending.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/tree/trunk/cherry.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/tree/trunk/dark_oak.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/tree/trunk/fancy.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/tree/trunk/forking.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/tree/trunk/giant.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/tree/trunk/mega_jungle.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/tree/trunk/mod.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/tree/trunk/straight.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/tree/trunk/upwards_branching.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/twisting_vines.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/underwater_magma.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/vegetation_patch.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/vines.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/void_start_platform.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/waterlogged_vegetation_patch.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/features/weeping_vines.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/mod.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/placed_features.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/feature/size.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/generator/flat.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/generator/mod.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/generator/structure_finder.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/height_limit.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/height_provider.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/mod.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/noise/aquifer_sampler.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/noise/mod.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/noise/ore_sampler.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/noise/perlin.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/noise/router/chunk_density_function.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/noise/router/chunk_noise_router.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/noise/router/density_function/beardifier.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/noise/router/density_function/math.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/noise/router/density_function/misc.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/noise/router/density_function/mod.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/noise/router/density_function/noise.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/noise/router/density_function/spline.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/noise/router/density_function/test.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/noise/router/density_function/test_deserializer.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/noise/router/find_top_surface.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/noise/router/mod.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/noise/router/multi_noise_sampler.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/noise/router/proto_noise_router.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/noise/router/static_router.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/noise/router/surface_height_sampler.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/positions.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/proto_chunk.rs (99%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/proto_chunk_test.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/rule/block_match.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/rule/block_state_match.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/rule/mod.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/rule/random_block_match.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/rule/random_block_state_match.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/rule/tag_match.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/height_sampler.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/mod.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/piece.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/placement.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/shiftable_piece.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/buried_treasure.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/desert_pyramid.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/end_city/layout.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/end_city/mod.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/igloo.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/jigsaw.rs (97%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/jigsaw_placement.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/jungle_temple.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/mansion/grid.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/mansion/mod.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/mansion/placer.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/mineshaft.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/mod.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/nether_fortress/bridge.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/nether_fortress/bridge_crossing.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/nether_fortress/bridge_end.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/nether_fortress/bridge_platform.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/nether_fortress/bridge_small_crossing.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/nether_fortress/bridge_stairs.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/nether_fortress/corridor_balcony.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/nether_fortress/corridor_crossing.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/nether_fortress/corridor_exit.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/nether_fortress/corridor_left_turn.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/nether_fortress/corridor_nether_warts_room.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/nether_fortress/corridor_right_turn.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/nether_fortress/corridor_stairs.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/nether_fortress/mod.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/nether_fortress/small_corridor.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/nether_fossil.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/ocean_monument.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/ocean_ruin.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/ruined_portal.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/shipwreck.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/stronghold/chest_corridor.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/stronghold/corridor.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/stronghold/five_way_crossing.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/stronghold/left_turn.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/stronghold/library.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/stronghold/mod.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/stronghold/portal_room.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/stronghold/prison_hall.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/stronghold/right_turn.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/stronghold/spiral_staircase.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/stronghold/square_room.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/stronghold/stairs.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/structures/swamp_hut.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/template/block_state_resolver.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/template/cache.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/template/mod.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/template/processor.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/template/structure_template.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/structure/template/template_piece.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/surface/mod.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/surface/rule.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/generation/surface/terrain.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/inventory/inventory.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/inventory/mod.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/inventory/simple_inventory.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/level.rs (99%) rename {pumpkin-world => crates/pumpkin-world}/src/lib.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/lighting/engine.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/lighting/mod.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/lighting/runtime.rs (92%) rename {pumpkin-world => crates/pumpkin-world}/src/lighting/storage.rs (80%) rename {pumpkin-world => crates/pumpkin-world}/src/poi/mod.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/tick/mod.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/tick/scheduler.rs (98%) rename {pumpkin-world => crates/pumpkin-world}/src/world.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/world_info/anvil.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/world_info/data_files.rs (100%) rename {pumpkin-world => crates/pumpkin-world}/src/world_info/mod.rs (100%) rename {pumpkin => crates/pumpkin}/Cargo.toml (100%) rename {pumpkin => crates/pumpkin}/build.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/abstract_wall_mounting.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/amethyst.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/anvil.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/banners.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/barrel.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/barrier.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/beacon.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/bed.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/beehive.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/blast_furnace.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/brewing_stand.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/bubble_column.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/cake.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/campfire.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/candle_cakes.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/candles.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/carpet.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/carved_pumpkin.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/cauldron.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/chain.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/chests.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/chiseled_bookshelf.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/cobweb.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/command.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/composter.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/conduit.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/coral/coral_block.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/coral/coral_fan.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/coral/coral_plant.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/coral/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/crafting_table.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/dirt_path.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/doors.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/dragon_egg.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/dripstone.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/enchanting_table.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/end_portal.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/end_portal_frame.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/end_rod.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/ender_chest.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/falling.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/farmland.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/fence_gates.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/fences.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/fire/fire.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/fire/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/fire/soul_fire.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/flower_pots.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/furnace.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/glass_panes.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/glazed_terracotta.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/grass_block.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/grindstone.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/hay.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/hopper.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/infested.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/iron_bars.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/jigsaw.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/jukebox.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/ladder.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/lanterns.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/lectern.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/logs.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/magma.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/mangrove_roots.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/nether_portal.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/note.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/piston/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/piston/piston.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/piston/piston_extension.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/piston/piston_head.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/bamboo.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/bamboo_sapling.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/big_dripleaf.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/big_dripleaf_stem.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/bush.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/cactus.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/cactus_flower.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/chorus_flower.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/chorus_plant.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/crop/beetroot.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/crop/carrot.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/crop/gourds/attached_stem.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/crop/gourds/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/crop/gourds/stem.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/crop/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/crop/nether_wart.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/crop/potatoes.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/crop/sweet_berry_bush.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/crop/torch_flower.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/crop/wheat.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/dry_vegetation.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/flower.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/flowerbed.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/fungus.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/kelp.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/leaf_litter.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/lily_pad.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/mushroom_plant.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/nether_sprouts.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/roots.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/sapling.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/sea_pickles.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/seagrass.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/segmented.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/short_plant.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/small_dripleaf.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/spore_blossom.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/sugar_cane.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/tall_plant.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/tall_seagrass.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/twisting_vines.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/weeping_vines.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/plant/wither_rose.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/powder_snow.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/pumpkin.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/redstone/abstract_redstone_gate.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/redstone/bell.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/redstone/buttons.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/redstone/comparator.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/redstone/copper_bulb.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/redstone/crafter.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/redstone/daylight_detector.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/redstone/dispenser.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/redstone/dropper.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/redstone/lever.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/redstone/lightning_rod.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/redstone/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/redstone/observer.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/redstone/pressure_plate/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/redstone/pressure_plate/plate.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/redstone/pressure_plate/tests.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/redstone/pressure_plate/weighted.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/redstone/rails/activator_rail.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/redstone/rails/common.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/redstone/rails/detector_rail.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/redstone/rails/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/redstone/rails/powered_rail.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/redstone/rails/rail.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/redstone/redstone_block.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/redstone/redstone_lamp.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/redstone/redstone_ore.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/redstone/redstone_torch.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/redstone/redstone_wire.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/redstone/repeater.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/redstone/sculk_sensor.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/redstone/target_block.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/redstone/tripwire.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/redstone/tripwire_hook.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/redstone/turbo.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/shelf.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/shulker_box.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/signs.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/skull_block.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/slabs.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/slime.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/smoker.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/snow.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/spawner.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/sponge.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/stairs.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/stonecutter.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/tnt.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/torches.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/trapdoor.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/vine.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/walls.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/blocks/wither_skull.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/banner.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/barrel.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/beacon.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/bed.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/beehive.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/bell.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/blasting_furnace.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/brewing_stand.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/brushable_block.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/calibrated_sculk_sensor.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/campfire.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/chest.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/chest_like_block_entity.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/chiseled_bookshelf.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/command_block.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/comparator.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/conduit.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/copper_golem_statue.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/crafter.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/creaking_heart.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/daylight_detector.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/decorated_pot.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/dispenser.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/dropper.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/enchanting_table.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/end_gateway.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/end_portal.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/ender_chest.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/furnace.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/furnace_like_block_entity.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/hanging_sign.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/hopper.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/jigsaw_block.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/jukebox.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/lectern.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/mob_spawner.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/mod.rs (99%) rename {pumpkin => crates/pumpkin}/src/block/entities/piston.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/potent_sulfur.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/sculk_catalyst.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/sculk_sensor.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/sculk_shrieker.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/shelf.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/shulker_box.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/sign.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/skull.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/smoker.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/structure_block.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/test_block.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/test_instance_block.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/trapped_chest.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/trial_spawner.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/entities/vault.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/fluid/flowing_trait.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/fluid/lava.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/fluid/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/fluid/pathfinder.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/fluid/physics.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/fluid/water.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/registry.rs (100%) rename {pumpkin => crates/pumpkin}/src/block/viewer.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/args/block.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/args/bool.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/args/bossbar_color.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/args/bossbar_style.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/args/bounded_num.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/args/command.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/args/coordinate.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/args/difficulty.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/args/entities.rs (99%) rename {pumpkin => crates/pumpkin}/src/command/args/entity.rs (97%) rename {pumpkin => crates/pumpkin}/src/command/args/entity_anchor.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/args/gamemode.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/args/gameprofile.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/args/message.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/args/mod.rs (97%) rename {pumpkin => crates/pumpkin}/src/command/args/players.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/args/position_2d.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/args/position_3d.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/args/position_block.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/args/resource/damage_type.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/args/resource/effect.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/args/resource/enchantment.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/args/resource/item.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/args/resource/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/args/resource/particle.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/args/resource_location.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/args/rotation.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/args/simple.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/args/slot.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/args/sound.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/args/sound_category.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/args/summonable_entities.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/args/textcomponent.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/args/time.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/argument_builder.rs (99%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/argument_type.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/attribute.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/block.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/coordinates/block_pos.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/coordinates/column_pos.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/coordinates/mod.rs (98%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/coordinates/rotation.rs (98%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/coordinates/vec3.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/core/bool.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/core/double.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/core/float.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/core/integer.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/core/long.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/core/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/core/string.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/dialog.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/entity.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/entity_anchor.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/entity_selector/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/entity_selector/option.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/entity_selector/parser.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/game_profile.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/gamemode.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/hex_color.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/identifier.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/mod.rs (98%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/nbt.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/objective.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/placed_feature.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/pool.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/range.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/resource_key.rs (99%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/slot.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/structure.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/team.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/team_color.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/template.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/time.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/argument_types/uuid.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/client_suggestions.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/advancement.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/attribute.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/ban.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/banip.rs (92%) rename {pumpkin => crates/pumpkin}/src/command/commands/banlist.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/bossbar.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/clear.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/clone.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/damage.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/data.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/defaultgamemode.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/deop.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/dialog.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/difficulty.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/effect.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/enchant.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/execute.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/experience.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/fill.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/fillbiome.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/forceload.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/gamemode.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/gamerule.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/give.rs (87%) rename {pumpkin => crates/pumpkin}/src/command/commands/help.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/item.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/kick.rs (97%) rename {pumpkin => crates/pumpkin}/src/command/commands/kill.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/list.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/loot.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/me.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/msg.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/op.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/pardon.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/pardonip.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/particle.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/place.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/playsound.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/plugin.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/plugins.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/pumpkin.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/random.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/recipe.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/ride.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/rotate.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/saveall.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/saveoff.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/saveon.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/say.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/scoreboard.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/seed.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/setblock.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/setidletimeout.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/setworldspawn.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/spawnpoint.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/spectate.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/spreadplayers.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/stop.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/stopsound.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/summon.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/tag.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/team.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/teammsg.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/teleport.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/tellraw.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/tick.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/time.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/title.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/tps.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/transfer.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/trigger.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/weather.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/whitelist.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/commands/worldborder.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/context/command_context.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/context/command_source.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/context/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/context/string_range.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/dispatcher.rs (99%) rename {pumpkin => crates/pumpkin}/src/command/errors/command_syntax_error.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/errors/error_types.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/errors/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/node/attached.rs (96%) rename {pumpkin => crates/pumpkin}/src/command/node/detached.rs (97%) rename {pumpkin => crates/pumpkin}/src/command/node/dispatcher.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/node/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/node/tree.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/parser.rs (99%) rename {pumpkin => crates/pumpkin}/src/command/snbt/markers.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/snbt/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/snbt/operations.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/snbt/rules.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/snbt/tests.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/string_reader.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/suggestion/mod.rs (98%) rename {pumpkin => crates/pumpkin}/src/command/suggestion/provider.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/suggestion/suggestions.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/tree/builder.rs (91%) rename {pumpkin => crates/pumpkin}/src/command/tree/format.rs (100%) rename {pumpkin => crates/pumpkin}/src/command/tree/mod.rs (98%) rename {pumpkin => crates/pumpkin}/src/crash.rs (100%) rename {pumpkin => crates/pumpkin}/src/data/advancement_data.rs (100%) rename {pumpkin => crates/pumpkin}/src/data/banlist_serializer.rs (100%) rename {pumpkin => crates/pumpkin}/src/data/banned_ip.rs (100%) rename {pumpkin => crates/pumpkin}/src/data/banned_player.rs (100%) rename {pumpkin => crates/pumpkin}/src/data/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/data/op.rs (100%) rename {pumpkin => crates/pumpkin}/src/data/player_server.rs (100%) rename {pumpkin => crates/pumpkin}/src/data/usercache.rs (100%) rename {pumpkin => crates/pumpkin}/src/data/whitelist.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ageable.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/control/look_control.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/control/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/control/move_control.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/goal/active_target.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/goal/ambient_stand.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/goal/avoid_entity.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/goal/beg.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/goal/blaze_attack.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/goal/breed.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/goal/chase_player.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/goal/creeper_ignite.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/goal/destroy_egg.rs (91%) rename {pumpkin => crates/pumpkin}/src/entity/ai/goal/eat_grass.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/goal/escape_danger.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/goal/follow_owner.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/goal/follow_parent.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/goal/goal_selector.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/goal/look_around.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/goal/look_at_entity.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/goal/melee_attack.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/goal/mod.rs (94%) rename {pumpkin => crates/pumpkin}/src/entity/ai/goal/move_to_target_pos.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/goal/owner_hurt_by_target.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/goal/owner_hurt_target.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/goal/pick_up_block.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/goal/place_block.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/goal/revenge.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/goal/step_and_destroy_block.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/goal/swim.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/goal/teleport_towards_player.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/goal/tempt.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/goal/track_target.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/goal/wander_around.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/goal/zombie_attack.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/pathfinder/binary_heap.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/pathfinder/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/pathfinder/node.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/pathfinder/node_evaluator.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/pathfinder/path.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/pathfinder/path_type_cache.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/pathfinder/pathfinding_context.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/pathfinder/walk_node_evaluator.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/ai/target_predicate.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/area_effect_cloud.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/attributes.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/boss/ender_dragon.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/boss/ender_dragon/flight_history.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/boss/ender_dragon/phase/charging.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/boss/ender_dragon/phase/circling.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/boss/ender_dragon/phase/dying.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/boss/ender_dragon/phase/fly_to_portal.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/boss/ender_dragon/phase/hovering.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/boss/ender_dragon/phase/landing.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/boss/ender_dragon/phase/landing_approach.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/boss/ender_dragon/phase/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/boss/ender_dragon/phase/sit_attacking.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/boss/ender_dragon/phase/sit_breathing.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/boss/ender_dragon/phase/strafing.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/boss/ender_dragon/phase/taking_off.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/boss/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/boss/wither.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/breath.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/combat.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/decoration/armor_stand.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/decoration/end_crystal.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/decoration/item_frame.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/decoration/leash_knot.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/decoration/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/decoration/painting.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/effect/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/experience_orb.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/falling.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/hunger.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/item.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/living.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/bat.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/blaze.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/breeze.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/cave_spider.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/creaking.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/creeper.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/elder_guardian.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/enderman.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/endermite.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/equipment.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/evoker.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/ghast.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/giant.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/guardian.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/hoglin.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/illusioner.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/magma_cube.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/phantom.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/piglin.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/piglin_brute.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/pillager.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/ravager.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/shulker.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/silverfish.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/skeleton/bogged.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/skeleton/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/skeleton/parched.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/skeleton/skeleton.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/skeleton/stray.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/skeleton/wither.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/slime.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/spider.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/vex.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/vindicator.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/warden.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/witch.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/zoglin.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/zombie/drowned.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/zombie/husk.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/zombie/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/zombie/zombie.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/zombie/zombie_villager.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mob/zombified_piglin.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/allay.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/animal.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/armadillo.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/axolotl.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/bee.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/camel.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/cat.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/chicken.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/cod.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/cow.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/dolphin.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/donkey.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/fox.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/frog.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/glow_squid.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/goat.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/horse.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/iron_golem.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/llama.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/mooshroom.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/mule.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/ocelot.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/panda.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/parrot.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/pig.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/polar_bear.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/pufferfish.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/rabbit.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/salmon.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/sheep.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/skeleton_horse.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/sniffer.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/snow_golem.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/squid.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/strider.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/tadpole.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/trader_llama.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/tropical_fish.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/turtle.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/villager/data.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/villager/mod.rs (99%) rename {pumpkin => crates/pumpkin}/src/entity/passive/wandering_trader.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/wolf.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/passive/zombie_horse.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/player.rs (99%) rename {pumpkin => crates/pumpkin}/src/entity/player/advancement.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/player/advancement/trigger.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/player/advancement/visibility_evaluator.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/player/statistics.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/predicate/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/projectile/arrow.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/projectile/egg.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/projectile/ender_pearl.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/projectile/eye_of_ender.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/projectile/fireball.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/projectile/firework_rocket.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/projectile/fishing_bobber.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/projectile/lingering_potion.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/projectile/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/projectile/shulker_bullet.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/projectile/small_fireball.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/projectile/snowball.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/projectile/splash_potion.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/projectile/trident.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/projectile/wind_charge.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/projectile_deflection.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/tnt.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/type.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/vehicle/boat.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/vehicle/minecart.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/vehicle/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/entity/vehicle/vehicle.rs (100%) rename {pumpkin => crates/pumpkin}/src/error.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/items/armor_stand.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/items/arrow.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/items/axe.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/items/boat.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/items/bow.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/items/bucket.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/items/bundle.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/items/crossbow.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/items/dye.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/items/egg.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/items/end_crystal.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/items/ender_eye.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/items/ender_pearl.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/items/firework_rocket.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/items/fishing_rod.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/items/glowing_ink_sac.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/items/hoe.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/items/honeycomb.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/items/ignite/fire_charge.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/items/ignite/flint_and_steel.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/items/ignite/ignition.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/items/ignite/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/items/ink_sac.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/items/lead.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/items/mace.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/items/map.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/items/minecart.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/items/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/items/name_tag.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/items/potions.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/items/shovel.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/items/snowball.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/items/spawn_egg.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/items/swords.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/items/trident.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/items/wind_charge.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/potion.rs (100%) rename {pumpkin => crates/pumpkin}/src/item/registry.rs (100%) rename {pumpkin => crates/pumpkin}/src/lib.rs (97%) rename {pumpkin => crates/pumpkin}/src/logging.rs (100%) rename {pumpkin => crates/pumpkin}/src/main.rs (100%) rename {pumpkin => crates/pumpkin}/src/net/authentication.rs (100%) rename {pumpkin => crates/pumpkin}/src/net/bedrock/connection.rs (100%) rename {pumpkin => crates/pumpkin}/src/net/bedrock/login.rs (98%) rename {pumpkin => crates/pumpkin}/src/net/bedrock/mod.rs (98%) rename {pumpkin => crates/pumpkin}/src/net/bedrock/open_connection.rs (100%) rename {pumpkin => crates/pumpkin}/src/net/bedrock/play.rs (100%) rename {pumpkin => crates/pumpkin}/src/net/bedrock/unconnected.rs (100%) rename {pumpkin => crates/pumpkin}/src/net/java/config.rs (86%) rename {pumpkin => crates/pumpkin}/src/net/java/handshake.rs (78%) rename {pumpkin => crates/pumpkin}/src/net/java/login.rs (75%) rename {pumpkin => crates/pumpkin}/src/net/java/mod.rs (74%) create mode 100644 crates/pumpkin/src/net/java/pending.rs rename {pumpkin => crates/pumpkin}/src/net/java/play.rs (100%) rename {pumpkin => crates/pumpkin}/src/net/java/recipe_helper.rs (100%) rename {pumpkin => crates/pumpkin}/src/net/java/status.rs (70%) rename {pumpkin => crates/pumpkin}/src/net/lan_broadcast.rs (100%) rename {pumpkin => crates/pumpkin}/src/net/mod.rs (99%) rename {pumpkin => crates/pumpkin}/src/net/proxy/bungeecord.rs (95%) rename {pumpkin => crates/pumpkin}/src/net/proxy/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/net/proxy/velocity.rs (96%) rename {pumpkin => crates/pumpkin}/src/net/query.rs (100%) rename {pumpkin => crates/pumpkin}/src/net/rcon/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/net/rcon/packet.rs (98%) rename {pumpkin => crates/pumpkin}/src/plugin/api/context.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/block/block_break.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/block/block_burn.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/block/block_can_build.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/block/block_damage.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/block/block_dispense.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/block/block_explode.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/block/block_fade.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/block/block_form.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/block/block_from_to.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/block/block_grow.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/block/block_ignite.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/block/block_physics.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/block/block_piston.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/block/block_place.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/block/block_redstone.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/block/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/block/note_play.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/block/sign_change.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/block/sponge_absorb.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/block/tnt_prime.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/entity/entity_air_change.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/entity/entity_breed.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/entity/entity_combust.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/entity/entity_damage.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/entity/entity_death.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/entity/entity_dye.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/entity/entity_explode.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/entity/entity_mount.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/entity/entity_regain_health.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/entity/entity_spawn.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/entity/entity_tame.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/entity/entity_target.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/entity/entity_teleport.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/entity/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/inventory/brew.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/inventory/craft_item.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/inventory/furnace_burn.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/inventory/furnace_smelt.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/inventory/inventory_drag.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/inventory/inventory_open.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/inventory/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/inventory/prepare_anvil.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/inventory/trade_select.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/mod.rs (88%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/bedrock_form_response.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/changed_main_hand.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/custom_click_action.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/egg_throw.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/exp_change.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/fish.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/inventory_close.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/inventory_interact.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/item_held.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/player_animation.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/player_bed.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/player_bucket.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/player_change_world.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/player_chat.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/player_command_send.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/player_custom_payload.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/player_drop_item.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/player_gamemode_change.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/player_interact_entity_event.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/player_interact_event.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/player_interact_unknown_entity_event.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/player_item_break.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/player_item_consume.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/player_item_damage.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/player_join.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/player_kick.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/player_leave.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/player_level_change.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/player_login.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/player_move.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/player_permission_check.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/player_respawn.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/player_swap_hands.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/player_teleport.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/player_toggle_flight_event.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/player_toggle_sneak_event.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/player/player_toggle_sprint_event.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/server/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/server/packet.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/server/server_broadcast.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/server/server_command.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/server/server_load.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/server/server_tick_end.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/server/server_tick_start.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/world/chunk_load.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/world/chunk_save.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/world/chunk_send.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/world/generic_game.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/world/lightning_strike.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/world/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/world/portal_create.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/world/spawn_change.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/world/structure_grow.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/world/weather_change.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/world/world_init.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/events/world/world_load.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/gui.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/tab_list.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/api/title.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/cache.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/native.rs (86%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/args.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/logging.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/mod.rs (98%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/signature.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/state.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/wit/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/wit/v0_1/block_entity.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/wit/v0_1/boss_bar.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/wit/v0_1/commands/executor.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/wit/v0_1/commands/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/wit/v0_1/common.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/wit/v0_1/context.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/wit/v0_1/entity.rs (99%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/wit/v0_1/events/block.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/wit/v0_1/events/entity.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/wit/v0_1/events/inventory.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/wit/v0_1/events/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/wit/v0_1/events/player.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/wit/v0_1/events/server.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/wit/v0_1/events/world.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/wit/v0_1/forms.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/wit/v0_1/generated_packets.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/wit/v0_1/gui.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/wit/v0_1/i18n.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/wit/v0_1/item_stack.rs (98%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/wit/v0_1/java_dialogs.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/wit/v0_1/logging.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/wit/v0_1/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/wit/v0_1/permission.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/wit/v0_1/player.rs (99%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/wit/v0_1/recipe.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/wit/v0_1/scheduler.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/wit/v0_1/scoreboard.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/wit/v0_1/server.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/wit/v0_1/status_effect.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/wit/v0_1/text.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/wit/v0_1/uuid.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/loader/wasm/wasm_host/wit/v0_1/world.rs (99%) rename {pumpkin => crates/pumpkin}/src/plugin/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/plugin/permissions.rs (100%) rename {pumpkin => crates/pumpkin}/src/server/connection_cache.rs (98%) rename {pumpkin => crates/pumpkin}/src/server/key_store.rs (100%) rename {pumpkin => crates/pumpkin}/src/server/mod.rs (99%) rename {pumpkin => crates/pumpkin}/src/server/recipe.rs (100%) rename {pumpkin => crates/pumpkin}/src/server/scheduler.rs (100%) rename {pumpkin => crates/pumpkin}/src/server/seasonal_events.rs (100%) rename {pumpkin => crates/pumpkin}/src/server/tick_rate_manager.rs (100%) rename {pumpkin => crates/pumpkin}/src/server/ticker.rs (100%) rename {pumpkin => crates/pumpkin}/src/world/block_placer.rs (100%) rename {pumpkin => crates/pumpkin}/src/world/border.rs (100%) rename {pumpkin => crates/pumpkin}/src/world/bossbar.rs (100%) rename {pumpkin => crates/pumpkin}/src/world/chunker.rs (100%) rename {pumpkin => crates/pumpkin}/src/world/custom_bossbar.rs (100%) rename {pumpkin => crates/pumpkin}/src/world/dragon_fight.rs (100%) rename {pumpkin => crates/pumpkin}/src/world/end_podium.rs (100%) rename {pumpkin => crates/pumpkin}/src/world/explosion.rs (100%) rename {pumpkin => crates/pumpkin}/src/world/loot.rs (100%) rename {pumpkin => crates/pumpkin}/src/world/map.rs (100%) rename {pumpkin => crates/pumpkin}/src/world/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/world/natural_spawner.rs (100%) rename {pumpkin => crates/pumpkin}/src/world/portal/end.rs (100%) rename {pumpkin => crates/pumpkin}/src/world/portal/mod.rs (100%) rename {pumpkin => crates/pumpkin}/src/world/portal/nether.rs (100%) rename {pumpkin => crates/pumpkin}/src/world/portal/poi.rs (100%) rename {pumpkin => crates/pumpkin}/src/world/scoreboard.rs (100%) rename {pumpkin => crates/pumpkin}/src/world/time.rs (100%) rename {pumpkin => crates/pumpkin}/src/world/weather.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/Cargo.lock (99%) rename {pumpkin-codegen => tools/pumpkin-codegen}/Cargo.toml (84%) rename {pumpkin-data => tools/pumpkin-codegen}/Clippy.toml (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/advancement.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/attributes.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/bedrock_creative.rs (98%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/biome.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/bitsets.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/block.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/carver.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/chest_loot.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/chunk_gen_settings.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/chunk_status.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/chunk_view_lut.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/composter_increase_chance.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/configured_feature.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/damage_type.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/data_component.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/dimension.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/effect.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/enchantments.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/entity_pose.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/entity_status.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/entity_type.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/flower_pot_transformations.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/fluid.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/fuels.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/game_event.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/game_rules.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/item.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/jukebox_song.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/loot.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/main.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/message_type.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/meta_data_type.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/noise_parameter.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/noise_router.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/packet.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/particle.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/placed_feature.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/potion.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/potion_brewing.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/recipe_remainder.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/recipes.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/registry.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/remap/block_state.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/remap/entity_id.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/remap/item_id.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/remap/mod.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/remap/particle_id.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/remap/sound_id.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/scoreboard_slot.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/screen.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/slot_ranges.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/sound.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/sound_category.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/spawn_egg.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/statistic.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/structures.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/tag.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/tracked_data.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/translations.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/version.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/villager.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/wit/bedrock_packet.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/wit/biome.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/wit/data_component.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/wit/enchantment.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/wit/entity_type.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/wit/java_packet.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/wit/mod.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/wit/packet_mapping.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/wit/particle.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/wit/sound.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/wit/utils.rs (100%) rename {pumpkin-codegen => tools/pumpkin-codegen}/src/world_event.rs (100%) diff --git a/.gitmodules b/.gitmodules index a055a0a6d..f232b7ec3 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "pumpkin-plugin-wit"] - path = pumpkin-plugin-wit + path = crates/pumpkin-plugin-wit url = https://github.com/Pumpkin-MC/pumpkin-plugin-wit diff --git a/Cargo.toml b/Cargo.toml index 7460b71cf..7106a5405 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,19 +1,23 @@ [workspace] resolver = "3" members = [ - "pumpkin-api-macros", - "pumpkin-config", - "pumpkin-util", - "pumpkin-inventory", - "pumpkin-macros/", - "pumpkin-protocol/", - "pumpkin-world", - "pumpkin/", - "pumpkin-data", - "pumpkin-plugin-api", - "pumpkin-codecs" + "crates/pumpkin", + "crates/pumpkin-api-macros", + "crates/pumpkin-codecs", + "crates/pumpkin-config", + "crates/pumpkin-data", + "crates/pumpkin-inventory", + "crates/pumpkin-macros", + "crates/pumpkin-nbt", + "crates/pumpkin-plugin-api", + "crates/pumpkin-protocol", + "crates/pumpkin-util", + "crates/pumpkin-world", ] -exclude = ["pumpkin-codegen"] +exclude = ["tools/pumpkin-codegen"] + +# [workspace.lints.rust] +# missing_docs = "warn" [workspace.lints.clippy] # Groups @@ -49,7 +53,23 @@ print_stderr = "deny" todo = "deny" unreachable = "deny" unimplemented = "deny" -# indexing_slicing = "deny" + +# Safety & Soundness +undocumented_unsafe_blocks = "deny" +uninit_assumed_init = "deny" +uninit_vec = "deny" +cast_ptr_alignment = "deny" +ptr_as_ptr = "deny" + +# Production Quality & Best Practices +fallible_impl_from = "deny" +mut_mut = "deny" +char_lit_as_u8 = "deny" +match_wild_err_arm = "deny" +invalid_upcast_comparisons = "deny" + +# Expected/Allowed +clone_on_ref_ptr = "allow" # Expected/Allowed cargo_common_metadata = "allow" @@ -148,15 +168,15 @@ num-traits = { version = "0.2", default-features = false, features = ["std"] } p384 = { version = "0.14.0", default-features = false, features = ["std", "arithmetic", "pkcs8", "ecdh"] } phf = { version = "0.14.0", default-features = false, features = ["std"] } proc-macro2 = { version = "1.0", default-features = false, features = ["proc-macro"] } -pumpkin-codecs = { path = "pumpkin-codecs", default-features = false } -pumpkin-config = { path = "pumpkin-config", default-features = false } -pumpkin-data = { path = "pumpkin-data", default-features = false } -pumpkin-inventory = { path = "pumpkin-inventory", default-features = false } -pumpkin-macros = { path = "pumpkin-macros", default-features = false } -pumpkin-nbt = { path = "pumpkin-nbt", default-features = false } -pumpkin-protocol = { path = "pumpkin-protocol", default-features = false } -pumpkin-util = { path = "pumpkin-util", default-features = false } -pumpkin-world = { path = "pumpkin-world", default-features = false } +pumpkin-codecs = { path = "crates/pumpkin-codecs", default-features = false } +pumpkin-config = { path = "crates/pumpkin-config", default-features = false } +pumpkin-data = { path = "crates/pumpkin-data", default-features = false } +pumpkin-inventory = { path = "crates/pumpkin-inventory", default-features = false } +pumpkin-macros = { path = "crates/pumpkin-macros", default-features = false } +pumpkin-nbt = { path = "crates/pumpkin-nbt", default-features = false } +pumpkin-protocol = { path = "crates/pumpkin-protocol", default-features = false } +pumpkin-util = { path = "crates/pumpkin-util", default-features = false } +pumpkin-world = { path = "crates/pumpkin-world", default-features = false } quote = { version = "1.0", default-features = false, features = ["proc-macro"] } rand = { version = "0.10.2", default-features = false, features = ["std", "std_rng", "thread_rng"] } rsa = { version = "=0.10.0-rc.18", default-features = false, features = ["std", "encoding"] } diff --git a/LICENSE b/LICENSE index e72bfddab..f288702d2 100644 --- a/LICENSE +++ b/LICENSE @@ -671,4 +671,4 @@ into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read -. \ No newline at end of file +. diff --git a/pumpkin-api-macros/Cargo.toml b/crates/pumpkin-api-macros/Cargo.toml similarity index 100% rename from pumpkin-api-macros/Cargo.toml rename to crates/pumpkin-api-macros/Cargo.toml diff --git a/pumpkin-api-macros/src/lib.rs b/crates/pumpkin-api-macros/src/lib.rs similarity index 91% rename from pumpkin-api-macros/src/lib.rs rename to crates/pumpkin-api-macros/src/lib.rs index 018ccff7f..0bc8eb7b6 100644 --- a/pumpkin-api-macros/src/lib.rs +++ b/crates/pumpkin-api-macros/src/lib.rs @@ -59,19 +59,20 @@ pub fn plugin_impl(_attr: TokenStream, item: TokenStream) -> TokenStream { let input_struct = parse_macro_input!(item as ItemStruct); let struct_ident = &input_struct.ident; - let methods = PLUGIN_METHODS.lock().unwrap(); - - let methods: Vec = methods - .values() - .map(|s| { - s.parse::().unwrap_or_else(|e| { - abort!( - struct_ident, - format!("re-parsing cached method failed: {e}") - ) + let methods: Vec = { + let guard = PLUGIN_METHODS.lock().unwrap(); + guard + .values() + .map(|s| { + s.parse::().unwrap_or_else(|e| { + abort!( + struct_ident, + format!("re-parsing cached method failed: {e}") + ) + }) }) - }) - .collect(); + .collect() + }; // Combine the original struct definition with the impl block and plugin() function let expanded = quote! { diff --git a/pumpkin-codecs/Cargo.toml b/crates/pumpkin-codecs/Cargo.toml similarity index 100% rename from pumpkin-codecs/Cargo.toml rename to crates/pumpkin-codecs/Cargo.toml diff --git a/pumpkin-codecs/src/codec/either.rs b/crates/pumpkin-codecs/src/codec/either.rs similarity index 100% rename from pumpkin-codecs/src/codec/either.rs rename to crates/pumpkin-codecs/src/codec/either.rs diff --git a/pumpkin-codecs/src/codec/list.rs b/crates/pumpkin-codecs/src/codec/list.rs similarity index 100% rename from pumpkin-codecs/src/codec/list.rs rename to crates/pumpkin-codecs/src/codec/list.rs diff --git a/pumpkin-codecs/src/codec/map.rs b/crates/pumpkin-codecs/src/codec/map.rs similarity index 100% rename from pumpkin-codecs/src/codec/map.rs rename to crates/pumpkin-codecs/src/codec/map.rs diff --git a/pumpkin-codecs/src/codec/mod.rs b/crates/pumpkin-codecs/src/codec/mod.rs similarity index 100% rename from pumpkin-codecs/src/codec/mod.rs rename to crates/pumpkin-codecs/src/codec/mod.rs diff --git a/pumpkin-codecs/src/codec/optional_field.rs b/crates/pumpkin-codecs/src/codec/optional_field.rs similarity index 100% rename from pumpkin-codecs/src/codec/optional_field.rs rename to crates/pumpkin-codecs/src/codec/optional_field.rs diff --git a/pumpkin-codecs/src/codec/primitive.rs b/crates/pumpkin-codecs/src/codec/primitive.rs similarity index 100% rename from pumpkin-codecs/src/codec/primitive.rs rename to crates/pumpkin-codecs/src/codec/primitive.rs diff --git a/pumpkin-codecs/src/data_result.rs b/crates/pumpkin-codecs/src/data_result.rs similarity index 100% rename from pumpkin-codecs/src/data_result.rs rename to crates/pumpkin-codecs/src/data_result.rs diff --git a/pumpkin-codecs/src/dynamic_ops.rs b/crates/pumpkin-codecs/src/dynamic_ops.rs similarity index 100% rename from pumpkin-codecs/src/dynamic_ops.rs rename to crates/pumpkin-codecs/src/dynamic_ops.rs diff --git a/pumpkin-codecs/src/json_ops.rs b/crates/pumpkin-codecs/src/json_ops.rs similarity index 100% rename from pumpkin-codecs/src/json_ops.rs rename to crates/pumpkin-codecs/src/json_ops.rs diff --git a/pumpkin-codecs/src/lib.rs b/crates/pumpkin-codecs/src/lib.rs similarity index 100% rename from pumpkin-codecs/src/lib.rs rename to crates/pumpkin-codecs/src/lib.rs diff --git a/pumpkin-codecs/src/lifecycle.rs b/crates/pumpkin-codecs/src/lifecycle.rs similarity index 100% rename from pumpkin-codecs/src/lifecycle.rs rename to crates/pumpkin-codecs/src/lifecycle.rs diff --git a/pumpkin-codecs/src/list_builder.rs b/crates/pumpkin-codecs/src/list_builder.rs similarity index 100% rename from pumpkin-codecs/src/list_builder.rs rename to crates/pumpkin-codecs/src/list_builder.rs diff --git a/pumpkin-codecs/src/map_like.rs b/crates/pumpkin-codecs/src/map_like.rs similarity index 100% rename from pumpkin-codecs/src/map_like.rs rename to crates/pumpkin-codecs/src/map_like.rs diff --git a/pumpkin-codecs/src/number.rs b/crates/pumpkin-codecs/src/number.rs similarity index 100% rename from pumpkin-codecs/src/number.rs rename to crates/pumpkin-codecs/src/number.rs diff --git a/pumpkin-codecs/src/struct_builder.rs b/crates/pumpkin-codecs/src/struct_builder.rs similarity index 100% rename from pumpkin-codecs/src/struct_builder.rs rename to crates/pumpkin-codecs/src/struct_builder.rs diff --git a/pumpkin-config/Cargo.toml b/crates/pumpkin-config/Cargo.toml similarity index 100% rename from pumpkin-config/Cargo.toml rename to crates/pumpkin-config/Cargo.toml diff --git a/pumpkin-config/src/advancement.rs b/crates/pumpkin-config/src/advancement.rs similarity index 100% rename from pumpkin-config/src/advancement.rs rename to crates/pumpkin-config/src/advancement.rs diff --git a/pumpkin-config/src/chat.rs b/crates/pumpkin-config/src/chat.rs similarity index 100% rename from pumpkin-config/src/chat.rs rename to crates/pumpkin-config/src/chat.rs diff --git a/pumpkin-config/src/chunk.rs b/crates/pumpkin-config/src/chunk.rs similarity index 96% rename from pumpkin-config/src/chunk.rs rename to crates/pumpkin-config/src/chunk.rs index 0d24a9a3a..21abf98a3 100644 --- a/pumpkin-config/src/chunk.rs +++ b/crates/pumpkin-config/src/chunk.rs @@ -53,6 +53,7 @@ impl Default for ChunkCompression { } } +/// Compression algorithm used for chunk data storage. #[derive(Deserialize, Serialize, Clone, Copy)] pub enum Compression { /// `GZip` Compression. diff --git a/pumpkin-config/src/commands.rs b/crates/pumpkin-config/src/commands.rs similarity index 100% rename from pumpkin-config/src/commands.rs rename to crates/pumpkin-config/src/commands.rs diff --git a/pumpkin-config/src/fun.rs b/crates/pumpkin-config/src/fun.rs similarity index 100% rename from pumpkin-config/src/fun.rs rename to crates/pumpkin-config/src/fun.rs diff --git a/pumpkin-config/src/lib.rs b/crates/pumpkin-config/src/lib.rs similarity index 93% rename from pumpkin-config/src/lib.rs rename to crates/pumpkin-config/src/lib.rs index 9d87d7b79..b53f3e316 100644 --- a/pumpkin-config/src/lib.rs +++ b/crates/pumpkin-config/src/lib.rs @@ -1,3 +1,6 @@ +//! Configuration management and serialization for the Pumpkin Minecraft server. +#![deny(missing_docs)] + use fun::FunConfig; use logging::LoggingConfig; use pumpkin_util::world_seed::Seed; @@ -8,12 +11,19 @@ use serde::{Deserialize, Serialize, de::DeserializeOwned}; use std::path::PathBuf; use std::{fs, num::NonZeroU8, path::Path}; use tracing::{debug, warn}; + +/// Fun and experimental configuration options. pub mod fun; +/// Server logging configuration options. pub mod logging; +/// Networking and protocol configuration options. pub mod networking; +/// Plugin management configuration options. pub mod plugins; +/// Recipe system configuration options. pub mod recipe; +/// Resource pack configuration options. pub mod resource_pack; pub use chat::ChatConfig; @@ -31,15 +41,20 @@ pub use server_links::ServerLinksConfig; mod commands; mod chat; +/// Chunk loading and saving configuration options. pub mod chunk; +/// Lighting engine configuration options. pub mod lighting; +/// Operator permission level configuration options. pub mod op; mod advancement; mod player_data; mod pvp; mod server_links; +/// Whitelist configuration options. pub mod whitelist; +/// World generation and dimension configuration options. pub mod world; use advancement::AdvancementConfig; @@ -48,11 +63,14 @@ use player_data::PlayerDataConfig; use resource_pack::ResourcePackConfig; use world::LevelConfig; +/// Root configuration container for Pumpkin server settings. #[derive(Deserialize, Serialize, Default)] #[serde(default)] pub struct PumpkinConfig { + /// Core basic configuration settings. #[serde(flatten)] pub basic: BasicConfiguration, + /// Advanced and feature-specific configuration settings. #[serde(flatten)] pub advanced: AdvancedConfiguration, } @@ -217,10 +235,12 @@ impl BasicConfiguration { PathBuf::from(&self.default_level_name) } + /// Validates basic configuration options. pub const fn validate(&self) {} } impl AdvancedConfiguration { + /// Validates advanced configuration options. pub const fn validate(&self) { //self.resource_pack.validate(); } diff --git a/pumpkin-config/src/lighting.rs b/crates/pumpkin-config/src/lighting.rs similarity index 54% rename from pumpkin-config/src/lighting.rs rename to crates/pumpkin-config/src/lighting.rs index c08ea79d5..1a332ea79 100644 --- a/pumpkin-config/src/lighting.rs +++ b/crates/pumpkin-config/src/lighting.rs @@ -1,10 +1,14 @@ use serde::{Deserialize, Serialize}; +/// Lighting engine calculation mode. #[derive(Deserialize, Serialize, Clone, Copy, PartialEq, Eq, Default)] #[serde(rename_all = "lowercase")] pub enum LightingEngineConfig { + /// Default Vanilla lighting propagation. #[default] Default, + /// Full skylight everywhere (no shadows). Full, + /// Completely dark lighting everywhere (zero light). Dark, } diff --git a/pumpkin-config/src/logging.rs b/crates/pumpkin-config/src/logging.rs similarity index 100% rename from pumpkin-config/src/logging.rs rename to crates/pumpkin-config/src/logging.rs diff --git a/pumpkin-config/src/networking/auth.rs b/crates/pumpkin-config/src/networking/auth.rs similarity index 100% rename from pumpkin-config/src/networking/auth.rs rename to crates/pumpkin-config/src/networking/auth.rs diff --git a/pumpkin-config/src/networking/bedrock.rs b/crates/pumpkin-config/src/networking/bedrock.rs similarity index 100% rename from pumpkin-config/src/networking/bedrock.rs rename to crates/pumpkin-config/src/networking/bedrock.rs diff --git a/pumpkin-config/src/networking/compression.rs b/crates/pumpkin-config/src/networking/compression.rs similarity index 100% rename from pumpkin-config/src/networking/compression.rs rename to crates/pumpkin-config/src/networking/compression.rs diff --git a/pumpkin-config/src/networking/java.rs b/crates/pumpkin-config/src/networking/java.rs similarity index 100% rename from pumpkin-config/src/networking/java.rs rename to crates/pumpkin-config/src/networking/java.rs diff --git a/pumpkin-config/src/networking/lan_broadcast.rs b/crates/pumpkin-config/src/networking/lan_broadcast.rs similarity index 100% rename from pumpkin-config/src/networking/lan_broadcast.rs rename to crates/pumpkin-config/src/networking/lan_broadcast.rs diff --git a/pumpkin-config/src/networking/mod.rs b/crates/pumpkin-config/src/networking/mod.rs similarity index 75% rename from pumpkin-config/src/networking/mod.rs rename to crates/pumpkin-config/src/networking/mod.rs index 5da592ebf..6cc18aaa2 100644 --- a/pumpkin-config/src/networking/mod.rs +++ b/crates/pumpkin-config/src/networking/mod.rs @@ -7,13 +7,21 @@ use crate::LANBroadcastConfig; use bedrock::BedrockConfig; use java::JavaConfig; +/// Authentication configuration. pub mod auth; +/// Bedrock protocol networking configuration. pub mod bedrock; +/// Packet compression configuration. pub mod compression; +/// Java protocol networking configuration. pub mod java; +/// LAN broadcast discovery configuration. pub mod lan_broadcast; +/// Reverse proxy and BungeeCord/Velocity configuration. pub mod proxy; +/// GS4 Query protocol configuration. pub mod query; +/// RCON remote console configuration. pub mod rcon; /// Configuration for server networking features. diff --git a/pumpkin-config/src/networking/proxy.rs b/crates/pumpkin-config/src/networking/proxy.rs similarity index 100% rename from pumpkin-config/src/networking/proxy.rs rename to crates/pumpkin-config/src/networking/proxy.rs diff --git a/pumpkin-config/src/networking/query.rs b/crates/pumpkin-config/src/networking/query.rs similarity index 100% rename from pumpkin-config/src/networking/query.rs rename to crates/pumpkin-config/src/networking/query.rs diff --git a/pumpkin-config/src/networking/rcon.rs b/crates/pumpkin-config/src/networking/rcon.rs similarity index 100% rename from pumpkin-config/src/networking/rcon.rs rename to crates/pumpkin-config/src/networking/rcon.rs diff --git a/pumpkin-config/src/op.rs b/crates/pumpkin-config/src/op.rs similarity index 100% rename from pumpkin-config/src/op.rs rename to crates/pumpkin-config/src/op.rs diff --git a/pumpkin-config/src/player_data.rs b/crates/pumpkin-config/src/player_data.rs similarity index 100% rename from pumpkin-config/src/player_data.rs rename to crates/pumpkin-config/src/player_data.rs diff --git a/pumpkin-config/src/plugins.rs b/crates/pumpkin-config/src/plugins.rs similarity index 87% rename from pumpkin-config/src/plugins.rs rename to crates/pumpkin-config/src/plugins.rs index 1489fb612..7b92c55da 100644 --- a/pumpkin-config/src/plugins.rs +++ b/crates/pumpkin-config/src/plugins.rs @@ -1,5 +1,6 @@ use serde::{Deserialize, Serialize}; +/// Plugin system configuration. #[derive(Deserialize, Serialize, Default)] #[serde(default)] pub struct PluginsConfig { diff --git a/pumpkin-config/src/pvp.rs b/crates/pumpkin-config/src/pvp.rs similarity index 100% rename from pumpkin-config/src/pvp.rs rename to crates/pumpkin-config/src/pvp.rs diff --git a/pumpkin-config/src/recipe.rs b/crates/pumpkin-config/src/recipe.rs similarity index 100% rename from pumpkin-config/src/recipe.rs rename to crates/pumpkin-config/src/recipe.rs diff --git a/pumpkin-config/src/resource_pack.rs b/crates/pumpkin-config/src/resource_pack.rs similarity index 67% rename from pumpkin-config/src/resource_pack.rs rename to crates/pumpkin-config/src/resource_pack.rs index 4480e672b..3ea375a0f 100644 --- a/pumpkin-config/src/resource_pack.rs +++ b/crates/pumpkin-config/src/resource_pack.rs @@ -1,10 +1,13 @@ use serde::{Deserialize, Serialize}; use uuid::Uuid; +/// Server resource pack configuration for Java and Bedrock clients. #[derive(Deserialize, Serialize, Default)] #[serde(default)] pub struct ResourcePackConfig { + /// Java Edition client resource pack configuration. pub java: JavaResourcePackConfig, + /// Bedrock Edition client resource pack configuration. pub bedrock: BedrockResourcePackConfig, } @@ -28,6 +31,7 @@ pub struct JavaResourcePackConfig { #[derive(Deserialize, Serialize, Default)] #[serde(default)] pub struct BedrockResourcePackConfig { + /// Whether Bedrock resource packs are enabled. pub enabled: bool, /// If true, players cannot join without accepting packs. pub force: bool, @@ -35,22 +39,33 @@ pub struct BedrockResourcePackConfig { pub packs: Vec, } +/// Bedrock resource pack manifest configuration entry. #[derive(Deserialize, Serialize)] pub struct BedrockPack { + /// Unique identifier for the Bedrock pack. pub uuid: Uuid, + /// Version string of the Bedrock pack. pub version: String, + /// Size of the pack in bytes. pub size: u64, + /// Download URL for remote Bedrock packs. pub download_url: String, + /// Optional encryption content key for encrypted packs. #[serde(default)] pub content_key: String, + /// Optional sub-pack name inside the archive. #[serde(default)] pub sub_pack_name: String, + /// Optional content identifier. #[serde(default)] pub content_id: String, + /// Whether the pack contains client scripts. #[serde(default)] pub has_scripts: bool, + /// Whether the pack is marked as an addon pack. #[serde(default)] pub addon_pack: bool, + /// Whether Ray Tracing / RTX features are enabled for the pack. #[serde(default)] pub rtx_enabled: bool, } diff --git a/pumpkin-config/src/server_links.rs b/crates/pumpkin-config/src/server_links.rs similarity index 100% rename from pumpkin-config/src/server_links.rs rename to crates/pumpkin-config/src/server_links.rs diff --git a/pumpkin-config/src/whitelist.rs b/crates/pumpkin-config/src/whitelist.rs similarity index 100% rename from pumpkin-config/src/whitelist.rs rename to crates/pumpkin-config/src/whitelist.rs diff --git a/pumpkin-config/src/world.rs b/crates/pumpkin-config/src/world.rs similarity index 92% rename from pumpkin-config/src/world.rs rename to crates/pumpkin-config/src/world.rs index 2b378b704..ff658d171 100644 --- a/pumpkin-config/src/world.rs +++ b/crates/pumpkin-config/src/world.rs @@ -9,6 +9,7 @@ use crate::{chunk::ChunkConfig, lighting::LightingEngineConfig}; pub struct LevelConfig { /// Configuration for chunk behaviour and management. pub chunk: ChunkConfig, + /// Configuration for lighting engine propagation mode. #[serde(default)] pub lighting: LightingEngineConfig, /// Number of ticks between autosave checks. If 0, autosave is disabled. diff --git a/pumpkin-data/Cargo.toml b/crates/pumpkin-data/Cargo.toml similarity index 100% rename from pumpkin-data/Cargo.toml rename to crates/pumpkin-data/Cargo.toml diff --git a/pumpkin-codegen/Clippy.toml b/crates/pumpkin-data/Clippy.toml similarity index 100% rename from pumpkin-codegen/Clippy.toml rename to crates/pumpkin-data/Clippy.toml diff --git a/pumpkin-data/benches/has_random_ticks.rs b/crates/pumpkin-data/benches/has_random_ticks.rs similarity index 100% rename from pumpkin-data/benches/has_random_ticks.rs rename to crates/pumpkin-data/benches/has_random_ticks.rs diff --git a/pumpkin-data/src/advancement_data.rs b/crates/pumpkin-data/src/advancement_data.rs similarity index 100% rename from pumpkin-data/src/advancement_data.rs rename to crates/pumpkin-data/src/advancement_data.rs diff --git a/pumpkin-data/src/block_direction.rs b/crates/pumpkin-data/src/block_direction.rs similarity index 100% rename from pumpkin-data/src/block_direction.rs rename to crates/pumpkin-data/src/block_direction.rs diff --git a/pumpkin-data/src/block_rotation.rs b/crates/pumpkin-data/src/block_rotation.rs similarity index 100% rename from pumpkin-data/src/block_rotation.rs rename to crates/pumpkin-data/src/block_rotation.rs diff --git a/pumpkin-data/src/block_state.rs b/crates/pumpkin-data/src/block_state.rs similarity index 100% rename from pumpkin-data/src/block_state.rs rename to crates/pumpkin-data/src/block_state.rs diff --git a/pumpkin-data/src/blocks.rs b/crates/pumpkin-data/src/blocks.rs similarity index 100% rename from pumpkin-data/src/blocks.rs rename to crates/pumpkin-data/src/blocks.rs diff --git a/pumpkin-data/src/data_component_impl/basic.rs b/crates/pumpkin-data/src/data_component_impl/basic.rs similarity index 100% rename from pumpkin-data/src/data_component_impl/basic.rs rename to crates/pumpkin-data/src/data_component_impl/basic.rs diff --git a/pumpkin-data/src/data_component_impl/block_entity.rs b/crates/pumpkin-data/src/data_component_impl/block_entity.rs similarity index 100% rename from pumpkin-data/src/data_component_impl/block_entity.rs rename to crates/pumpkin-data/src/data_component_impl/block_entity.rs diff --git a/pumpkin-data/src/data_component_impl/book.rs b/crates/pumpkin-data/src/data_component_impl/book.rs similarity index 100% rename from pumpkin-data/src/data_component_impl/book.rs rename to crates/pumpkin-data/src/data_component_impl/book.rs diff --git a/pumpkin-data/src/data_component_impl/combat.rs b/crates/pumpkin-data/src/data_component_impl/combat.rs similarity index 100% rename from pumpkin-data/src/data_component_impl/combat.rs rename to crates/pumpkin-data/src/data_component_impl/combat.rs diff --git a/pumpkin-data/src/data_component_impl/entity_variant.rs b/crates/pumpkin-data/src/data_component_impl/entity_variant.rs similarity index 100% rename from pumpkin-data/src/data_component_impl/entity_variant.rs rename to crates/pumpkin-data/src/data_component_impl/entity_variant.rs diff --git a/pumpkin-data/src/data_component_impl/food.rs b/crates/pumpkin-data/src/data_component_impl/food.rs similarity index 100% rename from pumpkin-data/src/data_component_impl/food.rs rename to crates/pumpkin-data/src/data_component_impl/food.rs diff --git a/pumpkin-data/src/data_component_impl/mod.rs b/crates/pumpkin-data/src/data_component_impl/mod.rs similarity index 100% rename from pumpkin-data/src/data_component_impl/mod.rs rename to crates/pumpkin-data/src/data_component_impl/mod.rs diff --git a/pumpkin-data/src/data_component_impl/utility.rs b/crates/pumpkin-data/src/data_component_impl/utility.rs similarity index 100% rename from pumpkin-data/src/data_component_impl/utility.rs rename to crates/pumpkin-data/src/data_component_impl/utility.rs diff --git a/pumpkin-data/src/generated/advancement.rs b/crates/pumpkin-data/src/generated/advancement.rs similarity index 100% rename from pumpkin-data/src/generated/advancement.rs rename to crates/pumpkin-data/src/generated/advancement.rs diff --git a/pumpkin-data/src/generated/attributes.rs b/crates/pumpkin-data/src/generated/attributes.rs similarity index 100% rename from pumpkin-data/src/generated/attributes.rs rename to crates/pumpkin-data/src/generated/attributes.rs diff --git a/pumpkin-data/src/generated/bedrock_creative.rs b/crates/pumpkin-data/src/generated/bedrock_creative.rs similarity index 100% rename from pumpkin-data/src/generated/bedrock_creative.rs rename to crates/pumpkin-data/src/generated/bedrock_creative.rs diff --git a/pumpkin-data/src/generated/biome.rs b/crates/pumpkin-data/src/generated/biome.rs similarity index 100% rename from pumpkin-data/src/generated/biome.rs rename to crates/pumpkin-data/src/generated/biome.rs diff --git a/pumpkin-data/src/generated/block.rs b/crates/pumpkin-data/src/generated/block.rs similarity index 100% rename from pumpkin-data/src/generated/block.rs rename to crates/pumpkin-data/src/generated/block.rs diff --git a/pumpkin-data/src/generated/block_state_remap.rs b/crates/pumpkin-data/src/generated/block_state_remap.rs similarity index 100% rename from pumpkin-data/src/generated/block_state_remap.rs rename to crates/pumpkin-data/src/generated/block_state_remap.rs diff --git a/pumpkin-data/src/generated/carver.rs b/crates/pumpkin-data/src/generated/carver.rs similarity index 100% rename from pumpkin-data/src/generated/carver.rs rename to crates/pumpkin-data/src/generated/carver.rs diff --git a/pumpkin-data/src/generated/chest_loot.rs b/crates/pumpkin-data/src/generated/chest_loot.rs similarity index 100% rename from pumpkin-data/src/generated/chest_loot.rs rename to crates/pumpkin-data/src/generated/chest_loot.rs diff --git a/pumpkin-data/src/generated/chunk_gen_settings.rs b/crates/pumpkin-data/src/generated/chunk_gen_settings.rs similarity index 100% rename from pumpkin-data/src/generated/chunk_gen_settings.rs rename to crates/pumpkin-data/src/generated/chunk_gen_settings.rs diff --git a/pumpkin-data/src/generated/chunk_status.rs b/crates/pumpkin-data/src/generated/chunk_status.rs similarity index 100% rename from pumpkin-data/src/generated/chunk_status.rs rename to crates/pumpkin-data/src/generated/chunk_status.rs diff --git a/pumpkin-data/src/generated/chunk_view_lut.rs b/crates/pumpkin-data/src/generated/chunk_view_lut.rs similarity index 100% rename from pumpkin-data/src/generated/chunk_view_lut.rs rename to crates/pumpkin-data/src/generated/chunk_view_lut.rs diff --git a/pumpkin-data/src/generated/composter_increase_chance.rs b/crates/pumpkin-data/src/generated/composter_increase_chance.rs similarity index 100% rename from pumpkin-data/src/generated/composter_increase_chance.rs rename to crates/pumpkin-data/src/generated/composter_increase_chance.rs diff --git a/pumpkin-data/src/generated/configured_feature.rs b/crates/pumpkin-data/src/generated/configured_feature.rs similarity index 100% rename from pumpkin-data/src/generated/configured_feature.rs rename to crates/pumpkin-data/src/generated/configured_feature.rs diff --git a/pumpkin-data/src/generated/configured_features_generated.rs b/crates/pumpkin-data/src/generated/configured_features_generated.rs similarity index 100% rename from pumpkin-data/src/generated/configured_features_generated.rs rename to crates/pumpkin-data/src/generated/configured_features_generated.rs diff --git a/pumpkin-data/src/generated/damage_type.rs b/crates/pumpkin-data/src/generated/damage_type.rs similarity index 100% rename from pumpkin-data/src/generated/damage_type.rs rename to crates/pumpkin-data/src/generated/damage_type.rs diff --git a/pumpkin-data/src/generated/data_component.rs b/crates/pumpkin-data/src/generated/data_component.rs similarity index 100% rename from pumpkin-data/src/generated/data_component.rs rename to crates/pumpkin-data/src/generated/data_component.rs diff --git a/pumpkin-data/src/generated/dimension.rs b/crates/pumpkin-data/src/generated/dimension.rs similarity index 100% rename from pumpkin-data/src/generated/dimension.rs rename to crates/pumpkin-data/src/generated/dimension.rs diff --git a/pumpkin-data/src/generated/effect.rs b/crates/pumpkin-data/src/generated/effect.rs similarity index 100% rename from pumpkin-data/src/generated/effect.rs rename to crates/pumpkin-data/src/generated/effect.rs diff --git a/pumpkin-data/src/generated/enchantment.rs b/crates/pumpkin-data/src/generated/enchantment.rs similarity index 100% rename from pumpkin-data/src/generated/enchantment.rs rename to crates/pumpkin-data/src/generated/enchantment.rs diff --git a/pumpkin-data/src/generated/enchantments.rs b/crates/pumpkin-data/src/generated/enchantments.rs similarity index 100% rename from pumpkin-data/src/generated/enchantments.rs rename to crates/pumpkin-data/src/generated/enchantments.rs diff --git a/pumpkin-data/src/generated/entity_id_remap.rs b/crates/pumpkin-data/src/generated/entity_id_remap.rs similarity index 100% rename from pumpkin-data/src/generated/entity_id_remap.rs rename to crates/pumpkin-data/src/generated/entity_id_remap.rs diff --git a/pumpkin-data/src/generated/entity_pose.rs b/crates/pumpkin-data/src/generated/entity_pose.rs similarity index 100% rename from pumpkin-data/src/generated/entity_pose.rs rename to crates/pumpkin-data/src/generated/entity_pose.rs diff --git a/pumpkin-data/src/generated/entity_status.rs b/crates/pumpkin-data/src/generated/entity_status.rs similarity index 100% rename from pumpkin-data/src/generated/entity_status.rs rename to crates/pumpkin-data/src/generated/entity_status.rs diff --git a/pumpkin-data/src/generated/entity_type.rs b/crates/pumpkin-data/src/generated/entity_type.rs similarity index 100% rename from pumpkin-data/src/generated/entity_type.rs rename to crates/pumpkin-data/src/generated/entity_type.rs diff --git a/pumpkin-data/src/generated/flower_pot_transformations.rs b/crates/pumpkin-data/src/generated/flower_pot_transformations.rs similarity index 100% rename from pumpkin-data/src/generated/flower_pot_transformations.rs rename to crates/pumpkin-data/src/generated/flower_pot_transformations.rs diff --git a/pumpkin-data/src/generated/fluid.rs b/crates/pumpkin-data/src/generated/fluid.rs similarity index 100% rename from pumpkin-data/src/generated/fluid.rs rename to crates/pumpkin-data/src/generated/fluid.rs diff --git a/pumpkin-data/src/generated/fuels.rs b/crates/pumpkin-data/src/generated/fuels.rs similarity index 100% rename from pumpkin-data/src/generated/fuels.rs rename to crates/pumpkin-data/src/generated/fuels.rs diff --git a/pumpkin-data/src/generated/game_event.rs b/crates/pumpkin-data/src/generated/game_event.rs similarity index 100% rename from pumpkin-data/src/generated/game_event.rs rename to crates/pumpkin-data/src/generated/game_event.rs diff --git a/pumpkin-data/src/generated/game_rules.rs b/crates/pumpkin-data/src/generated/game_rules.rs similarity index 100% rename from pumpkin-data/src/generated/game_rules.rs rename to crates/pumpkin-data/src/generated/game_rules.rs diff --git a/pumpkin-data/src/generated/item.rs b/crates/pumpkin-data/src/generated/item.rs similarity index 100% rename from pumpkin-data/src/generated/item.rs rename to crates/pumpkin-data/src/generated/item.rs diff --git a/pumpkin-data/src/generated/item_id_remap.rs b/crates/pumpkin-data/src/generated/item_id_remap.rs similarity index 100% rename from pumpkin-data/src/generated/item_id_remap.rs rename to crates/pumpkin-data/src/generated/item_id_remap.rs diff --git a/pumpkin-data/src/generated/jukebox_song.rs b/crates/pumpkin-data/src/generated/jukebox_song.rs similarity index 100% rename from pumpkin-data/src/generated/jukebox_song.rs rename to crates/pumpkin-data/src/generated/jukebox_song.rs diff --git a/pumpkin-data/src/generated/message_type.rs b/crates/pumpkin-data/src/generated/message_type.rs similarity index 100% rename from pumpkin-data/src/generated/message_type.rs rename to crates/pumpkin-data/src/generated/message_type.rs diff --git a/pumpkin-data/src/generated/meta_data_type.rs b/crates/pumpkin-data/src/generated/meta_data_type.rs similarity index 100% rename from pumpkin-data/src/generated/meta_data_type.rs rename to crates/pumpkin-data/src/generated/meta_data_type.rs diff --git a/pumpkin-data/src/generated/noise_parameter.rs b/crates/pumpkin-data/src/generated/noise_parameter.rs similarity index 100% rename from pumpkin-data/src/generated/noise_parameter.rs rename to crates/pumpkin-data/src/generated/noise_parameter.rs diff --git a/pumpkin-data/src/generated/noise_router.rs b/crates/pumpkin-data/src/generated/noise_router.rs similarity index 100% rename from pumpkin-data/src/generated/noise_router.rs rename to crates/pumpkin-data/src/generated/noise_router.rs diff --git a/pumpkin-data/src/generated/packet.rs b/crates/pumpkin-data/src/generated/packet.rs similarity index 100% rename from pumpkin-data/src/generated/packet.rs rename to crates/pumpkin-data/src/generated/packet.rs diff --git a/pumpkin-data/src/generated/particle.rs b/crates/pumpkin-data/src/generated/particle.rs similarity index 100% rename from pumpkin-data/src/generated/particle.rs rename to crates/pumpkin-data/src/generated/particle.rs diff --git a/pumpkin-data/src/generated/particle_id_remap.rs b/crates/pumpkin-data/src/generated/particle_id_remap.rs similarity index 100% rename from pumpkin-data/src/generated/particle_id_remap.rs rename to crates/pumpkin-data/src/generated/particle_id_remap.rs diff --git a/pumpkin-data/src/generated/placed_feature.rs b/crates/pumpkin-data/src/generated/placed_feature.rs similarity index 100% rename from pumpkin-data/src/generated/placed_feature.rs rename to crates/pumpkin-data/src/generated/placed_feature.rs diff --git a/pumpkin-data/src/generated/placed_features_generated.rs b/crates/pumpkin-data/src/generated/placed_features_generated.rs similarity index 100% rename from pumpkin-data/src/generated/placed_features_generated.rs rename to crates/pumpkin-data/src/generated/placed_features_generated.rs diff --git a/pumpkin-data/src/generated/potion.rs b/crates/pumpkin-data/src/generated/potion.rs similarity index 100% rename from pumpkin-data/src/generated/potion.rs rename to crates/pumpkin-data/src/generated/potion.rs diff --git a/pumpkin-data/src/generated/potion_brewing.rs b/crates/pumpkin-data/src/generated/potion_brewing.rs similarity index 100% rename from pumpkin-data/src/generated/potion_brewing.rs rename to crates/pumpkin-data/src/generated/potion_brewing.rs diff --git a/pumpkin-data/src/generated/recipe_remainder.rs b/crates/pumpkin-data/src/generated/recipe_remainder.rs similarity index 100% rename from pumpkin-data/src/generated/recipe_remainder.rs rename to crates/pumpkin-data/src/generated/recipe_remainder.rs diff --git a/pumpkin-data/src/generated/recipes.rs b/crates/pumpkin-data/src/generated/recipes.rs similarity index 100% rename from pumpkin-data/src/generated/recipes.rs rename to crates/pumpkin-data/src/generated/recipes.rs diff --git a/pumpkin-data/src/generated/registry.rs b/crates/pumpkin-data/src/generated/registry.rs similarity index 100% rename from pumpkin-data/src/generated/registry.rs rename to crates/pumpkin-data/src/generated/registry.rs diff --git a/pumpkin-data/src/generated/scoreboard_slot.rs b/crates/pumpkin-data/src/generated/scoreboard_slot.rs similarity index 100% rename from pumpkin-data/src/generated/scoreboard_slot.rs rename to crates/pumpkin-data/src/generated/scoreboard_slot.rs diff --git a/pumpkin-data/src/generated/screen.rs b/crates/pumpkin-data/src/generated/screen.rs similarity index 100% rename from pumpkin-data/src/generated/screen.rs rename to crates/pumpkin-data/src/generated/screen.rs diff --git a/pumpkin-data/src/generated/slot_ranges.rs b/crates/pumpkin-data/src/generated/slot_ranges.rs similarity index 100% rename from pumpkin-data/src/generated/slot_ranges.rs rename to crates/pumpkin-data/src/generated/slot_ranges.rs diff --git a/pumpkin-data/src/generated/sound.rs b/crates/pumpkin-data/src/generated/sound.rs similarity index 100% rename from pumpkin-data/src/generated/sound.rs rename to crates/pumpkin-data/src/generated/sound.rs diff --git a/pumpkin-data/src/generated/sound_category.rs b/crates/pumpkin-data/src/generated/sound_category.rs similarity index 100% rename from pumpkin-data/src/generated/sound_category.rs rename to crates/pumpkin-data/src/generated/sound_category.rs diff --git a/pumpkin-data/src/generated/sound_id_remap.rs b/crates/pumpkin-data/src/generated/sound_id_remap.rs similarity index 100% rename from pumpkin-data/src/generated/sound_id_remap.rs rename to crates/pumpkin-data/src/generated/sound_id_remap.rs diff --git a/pumpkin-data/src/generated/spawn_egg.rs b/crates/pumpkin-data/src/generated/spawn_egg.rs similarity index 100% rename from pumpkin-data/src/generated/spawn_egg.rs rename to crates/pumpkin-data/src/generated/spawn_egg.rs diff --git a/pumpkin-data/src/generated/statistic.rs b/crates/pumpkin-data/src/generated/statistic.rs similarity index 100% rename from pumpkin-data/src/generated/statistic.rs rename to crates/pumpkin-data/src/generated/statistic.rs diff --git a/pumpkin-data/src/generated/status_effect.rs b/crates/pumpkin-data/src/generated/status_effect.rs similarity index 100% rename from pumpkin-data/src/generated/status_effect.rs rename to crates/pumpkin-data/src/generated/status_effect.rs diff --git a/pumpkin-data/src/generated/structures.rs b/crates/pumpkin-data/src/generated/structures.rs similarity index 100% rename from pumpkin-data/src/generated/structures.rs rename to crates/pumpkin-data/src/generated/structures.rs diff --git a/pumpkin-data/src/generated/tag.rs b/crates/pumpkin-data/src/generated/tag.rs similarity index 100% rename from pumpkin-data/src/generated/tag.rs rename to crates/pumpkin-data/src/generated/tag.rs diff --git a/pumpkin-data/src/generated/tracked_data.rs b/crates/pumpkin-data/src/generated/tracked_data.rs similarity index 100% rename from pumpkin-data/src/generated/tracked_data.rs rename to crates/pumpkin-data/src/generated/tracked_data.rs diff --git a/pumpkin-data/src/generated/translation.rs b/crates/pumpkin-data/src/generated/translation.rs similarity index 100% rename from pumpkin-data/src/generated/translation.rs rename to crates/pumpkin-data/src/generated/translation.rs diff --git a/pumpkin-data/src/generated/villager.rs b/crates/pumpkin-data/src/generated/villager.rs similarity index 100% rename from pumpkin-data/src/generated/villager.rs rename to crates/pumpkin-data/src/generated/villager.rs diff --git a/pumpkin-data/src/generated/world_event.rs b/crates/pumpkin-data/src/generated/world_event.rs similarity index 100% rename from pumpkin-data/src/generated/world_event.rs rename to crates/pumpkin-data/src/generated/world_event.rs diff --git a/pumpkin-data/src/item_stack/categories.rs b/crates/pumpkin-data/src/item_stack/categories.rs similarity index 100% rename from pumpkin-data/src/item_stack/categories.rs rename to crates/pumpkin-data/src/item_stack/categories.rs diff --git a/pumpkin-data/src/item_stack/mod.rs b/crates/pumpkin-data/src/item_stack/mod.rs similarity index 100% rename from pumpkin-data/src/item_stack/mod.rs rename to crates/pumpkin-data/src/item_stack/mod.rs diff --git a/pumpkin-data/src/lib.rs b/crates/pumpkin-data/src/lib.rs similarity index 100% rename from pumpkin-data/src/lib.rs rename to crates/pumpkin-data/src/lib.rs diff --git a/pumpkin-inventory/Cargo.toml b/crates/pumpkin-inventory/Cargo.toml similarity index 100% rename from pumpkin-inventory/Cargo.toml rename to crates/pumpkin-inventory/Cargo.toml diff --git a/pumpkin-inventory/src/anvil/anvil_screen_handler.rs b/crates/pumpkin-inventory/src/anvil/anvil_screen_handler.rs similarity index 100% rename from pumpkin-inventory/src/anvil/anvil_screen_handler.rs rename to crates/pumpkin-inventory/src/anvil/anvil_screen_handler.rs diff --git a/pumpkin-inventory/src/anvil/mod.rs b/crates/pumpkin-inventory/src/anvil/mod.rs similarity index 100% rename from pumpkin-inventory/src/anvil/mod.rs rename to crates/pumpkin-inventory/src/anvil/mod.rs diff --git a/pumpkin-inventory/src/beacon_screen_handler.rs b/crates/pumpkin-inventory/src/beacon_screen_handler.rs similarity index 100% rename from pumpkin-inventory/src/beacon_screen_handler.rs rename to crates/pumpkin-inventory/src/beacon_screen_handler.rs diff --git a/pumpkin-inventory/src/brewing/brewing_screen_handler.rs b/crates/pumpkin-inventory/src/brewing/brewing_screen_handler.rs similarity index 100% rename from pumpkin-inventory/src/brewing/brewing_screen_handler.rs rename to crates/pumpkin-inventory/src/brewing/brewing_screen_handler.rs diff --git a/pumpkin-inventory/src/brewing/mod.rs b/crates/pumpkin-inventory/src/brewing/mod.rs similarity index 100% rename from pumpkin-inventory/src/brewing/mod.rs rename to crates/pumpkin-inventory/src/brewing/mod.rs diff --git a/pumpkin-inventory/src/container_click.rs b/crates/pumpkin-inventory/src/container_click.rs similarity index 100% rename from pumpkin-inventory/src/container_click.rs rename to crates/pumpkin-inventory/src/container_click.rs diff --git a/pumpkin-inventory/src/crafting/crafting_inventory.rs b/crates/pumpkin-inventory/src/crafting/crafting_inventory.rs similarity index 100% rename from pumpkin-inventory/src/crafting/crafting_inventory.rs rename to crates/pumpkin-inventory/src/crafting/crafting_inventory.rs diff --git a/pumpkin-inventory/src/crafting/crafting_screen_handler.rs b/crates/pumpkin-inventory/src/crafting/crafting_screen_handler.rs similarity index 100% rename from pumpkin-inventory/src/crafting/crafting_screen_handler.rs rename to crates/pumpkin-inventory/src/crafting/crafting_screen_handler.rs diff --git a/pumpkin-inventory/src/crafting/mod.rs b/crates/pumpkin-inventory/src/crafting/mod.rs similarity index 100% rename from pumpkin-inventory/src/crafting/mod.rs rename to crates/pumpkin-inventory/src/crafting/mod.rs diff --git a/pumpkin-inventory/src/crafting/recipe_provider.rs b/crates/pumpkin-inventory/src/crafting/recipe_provider.rs similarity index 100% rename from pumpkin-inventory/src/crafting/recipe_provider.rs rename to crates/pumpkin-inventory/src/crafting/recipe_provider.rs diff --git a/pumpkin-inventory/src/crafting/recipes.rs b/crates/pumpkin-inventory/src/crafting/recipes.rs similarity index 100% rename from pumpkin-inventory/src/crafting/recipes.rs rename to crates/pumpkin-inventory/src/crafting/recipes.rs diff --git a/pumpkin-inventory/src/double.rs b/crates/pumpkin-inventory/src/double.rs similarity index 100% rename from pumpkin-inventory/src/double.rs rename to crates/pumpkin-inventory/src/double.rs diff --git a/pumpkin-inventory/src/drag_handler.rs b/crates/pumpkin-inventory/src/drag_handler.rs similarity index 100% rename from pumpkin-inventory/src/drag_handler.rs rename to crates/pumpkin-inventory/src/drag_handler.rs diff --git a/pumpkin-inventory/src/enchanting/enchanting_screen_handler.rs b/crates/pumpkin-inventory/src/enchanting/enchanting_screen_handler.rs similarity index 100% rename from pumpkin-inventory/src/enchanting/enchanting_screen_handler.rs rename to crates/pumpkin-inventory/src/enchanting/enchanting_screen_handler.rs diff --git a/pumpkin-inventory/src/enchanting/mod.rs b/crates/pumpkin-inventory/src/enchanting/mod.rs similarity index 100% rename from pumpkin-inventory/src/enchanting/mod.rs rename to crates/pumpkin-inventory/src/enchanting/mod.rs diff --git a/pumpkin-inventory/src/entity_equipment.rs b/crates/pumpkin-inventory/src/entity_equipment.rs similarity index 100% rename from pumpkin-inventory/src/entity_equipment.rs rename to crates/pumpkin-inventory/src/entity_equipment.rs diff --git a/pumpkin-inventory/src/error.rs b/crates/pumpkin-inventory/src/error.rs similarity index 100% rename from pumpkin-inventory/src/error.rs rename to crates/pumpkin-inventory/src/error.rs diff --git a/pumpkin-inventory/src/furnace_like/furnace_like_screen_handler.rs b/crates/pumpkin-inventory/src/furnace_like/furnace_like_screen_handler.rs similarity index 100% rename from pumpkin-inventory/src/furnace_like/furnace_like_screen_handler.rs rename to crates/pumpkin-inventory/src/furnace_like/furnace_like_screen_handler.rs diff --git a/pumpkin-inventory/src/furnace_like/furnace_like_slot.rs b/crates/pumpkin-inventory/src/furnace_like/furnace_like_slot.rs similarity index 100% rename from pumpkin-inventory/src/furnace_like/furnace_like_slot.rs rename to crates/pumpkin-inventory/src/furnace_like/furnace_like_slot.rs diff --git a/pumpkin-inventory/src/furnace_like/mod.rs b/crates/pumpkin-inventory/src/furnace_like/mod.rs similarity index 100% rename from pumpkin-inventory/src/furnace_like/mod.rs rename to crates/pumpkin-inventory/src/furnace_like/mod.rs diff --git a/pumpkin-inventory/src/generic_container_screen_handler.rs b/crates/pumpkin-inventory/src/generic_container_screen_handler.rs similarity index 100% rename from pumpkin-inventory/src/generic_container_screen_handler.rs rename to crates/pumpkin-inventory/src/generic_container_screen_handler.rs diff --git a/pumpkin-inventory/src/gui_builder.rs b/crates/pumpkin-inventory/src/gui_builder.rs similarity index 100% rename from pumpkin-inventory/src/gui_builder.rs rename to crates/pumpkin-inventory/src/gui_builder.rs diff --git a/pumpkin-inventory/src/lectern_screen_handler.rs b/crates/pumpkin-inventory/src/lectern_screen_handler.rs similarity index 100% rename from pumpkin-inventory/src/lectern_screen_handler.rs rename to crates/pumpkin-inventory/src/lectern_screen_handler.rs diff --git a/pumpkin-inventory/src/lib.rs b/crates/pumpkin-inventory/src/lib.rs similarity index 100% rename from pumpkin-inventory/src/lib.rs rename to crates/pumpkin-inventory/src/lib.rs diff --git a/pumpkin-inventory/src/merchant/merchant_screen_handler.rs b/crates/pumpkin-inventory/src/merchant/merchant_screen_handler.rs similarity index 100% rename from pumpkin-inventory/src/merchant/merchant_screen_handler.rs rename to crates/pumpkin-inventory/src/merchant/merchant_screen_handler.rs diff --git a/pumpkin-inventory/src/merchant/mod.rs b/crates/pumpkin-inventory/src/merchant/mod.rs similarity index 100% rename from pumpkin-inventory/src/merchant/mod.rs rename to crates/pumpkin-inventory/src/merchant/mod.rs diff --git a/pumpkin-inventory/src/player/ender_chest_inventory.rs b/crates/pumpkin-inventory/src/player/ender_chest_inventory.rs similarity index 100% rename from pumpkin-inventory/src/player/ender_chest_inventory.rs rename to crates/pumpkin-inventory/src/player/ender_chest_inventory.rs diff --git a/pumpkin-inventory/src/player/mod.rs b/crates/pumpkin-inventory/src/player/mod.rs similarity index 100% rename from pumpkin-inventory/src/player/mod.rs rename to crates/pumpkin-inventory/src/player/mod.rs diff --git a/pumpkin-inventory/src/player/player_inventory.rs b/crates/pumpkin-inventory/src/player/player_inventory.rs similarity index 100% rename from pumpkin-inventory/src/player/player_inventory.rs rename to crates/pumpkin-inventory/src/player/player_inventory.rs diff --git a/pumpkin-inventory/src/player/player_screen_handler.rs b/crates/pumpkin-inventory/src/player/player_screen_handler.rs similarity index 100% rename from pumpkin-inventory/src/player/player_screen_handler.rs rename to crates/pumpkin-inventory/src/player/player_screen_handler.rs diff --git a/pumpkin-inventory/src/screen_handler.rs b/crates/pumpkin-inventory/src/screen_handler.rs similarity index 100% rename from pumpkin-inventory/src/screen_handler.rs rename to crates/pumpkin-inventory/src/screen_handler.rs diff --git a/pumpkin-inventory/src/slot.rs b/crates/pumpkin-inventory/src/slot.rs similarity index 100% rename from pumpkin-inventory/src/slot.rs rename to crates/pumpkin-inventory/src/slot.rs diff --git a/pumpkin-inventory/src/stonecutter_screen_handler.rs b/crates/pumpkin-inventory/src/stonecutter_screen_handler.rs similarity index 100% rename from pumpkin-inventory/src/stonecutter_screen_handler.rs rename to crates/pumpkin-inventory/src/stonecutter_screen_handler.rs diff --git a/pumpkin-inventory/src/sync_handler.rs b/crates/pumpkin-inventory/src/sync_handler.rs similarity index 100% rename from pumpkin-inventory/src/sync_handler.rs rename to crates/pumpkin-inventory/src/sync_handler.rs diff --git a/pumpkin-inventory/src/window_property.rs b/crates/pumpkin-inventory/src/window_property.rs similarity index 100% rename from pumpkin-inventory/src/window_property.rs rename to crates/pumpkin-inventory/src/window_property.rs diff --git a/pumpkin-macros/Cargo.toml b/crates/pumpkin-macros/Cargo.toml similarity index 100% rename from pumpkin-macros/Cargo.toml rename to crates/pumpkin-macros/Cargo.toml diff --git a/pumpkin-macros/src/lib.rs b/crates/pumpkin-macros/src/lib.rs similarity index 100% rename from pumpkin-macros/src/lib.rs rename to crates/pumpkin-macros/src/lib.rs diff --git a/pumpkin-nbt/Cargo.toml b/crates/pumpkin-nbt/Cargo.toml similarity index 100% rename from pumpkin-nbt/Cargo.toml rename to crates/pumpkin-nbt/Cargo.toml diff --git a/pumpkin-nbt/benches/nbt.rs b/crates/pumpkin-nbt/benches/nbt.rs similarity index 100% rename from pumpkin-nbt/benches/nbt.rs rename to crates/pumpkin-nbt/benches/nbt.rs diff --git a/pumpkin-nbt/fuzz/.gitignore b/crates/pumpkin-nbt/fuzz/.gitignore similarity index 100% rename from pumpkin-nbt/fuzz/.gitignore rename to crates/pumpkin-nbt/fuzz/.gitignore diff --git a/pumpkin-nbt/fuzz/Cargo.lock b/crates/pumpkin-nbt/fuzz/Cargo.lock similarity index 100% rename from pumpkin-nbt/fuzz/Cargo.lock rename to crates/pumpkin-nbt/fuzz/Cargo.lock diff --git a/pumpkin-nbt/fuzz/Cargo.toml b/crates/pumpkin-nbt/fuzz/Cargo.toml similarity index 100% rename from pumpkin-nbt/fuzz/Cargo.toml rename to crates/pumpkin-nbt/fuzz/Cargo.toml diff --git a/pumpkin-nbt/fuzz/fuzz_targets/decompress_gzip.rs b/crates/pumpkin-nbt/fuzz/fuzz_targets/decompress_gzip.rs similarity index 100% rename from pumpkin-nbt/fuzz/fuzz_targets/decompress_gzip.rs rename to crates/pumpkin-nbt/fuzz/fuzz_targets/decompress_gzip.rs diff --git a/pumpkin-nbt/fuzz/fuzz_targets/deserialize_bedrock.rs b/crates/pumpkin-nbt/fuzz/fuzz_targets/deserialize_bedrock.rs similarity index 100% rename from pumpkin-nbt/fuzz/fuzz_targets/deserialize_bedrock.rs rename to crates/pumpkin-nbt/fuzz/fuzz_targets/deserialize_bedrock.rs diff --git a/pumpkin-nbt/fuzz/fuzz_targets/deserialize_java.rs b/crates/pumpkin-nbt/fuzz/fuzz_targets/deserialize_java.rs similarity index 100% rename from pumpkin-nbt/fuzz/fuzz_targets/deserialize_java.rs rename to crates/pumpkin-nbt/fuzz/fuzz_targets/deserialize_java.rs diff --git a/pumpkin-nbt/src/compound.rs b/crates/pumpkin-nbt/src/compound.rs similarity index 100% rename from pumpkin-nbt/src/compound.rs rename to crates/pumpkin-nbt/src/compound.rs diff --git a/pumpkin-nbt/src/deserializer.rs b/crates/pumpkin-nbt/src/deserializer.rs similarity index 97% rename from pumpkin-nbt/src/deserializer.rs rename to crates/pumpkin-nbt/src/deserializer.rs index fc76b0495..fc407f2d5 100644 --- a/pumpkin-nbt/src/deserializer.rs +++ b/crates/pumpkin-nbt/src/deserializer.rs @@ -114,6 +114,7 @@ impl<'a> NbtDataSource<'a> for Cursor<&'a [u8]> { self.set_position((pos + len) as u64); let data = self.get_ref(); let slice = &data[pos..pos + len]; + // SAFETY: `slice` is a valid byte slice of length `len`. `u8` and `i8` have identical size, alignment (1 byte), and valid value representations. let i8_slice = unsafe { std::slice::from_raw_parts(slice.as_ptr().cast::(), len) }; Ok(Cow::Borrowed(i8_slice)) } @@ -182,6 +183,7 @@ impl<'a> NbtDataSource<'a> for Cursor> { self.set_position((pos + len) as u64); let data = self.get_ref(); let slice = &data[pos..pos + len]; + // SAFETY: `slice` is a valid byte slice of length `len`. `u8` and `i8` have identical size, alignment (1 byte), and valid value representations. let i8_slice = unsafe { std::slice::from_raw_parts(slice.as_ptr().cast::(), len) }; Ok(Cow::Owned(i8_slice.to_vec())) } diff --git a/pumpkin-nbt/src/lib.rs b/crates/pumpkin-nbt/src/lib.rs similarity index 100% rename from pumpkin-nbt/src/lib.rs rename to crates/pumpkin-nbt/src/lib.rs diff --git a/pumpkin-nbt/src/nbt_compress.rs b/crates/pumpkin-nbt/src/nbt_compress.rs similarity index 100% rename from pumpkin-nbt/src/nbt_compress.rs rename to crates/pumpkin-nbt/src/nbt_compress.rs diff --git a/pumpkin-nbt/src/nbt_ops.rs b/crates/pumpkin-nbt/src/nbt_ops.rs similarity index 100% rename from pumpkin-nbt/src/nbt_ops.rs rename to crates/pumpkin-nbt/src/nbt_ops.rs diff --git a/pumpkin-nbt/src/serializer.rs b/crates/pumpkin-nbt/src/serializer.rs similarity index 100% rename from pumpkin-nbt/src/serializer.rs rename to crates/pumpkin-nbt/src/serializer.rs diff --git a/pumpkin-nbt/src/tag.rs b/crates/pumpkin-nbt/src/tag.rs similarity index 99% rename from pumpkin-nbt/src/tag.rs rename to crates/pumpkin-nbt/src/tag.rs index fc151b004..55dc35cfb 100644 --- a/pumpkin-nbt/src/tag.rs +++ b/crates/pumpkin-nbt/src/tag.rs @@ -46,7 +46,7 @@ impl NbtTag { /// Returns the numeric id associated with the data type. #[must_use] pub const fn get_type_id(&self) -> u8 { - // Safety: Since Self is repr(u8), it is guaranteed to hold the discriminant in the first byte + // SAFETY: Since Self is repr(u8), it is guaranteed to hold the discriminant in the first byte // See https://doc.rust-lang.org/reference/items/enumerations.html#pointer-casting unsafe { *std::ptr::from_ref::(self).cast::() } } diff --git a/pumpkin-plugin-api/Cargo.toml b/crates/pumpkin-plugin-api/Cargo.toml similarity index 100% rename from pumpkin-plugin-api/Cargo.toml rename to crates/pumpkin-plugin-api/Cargo.toml diff --git a/pumpkin-plugin-api/src/ai.rs b/crates/pumpkin-plugin-api/src/ai.rs similarity index 76% rename from pumpkin-plugin-api/src/ai.rs rename to crates/pumpkin-plugin-api/src/ai.rs index 5132890e2..ea5993001 100644 --- a/pumpkin-plugin-api/src/ai.rs +++ b/crates/pumpkin-plugin-api/src/ai.rs @@ -3,16 +3,22 @@ use crate::wit::pumpkin::plugin::world::Entity; use std::collections::BTreeMap; use std::sync::Mutex; +/// Represents a custom entity AI goal for mobs. #[allow(unused_variables)] pub trait AiGoal: Send + Sync { + /// Returns `true` if the goal should start executing. fn can_start(&mut self, server: Server, entity: Entity) -> bool { false } + /// Returns `true` if the goal should continue executing on subsequent ticks. fn should_continue(&mut self, server: Server, entity: Entity) -> bool { false } + /// Executed when the goal starts. fn start(&mut self, server: Server, entity: Entity) {} + /// Executed on every server tick while the goal is active. fn tick(&mut self, server: Server, entity: Entity) {} + /// Executed when the goal stops executing. fn stop(&mut self, server: Server, entity: Entity) {} } diff --git a/pumpkin-plugin-api/src/commands.rs b/crates/pumpkin-plugin-api/src/commands.rs similarity index 100% rename from pumpkin-plugin-api/src/commands.rs rename to crates/pumpkin-plugin-api/src/commands.rs diff --git a/pumpkin-plugin-api/src/events/block/block_break.rs b/crates/pumpkin-plugin-api/src/events/block/block_break.rs similarity index 100% rename from pumpkin-plugin-api/src/events/block/block_break.rs rename to crates/pumpkin-plugin-api/src/events/block/block_break.rs diff --git a/pumpkin-plugin-api/src/events/block/block_burn.rs b/crates/pumpkin-plugin-api/src/events/block/block_burn.rs similarity index 100% rename from pumpkin-plugin-api/src/events/block/block_burn.rs rename to crates/pumpkin-plugin-api/src/events/block/block_burn.rs diff --git a/pumpkin-plugin-api/src/events/block/block_can_build.rs b/crates/pumpkin-plugin-api/src/events/block/block_can_build.rs similarity index 100% rename from pumpkin-plugin-api/src/events/block/block_can_build.rs rename to crates/pumpkin-plugin-api/src/events/block/block_can_build.rs diff --git a/pumpkin-plugin-api/src/events/block/block_damage.rs b/crates/pumpkin-plugin-api/src/events/block/block_damage.rs similarity index 90% rename from pumpkin-plugin-api/src/events/block/block_damage.rs rename to crates/pumpkin-plugin-api/src/events/block/block_damage.rs index 3496bd773..d19becdad 100644 --- a/pumpkin-plugin-api/src/events/block/block_damage.rs +++ b/crates/pumpkin-plugin-api/src/events/block/block_damage.rs @@ -1,6 +1,7 @@ use super::super::FromIntoEvent; use crate::wit::pumpkin::plugin::event::{BlockDamageEventData, Event, EventType}; +/// Event triggered when a block is damaged by a player. pub struct BlockDamageEvent; impl FromIntoEvent for BlockDamageEvent { const EVENT_TYPE: EventType = EventType::BlockDamageEvent; diff --git a/pumpkin-plugin-api/src/events/block/block_fade.rs b/crates/pumpkin-plugin-api/src/events/block/block_fade.rs similarity index 91% rename from pumpkin-plugin-api/src/events/block/block_fade.rs rename to crates/pumpkin-plugin-api/src/events/block/block_fade.rs index 26cf14f94..2f24da9b9 100644 --- a/pumpkin-plugin-api/src/events/block/block_fade.rs +++ b/crates/pumpkin-plugin-api/src/events/block/block_fade.rs @@ -1,6 +1,7 @@ use super::super::FromIntoEvent; use crate::wit::pumpkin::plugin::event::{BlockFadeEventData, Event, EventType}; +/// Event triggered when a block fades or melts away. pub struct BlockFadeEvent; impl FromIntoEvent for BlockFadeEvent { const EVENT_TYPE: EventType = EventType::BlockFadeEvent; diff --git a/pumpkin-plugin-api/src/events/block/block_form.rs b/crates/pumpkin-plugin-api/src/events/block/block_form.rs similarity index 92% rename from pumpkin-plugin-api/src/events/block/block_form.rs rename to crates/pumpkin-plugin-api/src/events/block/block_form.rs index abc351b94..e6d85d620 100644 --- a/pumpkin-plugin-api/src/events/block/block_form.rs +++ b/crates/pumpkin-plugin-api/src/events/block/block_form.rs @@ -1,6 +1,7 @@ use super::super::FromIntoEvent; use crate::wit::pumpkin::plugin::event::{BlockFormEventData, Event, EventType}; +/// Event triggered when a block is formed. pub struct BlockFormEvent; impl FromIntoEvent for BlockFormEvent { const EVENT_TYPE: EventType = EventType::BlockFormEvent; diff --git a/pumpkin-plugin-api/src/events/block/block_from_to.rs b/crates/pumpkin-plugin-api/src/events/block/block_from_to.rs similarity index 88% rename from pumpkin-plugin-api/src/events/block/block_from_to.rs rename to crates/pumpkin-plugin-api/src/events/block/block_from_to.rs index 5e4d4a852..50d0a6cfe 100644 --- a/pumpkin-plugin-api/src/events/block/block_from_to.rs +++ b/crates/pumpkin-plugin-api/src/events/block/block_from_to.rs @@ -1,6 +1,7 @@ use super::super::FromIntoEvent; use crate::wit::pumpkin::plugin::event::{BlockFromToEventData, Event, EventType}; +/// Event triggered when a fluid flows from one block position to another. pub struct BlockFromToEvent; impl FromIntoEvent for BlockFromToEvent { const EVENT_TYPE: EventType = EventType::BlockFromToEvent; diff --git a/pumpkin-plugin-api/src/events/block/block_grow.rs b/crates/pumpkin-plugin-api/src/events/block/block_grow.rs similarity index 100% rename from pumpkin-plugin-api/src/events/block/block_grow.rs rename to crates/pumpkin-plugin-api/src/events/block/block_grow.rs diff --git a/pumpkin-plugin-api/src/events/block/block_ignite.rs b/crates/pumpkin-plugin-api/src/events/block/block_ignite.rs similarity index 92% rename from pumpkin-plugin-api/src/events/block/block_ignite.rs rename to crates/pumpkin-plugin-api/src/events/block/block_ignite.rs index 28ff99cfa..8c8f6afa5 100644 --- a/pumpkin-plugin-api/src/events/block/block_ignite.rs +++ b/crates/pumpkin-plugin-api/src/events/block/block_ignite.rs @@ -1,6 +1,7 @@ use super::super::FromIntoEvent; use crate::wit::pumpkin::plugin::event::{BlockIgniteEventData, Event, EventType}; +/// Event triggered when a block is ignited. pub struct BlockIgniteEvent; impl FromIntoEvent for BlockIgniteEvent { const EVENT_TYPE: EventType = EventType::BlockIgniteEvent; diff --git a/pumpkin-plugin-api/src/events/block/block_place.rs b/crates/pumpkin-plugin-api/src/events/block/block_place.rs similarity index 100% rename from pumpkin-plugin-api/src/events/block/block_place.rs rename to crates/pumpkin-plugin-api/src/events/block/block_place.rs diff --git a/pumpkin-plugin-api/src/events/block/block_redstone.rs b/crates/pumpkin-plugin-api/src/events/block/block_redstone.rs similarity index 100% rename from pumpkin-plugin-api/src/events/block/block_redstone.rs rename to crates/pumpkin-plugin-api/src/events/block/block_redstone.rs diff --git a/pumpkin-plugin-api/src/events/block/mod.rs b/crates/pumpkin-plugin-api/src/events/block/mod.rs similarity index 64% rename from pumpkin-plugin-api/src/events/block/mod.rs rename to crates/pumpkin-plugin-api/src/events/block/mod.rs index aae2c2ee8..6dc456eb6 100644 --- a/pumpkin-plugin-api/src/events/block/mod.rs +++ b/crates/pumpkin-plugin-api/src/events/block/mod.rs @@ -1,13 +1,24 @@ +/// Block break event. pub mod block_break; +/// Block burn event. pub mod block_burn; +/// Block can build check event. pub mod block_can_build; +/// Block damage event. pub mod block_damage; +/// Block fade event. pub mod block_fade; +/// Block form event. pub mod block_form; +/// Block fluid flow event. pub mod block_from_to; +/// Block growth event. pub mod block_grow; +/// Block ignite event. pub mod block_ignite; +/// Block place event. pub mod block_place; +/// Block redstone signal event. pub mod block_redstone; pub use block_break::*; diff --git a/pumpkin-plugin-api/src/events/entity/entity_combust.rs b/crates/pumpkin-plugin-api/src/events/entity/entity_combust.rs similarity index 92% rename from pumpkin-plugin-api/src/events/entity/entity_combust.rs rename to crates/pumpkin-plugin-api/src/events/entity/entity_combust.rs index f76de64df..38902107e 100644 --- a/pumpkin-plugin-api/src/events/entity/entity_combust.rs +++ b/crates/pumpkin-plugin-api/src/events/entity/entity_combust.rs @@ -2,6 +2,7 @@ use crate::wit::pumpkin::plugin::event::{EntityCombustEventData, Event, EventTyp use super::super::FromIntoEvent; +/// Event triggered when an entity catches fire. pub struct EntityCombustEvent; impl FromIntoEvent for EntityCombustEvent { const EVENT_TYPE: EventType = EventType::EntityCombustEvent; diff --git a/pumpkin-plugin-api/src/events/entity/entity_damage.rs b/crates/pumpkin-plugin-api/src/events/entity/entity_damage.rs similarity index 91% rename from pumpkin-plugin-api/src/events/entity/entity_damage.rs rename to crates/pumpkin-plugin-api/src/events/entity/entity_damage.rs index d3c3f4515..19e14e56b 100644 --- a/pumpkin-plugin-api/src/events/entity/entity_damage.rs +++ b/crates/pumpkin-plugin-api/src/events/entity/entity_damage.rs @@ -2,6 +2,7 @@ use crate::wit::pumpkin::plugin::event::{EntityDamageEventData, Event, EventType use super::super::FromIntoEvent; +/// Event triggered when an entity receives damage. pub struct EntityDamageEvent; impl FromIntoEvent for EntityDamageEvent { const EVENT_TYPE: EventType = EventType::EntityDamageEvent; diff --git a/pumpkin-plugin-api/src/events/entity/entity_death.rs b/crates/pumpkin-plugin-api/src/events/entity/entity_death.rs similarity index 92% rename from pumpkin-plugin-api/src/events/entity/entity_death.rs rename to crates/pumpkin-plugin-api/src/events/entity/entity_death.rs index 67bae6e16..c6679e811 100644 --- a/pumpkin-plugin-api/src/events/entity/entity_death.rs +++ b/crates/pumpkin-plugin-api/src/events/entity/entity_death.rs @@ -4,6 +4,7 @@ use crate::wit::pumpkin::plugin::event::{ use super::super::FromIntoEvent; +/// Event triggered when an entity dies. pub struct EntityDeathEvent; impl FromIntoEvent for EntityDeathEvent { const EVENT_TYPE: EventType = EventType::EntityDeathEvent; @@ -21,6 +22,7 @@ impl FromIntoEvent for EntityDeathEvent { } } +/// Event triggered when a player dies. pub struct PlayerDeathEvent; impl FromIntoEvent for PlayerDeathEvent { const EVENT_TYPE: EventType = EventType::PlayerDeathEvent; diff --git a/pumpkin-plugin-api/src/events/entity/entity_regain_health.rs b/crates/pumpkin-plugin-api/src/events/entity/entity_regain_health.rs similarity index 92% rename from pumpkin-plugin-api/src/events/entity/entity_regain_health.rs rename to crates/pumpkin-plugin-api/src/events/entity/entity_regain_health.rs index bc52b1f21..04e805dd5 100644 --- a/pumpkin-plugin-api/src/events/entity/entity_regain_health.rs +++ b/crates/pumpkin-plugin-api/src/events/entity/entity_regain_health.rs @@ -2,6 +2,7 @@ use crate::wit::pumpkin::plugin::event::{EntityRegainHealthEventData, Event, Eve use super::super::FromIntoEvent; +/// Event triggered when an entity regains health. pub struct EntityRegainHealthEvent; impl FromIntoEvent for EntityRegainHealthEvent { const EVENT_TYPE: EventType = EventType::EntityRegainHealthEvent; diff --git a/pumpkin-plugin-api/src/events/entity/entity_spawn.rs b/crates/pumpkin-plugin-api/src/events/entity/entity_spawn.rs similarity index 91% rename from pumpkin-plugin-api/src/events/entity/entity_spawn.rs rename to crates/pumpkin-plugin-api/src/events/entity/entity_spawn.rs index 4ac802a61..26d5b5b22 100644 --- a/pumpkin-plugin-api/src/events/entity/entity_spawn.rs +++ b/crates/pumpkin-plugin-api/src/events/entity/entity_spawn.rs @@ -2,6 +2,7 @@ use crate::wit::pumpkin::plugin::event::{EntitySpawnEventData, Event, EventType} use super::super::FromIntoEvent; +/// Event triggered when an entity spawns in the world. pub struct EntitySpawnEvent; impl FromIntoEvent for EntitySpawnEvent { const EVENT_TYPE: EventType = EventType::EntitySpawnEvent; diff --git a/pumpkin-plugin-api/src/events/entity/mod.rs b/crates/pumpkin-plugin-api/src/events/entity/mod.rs similarity index 60% rename from pumpkin-plugin-api/src/events/entity/mod.rs rename to crates/pumpkin-plugin-api/src/events/entity/mod.rs index 6c9dd8189..5065e7571 100644 --- a/pumpkin-plugin-api/src/events/entity/mod.rs +++ b/crates/pumpkin-plugin-api/src/events/entity/mod.rs @@ -1,7 +1,12 @@ +/// Entity combust (catch fire) event. pub mod entity_combust; +/// Entity damage event. pub mod entity_damage; +/// Entity death and player death events. pub mod entity_death; +/// Entity health regeneration event. pub mod entity_regain_health; +/// Entity spawn event. pub mod entity_spawn; pub use entity_combust::*; diff --git a/pumpkin-plugin-api/src/events/inventory/craft_item.rs b/crates/pumpkin-plugin-api/src/events/inventory/craft_item.rs similarity index 92% rename from pumpkin-plugin-api/src/events/inventory/craft_item.rs rename to crates/pumpkin-plugin-api/src/events/inventory/craft_item.rs index 0067272b7..3adde3156 100644 --- a/pumpkin-plugin-api/src/events/inventory/craft_item.rs +++ b/crates/pumpkin-plugin-api/src/events/inventory/craft_item.rs @@ -1,6 +1,7 @@ use super::super::FromIntoEvent; use crate::wit::pumpkin::plugin::event::{CraftItemEventData, Event, EventType}; +/// Event triggered when an item is crafted. pub struct CraftItemEvent; impl FromIntoEvent for CraftItemEvent { const EVENT_TYPE: EventType = EventType::CraftItemEvent; diff --git a/pumpkin-plugin-api/src/events/inventory/furnace_smelt.rs b/crates/pumpkin-plugin-api/src/events/inventory/furnace_smelt.rs similarity index 90% rename from pumpkin-plugin-api/src/events/inventory/furnace_smelt.rs rename to crates/pumpkin-plugin-api/src/events/inventory/furnace_smelt.rs index 71181bceb..6cd5253d4 100644 --- a/pumpkin-plugin-api/src/events/inventory/furnace_smelt.rs +++ b/crates/pumpkin-plugin-api/src/events/inventory/furnace_smelt.rs @@ -1,6 +1,7 @@ use super::super::FromIntoEvent; use crate::wit::pumpkin::plugin::event::{Event, EventType, FurnaceSmeltEventData}; +/// Event triggered when an item is smelted in a furnace. pub struct FurnaceSmeltEvent; impl FromIntoEvent for FurnaceSmeltEvent { const EVENT_TYPE: EventType = EventType::FurnaceSmeltEvent; diff --git a/pumpkin-plugin-api/src/events/inventory/inventory_drag.rs b/crates/pumpkin-plugin-api/src/events/inventory/inventory_drag.rs similarity index 90% rename from pumpkin-plugin-api/src/events/inventory/inventory_drag.rs rename to crates/pumpkin-plugin-api/src/events/inventory/inventory_drag.rs index 24cf00cbe..dc1d18775 100644 --- a/pumpkin-plugin-api/src/events/inventory/inventory_drag.rs +++ b/crates/pumpkin-plugin-api/src/events/inventory/inventory_drag.rs @@ -1,6 +1,7 @@ use super::super::FromIntoEvent; use crate::wit::pumpkin::plugin::event::{Event, EventType, InventoryDragEventData}; +/// Event triggered when items are dragged in an inventory. pub struct InventoryDragEvent; impl FromIntoEvent for InventoryDragEvent { const EVENT_TYPE: EventType = EventType::InventoryDragEvent; diff --git a/pumpkin-plugin-api/src/events/inventory/inventory_open.rs b/crates/pumpkin-plugin-api/src/events/inventory/inventory_open.rs similarity index 90% rename from pumpkin-plugin-api/src/events/inventory/inventory_open.rs rename to crates/pumpkin-plugin-api/src/events/inventory/inventory_open.rs index 4e4c6870c..0946d9269 100644 --- a/pumpkin-plugin-api/src/events/inventory/inventory_open.rs +++ b/crates/pumpkin-plugin-api/src/events/inventory/inventory_open.rs @@ -1,6 +1,7 @@ use super::super::FromIntoEvent; use crate::wit::pumpkin::plugin::event::{Event, EventType, InventoryOpenEventData}; +/// Event triggered when an inventory container is opened. pub struct InventoryOpenEvent; impl FromIntoEvent for InventoryOpenEvent { const EVENT_TYPE: EventType = EventType::InventoryOpenEvent; diff --git a/pumpkin-plugin-api/src/events/inventory/mod.rs b/crates/pumpkin-plugin-api/src/events/inventory/mod.rs similarity index 66% rename from pumpkin-plugin-api/src/events/inventory/mod.rs rename to crates/pumpkin-plugin-api/src/events/inventory/mod.rs index 24100c452..109106d76 100644 --- a/pumpkin-plugin-api/src/events/inventory/mod.rs +++ b/crates/pumpkin-plugin-api/src/events/inventory/mod.rs @@ -1,6 +1,10 @@ +/// Craft item event. pub mod craft_item; +/// Furnace smelt event. pub mod furnace_smelt; +/// Inventory drag event. pub mod inventory_drag; +/// Inventory open event. pub mod inventory_open; pub use craft_item::*; diff --git a/pumpkin-plugin-api/src/events/mod.rs b/crates/pumpkin-plugin-api/src/events/mod.rs similarity index 96% rename from pumpkin-plugin-api/src/events/mod.rs rename to crates/pumpkin-plugin-api/src/events/mod.rs index afd078854..70ce03379 100644 --- a/pumpkin-plugin-api/src/events/mod.rs +++ b/crates/pumpkin-plugin-api/src/events/mod.rs @@ -14,12 +14,19 @@ pub use crate::wit::pumpkin::plugin::event::{ }; use crate::{Context, Result, Server, wit::pumpkin::plugin::event::EventType}; +/// Block events. pub mod block; +/// Entity events. pub mod entity; +/// Inventory events. pub mod inventory; +/// Network packet events. pub mod packet; +/// Player events. pub mod player; +/// Server lifecycle events. pub mod server; +/// World events. pub mod world; pub use block::*; diff --git a/pumpkin-plugin-api/src/events/packet.rs b/crates/pumpkin-plugin-api/src/events/packet.rs similarity index 100% rename from pumpkin-plugin-api/src/events/packet.rs rename to crates/pumpkin-plugin-api/src/events/packet.rs diff --git a/pumpkin-plugin-api/src/events/player/bedrock_form_response.rs b/crates/pumpkin-plugin-api/src/events/player/bedrock_form_response.rs similarity index 100% rename from pumpkin-plugin-api/src/events/player/bedrock_form_response.rs rename to crates/pumpkin-plugin-api/src/events/player/bedrock_form_response.rs diff --git a/pumpkin-plugin-api/src/events/player/changed_main_hand.rs b/crates/pumpkin-plugin-api/src/events/player/changed_main_hand.rs similarity index 100% rename from pumpkin-plugin-api/src/events/player/changed_main_hand.rs rename to crates/pumpkin-plugin-api/src/events/player/changed_main_hand.rs diff --git a/pumpkin-plugin-api/src/events/player/custom_click_action.rs b/crates/pumpkin-plugin-api/src/events/player/custom_click_action.rs similarity index 100% rename from pumpkin-plugin-api/src/events/player/custom_click_action.rs rename to crates/pumpkin-plugin-api/src/events/player/custom_click_action.rs diff --git a/pumpkin-plugin-api/src/events/player/egg_throw.rs b/crates/pumpkin-plugin-api/src/events/player/egg_throw.rs similarity index 100% rename from pumpkin-plugin-api/src/events/player/egg_throw.rs rename to crates/pumpkin-plugin-api/src/events/player/egg_throw.rs diff --git a/pumpkin-plugin-api/src/events/player/exp_change.rs b/crates/pumpkin-plugin-api/src/events/player/exp_change.rs similarity index 100% rename from pumpkin-plugin-api/src/events/player/exp_change.rs rename to crates/pumpkin-plugin-api/src/events/player/exp_change.rs diff --git a/pumpkin-plugin-api/src/events/player/fish.rs b/crates/pumpkin-plugin-api/src/events/player/fish.rs similarity index 100% rename from pumpkin-plugin-api/src/events/player/fish.rs rename to crates/pumpkin-plugin-api/src/events/player/fish.rs diff --git a/pumpkin-plugin-api/src/events/player/inventory_click.rs b/crates/pumpkin-plugin-api/src/events/player/inventory_click.rs similarity index 100% rename from pumpkin-plugin-api/src/events/player/inventory_click.rs rename to crates/pumpkin-plugin-api/src/events/player/inventory_click.rs diff --git a/pumpkin-plugin-api/src/events/player/inventory_close.rs b/crates/pumpkin-plugin-api/src/events/player/inventory_close.rs similarity index 100% rename from pumpkin-plugin-api/src/events/player/inventory_close.rs rename to crates/pumpkin-plugin-api/src/events/player/inventory_close.rs diff --git a/pumpkin-plugin-api/src/events/player/item_held.rs b/crates/pumpkin-plugin-api/src/events/player/item_held.rs similarity index 100% rename from pumpkin-plugin-api/src/events/player/item_held.rs rename to crates/pumpkin-plugin-api/src/events/player/item_held.rs diff --git a/pumpkin-plugin-api/src/events/player/mod.rs b/crates/pumpkin-plugin-api/src/events/player/mod.rs similarity index 64% rename from pumpkin-plugin-api/src/events/player/mod.rs rename to crates/pumpkin-plugin-api/src/events/player/mod.rs index 8645860de..f6be1e115 100644 --- a/pumpkin-plugin-api/src/events/player/mod.rs +++ b/crates/pumpkin-plugin-api/src/events/player/mod.rs @@ -1,34 +1,66 @@ +/// Bedrock form response event. pub mod bedrock_form_response; +/// Player main hand change event. pub mod changed_main_hand; +/// Custom inventory click action event. pub mod custom_click_action; +/// Egg throw event. pub mod egg_throw; +/// Experience change event. pub mod exp_change; +/// Player fish event. pub mod fish; +/// Inventory click event. pub mod inventory_click; +/// Inventory close event. pub mod inventory_close; +/// Item held slot change event. pub mod item_held; +/// Player bed enter and leave events. pub mod player_bed; +/// Player bucket empty and fill events. pub mod player_bucket; +/// Player world change event. pub mod player_change_world; +/// Player chat event. pub mod player_chat; +/// Player command send event. pub mod player_command_send; +/// Player custom payload event. pub mod player_custom_payload; +/// Player drop item event. pub mod player_drop_item; +/// Player gamemode change event. pub mod player_gamemode_change; +/// Player interact block event. pub mod player_interact; +/// Player interact entity event. pub mod player_interact_entity; +/// Player interact unknown entity event. pub mod player_interact_unknown_entity; +/// Player item consume event. pub mod player_item_consume; +/// Player item damage event. pub mod player_item_damage; +/// Player join event. pub mod player_join; +/// Player leave event. pub mod player_leave; +/// Player login event. pub mod player_login; +/// Player move event. pub mod player_move; +/// Player permission check event. pub mod player_permission_check; +/// Player respawn event. pub mod player_respawn; +/// Player teleport event. pub mod player_teleport; +/// Player toggle flight event. pub mod player_toggle_flight; +/// Player toggle sneak event. pub mod player_toggle_sneak; +/// Player toggle sprint event. pub mod player_toggle_sprint; pub use bedrock_form_response::*; diff --git a/pumpkin-plugin-api/src/events/player/player_bed.rs b/crates/pumpkin-plugin-api/src/events/player/player_bed.rs similarity index 92% rename from pumpkin-plugin-api/src/events/player/player_bed.rs rename to crates/pumpkin-plugin-api/src/events/player/player_bed.rs index 40887299f..96f94d3c4 100644 --- a/pumpkin-plugin-api/src/events/player/player_bed.rs +++ b/crates/pumpkin-plugin-api/src/events/player/player_bed.rs @@ -3,6 +3,7 @@ use crate::wit::pumpkin::plugin::event::{ Event, EventType, PlayerBedEnterEventData, PlayerBedLeaveEventData, }; +/// Event triggered when a player enters a bed. pub struct PlayerBedEnterEvent; impl FromIntoEvent for PlayerBedEnterEvent { const EVENT_TYPE: EventType = EventType::PlayerBedEnterEvent; @@ -20,6 +21,7 @@ impl FromIntoEvent for PlayerBedEnterEvent { } } +/// Event triggered when a player leaves a bed. pub struct PlayerBedLeaveEvent; impl FromIntoEvent for PlayerBedLeaveEvent { const EVENT_TYPE: EventType = EventType::PlayerBedLeaveEvent; diff --git a/pumpkin-plugin-api/src/events/player/player_bucket.rs b/crates/pumpkin-plugin-api/src/events/player/player_bucket.rs similarity index 91% rename from pumpkin-plugin-api/src/events/player/player_bucket.rs rename to crates/pumpkin-plugin-api/src/events/player/player_bucket.rs index 0a247b4de..e26f5a5b1 100644 --- a/pumpkin-plugin-api/src/events/player/player_bucket.rs +++ b/crates/pumpkin-plugin-api/src/events/player/player_bucket.rs @@ -3,6 +3,7 @@ use crate::wit::pumpkin::plugin::event::{ Event, EventType, PlayerBucketEmptyEventData, PlayerBucketFillEventData, }; +/// Event triggered when a player empties a bucket. pub struct PlayerBucketEmptyEvent; impl FromIntoEvent for PlayerBucketEmptyEvent { const EVENT_TYPE: EventType = EventType::PlayerBucketEmptyEvent; @@ -20,6 +21,7 @@ impl FromIntoEvent for PlayerBucketEmptyEvent { } } +/// Event triggered when a player fills a bucket. pub struct PlayerBucketFillEvent; impl FromIntoEvent for PlayerBucketFillEvent { const EVENT_TYPE: EventType = EventType::PlayerBucketFillEvent; diff --git a/pumpkin-plugin-api/src/events/player/player_change_world.rs b/crates/pumpkin-plugin-api/src/events/player/player_change_world.rs similarity index 100% rename from pumpkin-plugin-api/src/events/player/player_change_world.rs rename to crates/pumpkin-plugin-api/src/events/player/player_change_world.rs diff --git a/pumpkin-plugin-api/src/events/player/player_chat.rs b/crates/pumpkin-plugin-api/src/events/player/player_chat.rs similarity index 100% rename from pumpkin-plugin-api/src/events/player/player_chat.rs rename to crates/pumpkin-plugin-api/src/events/player/player_chat.rs diff --git a/pumpkin-plugin-api/src/events/player/player_command_send.rs b/crates/pumpkin-plugin-api/src/events/player/player_command_send.rs similarity index 100% rename from pumpkin-plugin-api/src/events/player/player_command_send.rs rename to crates/pumpkin-plugin-api/src/events/player/player_command_send.rs diff --git a/pumpkin-plugin-api/src/events/player/player_custom_payload.rs b/crates/pumpkin-plugin-api/src/events/player/player_custom_payload.rs similarity index 100% rename from pumpkin-plugin-api/src/events/player/player_custom_payload.rs rename to crates/pumpkin-plugin-api/src/events/player/player_custom_payload.rs diff --git a/pumpkin-plugin-api/src/events/player/player_drop_item.rs b/crates/pumpkin-plugin-api/src/events/player/player_drop_item.rs similarity index 92% rename from pumpkin-plugin-api/src/events/player/player_drop_item.rs rename to crates/pumpkin-plugin-api/src/events/player/player_drop_item.rs index cc9d32a01..fd1e80209 100644 --- a/pumpkin-plugin-api/src/events/player/player_drop_item.rs +++ b/crates/pumpkin-plugin-api/src/events/player/player_drop_item.rs @@ -1,6 +1,7 @@ use super::super::FromIntoEvent; use crate::wit::pumpkin::plugin::event::{Event, EventType, PlayerDropItemEventData}; +/// Event triggered when a player drops an item. pub struct PlayerDropItemEvent; impl FromIntoEvent for PlayerDropItemEvent { const EVENT_TYPE: EventType = EventType::PlayerDropItemEvent; diff --git a/pumpkin-plugin-api/src/events/player/player_gamemode_change.rs b/crates/pumpkin-plugin-api/src/events/player/player_gamemode_change.rs similarity index 100% rename from pumpkin-plugin-api/src/events/player/player_gamemode_change.rs rename to crates/pumpkin-plugin-api/src/events/player/player_gamemode_change.rs diff --git a/pumpkin-plugin-api/src/events/player/player_interact.rs b/crates/pumpkin-plugin-api/src/events/player/player_interact.rs similarity index 100% rename from pumpkin-plugin-api/src/events/player/player_interact.rs rename to crates/pumpkin-plugin-api/src/events/player/player_interact.rs diff --git a/pumpkin-plugin-api/src/events/player/player_interact_entity.rs b/crates/pumpkin-plugin-api/src/events/player/player_interact_entity.rs similarity index 100% rename from pumpkin-plugin-api/src/events/player/player_interact_entity.rs rename to crates/pumpkin-plugin-api/src/events/player/player_interact_entity.rs diff --git a/pumpkin-plugin-api/src/events/player/player_interact_unknown_entity.rs b/crates/pumpkin-plugin-api/src/events/player/player_interact_unknown_entity.rs similarity index 100% rename from pumpkin-plugin-api/src/events/player/player_interact_unknown_entity.rs rename to crates/pumpkin-plugin-api/src/events/player/player_interact_unknown_entity.rs diff --git a/pumpkin-plugin-api/src/events/player/player_item_consume.rs b/crates/pumpkin-plugin-api/src/events/player/player_item_consume.rs similarity index 92% rename from pumpkin-plugin-api/src/events/player/player_item_consume.rs rename to crates/pumpkin-plugin-api/src/events/player/player_item_consume.rs index 64554997a..22b88149f 100644 --- a/pumpkin-plugin-api/src/events/player/player_item_consume.rs +++ b/crates/pumpkin-plugin-api/src/events/player/player_item_consume.rs @@ -1,6 +1,7 @@ use super::super::FromIntoEvent; use crate::wit::pumpkin::plugin::event::{Event, EventType, PlayerItemConsumeEventData}; +/// Event triggered when a player consumes an item. pub struct PlayerItemConsumeEvent; impl FromIntoEvent for PlayerItemConsumeEvent { const EVENT_TYPE: EventType = EventType::PlayerItemConsumeEvent; diff --git a/pumpkin-plugin-api/src/events/player/player_item_damage.rs b/crates/pumpkin-plugin-api/src/events/player/player_item_damage.rs similarity index 90% rename from pumpkin-plugin-api/src/events/player/player_item_damage.rs rename to crates/pumpkin-plugin-api/src/events/player/player_item_damage.rs index 9ed7de431..6b14eb90f 100644 --- a/pumpkin-plugin-api/src/events/player/player_item_damage.rs +++ b/crates/pumpkin-plugin-api/src/events/player/player_item_damage.rs @@ -1,6 +1,7 @@ use super::super::FromIntoEvent; use crate::wit::pumpkin::plugin::event::{Event, EventType, PlayerItemDamageEventData}; +/// Event triggered when a player's held item receives damage. pub struct PlayerItemDamageEvent; impl FromIntoEvent for PlayerItemDamageEvent { const EVENT_TYPE: EventType = EventType::PlayerItemDamageEvent; diff --git a/pumpkin-plugin-api/src/events/player/player_join.rs b/crates/pumpkin-plugin-api/src/events/player/player_join.rs similarity index 100% rename from pumpkin-plugin-api/src/events/player/player_join.rs rename to crates/pumpkin-plugin-api/src/events/player/player_join.rs diff --git a/pumpkin-plugin-api/src/events/player/player_leave.rs b/crates/pumpkin-plugin-api/src/events/player/player_leave.rs similarity index 100% rename from pumpkin-plugin-api/src/events/player/player_leave.rs rename to crates/pumpkin-plugin-api/src/events/player/player_leave.rs diff --git a/pumpkin-plugin-api/src/events/player/player_login.rs b/crates/pumpkin-plugin-api/src/events/player/player_login.rs similarity index 100% rename from pumpkin-plugin-api/src/events/player/player_login.rs rename to crates/pumpkin-plugin-api/src/events/player/player_login.rs diff --git a/pumpkin-plugin-api/src/events/player/player_move.rs b/crates/pumpkin-plugin-api/src/events/player/player_move.rs similarity index 100% rename from pumpkin-plugin-api/src/events/player/player_move.rs rename to crates/pumpkin-plugin-api/src/events/player/player_move.rs diff --git a/pumpkin-plugin-api/src/events/player/player_permission_check.rs b/crates/pumpkin-plugin-api/src/events/player/player_permission_check.rs similarity index 100% rename from pumpkin-plugin-api/src/events/player/player_permission_check.rs rename to crates/pumpkin-plugin-api/src/events/player/player_permission_check.rs diff --git a/pumpkin-plugin-api/src/events/player/player_respawn.rs b/crates/pumpkin-plugin-api/src/events/player/player_respawn.rs similarity index 100% rename from pumpkin-plugin-api/src/events/player/player_respawn.rs rename to crates/pumpkin-plugin-api/src/events/player/player_respawn.rs diff --git a/pumpkin-plugin-api/src/events/player/player_teleport.rs b/crates/pumpkin-plugin-api/src/events/player/player_teleport.rs similarity index 100% rename from pumpkin-plugin-api/src/events/player/player_teleport.rs rename to crates/pumpkin-plugin-api/src/events/player/player_teleport.rs diff --git a/pumpkin-plugin-api/src/events/player/player_toggle_flight.rs b/crates/pumpkin-plugin-api/src/events/player/player_toggle_flight.rs similarity index 100% rename from pumpkin-plugin-api/src/events/player/player_toggle_flight.rs rename to crates/pumpkin-plugin-api/src/events/player/player_toggle_flight.rs diff --git a/pumpkin-plugin-api/src/events/player/player_toggle_sneak.rs b/crates/pumpkin-plugin-api/src/events/player/player_toggle_sneak.rs similarity index 100% rename from pumpkin-plugin-api/src/events/player/player_toggle_sneak.rs rename to crates/pumpkin-plugin-api/src/events/player/player_toggle_sneak.rs diff --git a/pumpkin-plugin-api/src/events/player/player_toggle_sprint.rs b/crates/pumpkin-plugin-api/src/events/player/player_toggle_sprint.rs similarity index 100% rename from pumpkin-plugin-api/src/events/player/player_toggle_sprint.rs rename to crates/pumpkin-plugin-api/src/events/player/player_toggle_sprint.rs diff --git a/pumpkin-plugin-api/src/events/server/mod.rs b/crates/pumpkin-plugin-api/src/events/server/mod.rs similarity index 60% rename from pumpkin-plugin-api/src/events/server/mod.rs rename to crates/pumpkin-plugin-api/src/events/server/mod.rs index 19d419c70..da103b94f 100644 --- a/pumpkin-plugin-api/src/events/server/mod.rs +++ b/crates/pumpkin-plugin-api/src/events/server/mod.rs @@ -1,8 +1,14 @@ +/// Server broadcast event. pub mod server_broadcast; +/// Server command execution event. pub mod server_command; +/// Server initialization load event. pub mod server_load; +/// Server tick completion event. pub mod server_tick_end; +/// Server tick start event. pub mod server_tick_start; +/// Server spawn point change event. pub mod spawn_change; pub use server_broadcast::*; diff --git a/pumpkin-plugin-api/src/events/server/server_broadcast.rs b/crates/pumpkin-plugin-api/src/events/server/server_broadcast.rs similarity index 100% rename from pumpkin-plugin-api/src/events/server/server_broadcast.rs rename to crates/pumpkin-plugin-api/src/events/server/server_broadcast.rs diff --git a/pumpkin-plugin-api/src/events/server/server_command.rs b/crates/pumpkin-plugin-api/src/events/server/server_command.rs similarity index 100% rename from pumpkin-plugin-api/src/events/server/server_command.rs rename to crates/pumpkin-plugin-api/src/events/server/server_command.rs diff --git a/pumpkin-plugin-api/src/events/server/server_load.rs b/crates/pumpkin-plugin-api/src/events/server/server_load.rs similarity index 100% rename from pumpkin-plugin-api/src/events/server/server_load.rs rename to crates/pumpkin-plugin-api/src/events/server/server_load.rs diff --git a/pumpkin-plugin-api/src/events/server/server_tick_end.rs b/crates/pumpkin-plugin-api/src/events/server/server_tick_end.rs similarity index 100% rename from pumpkin-plugin-api/src/events/server/server_tick_end.rs rename to crates/pumpkin-plugin-api/src/events/server/server_tick_end.rs diff --git a/pumpkin-plugin-api/src/events/server/server_tick_start.rs b/crates/pumpkin-plugin-api/src/events/server/server_tick_start.rs similarity index 100% rename from pumpkin-plugin-api/src/events/server/server_tick_start.rs rename to crates/pumpkin-plugin-api/src/events/server/server_tick_start.rs diff --git a/pumpkin-plugin-api/src/events/server/spawn_change.rs b/crates/pumpkin-plugin-api/src/events/server/spawn_change.rs similarity index 100% rename from pumpkin-plugin-api/src/events/server/spawn_change.rs rename to crates/pumpkin-plugin-api/src/events/server/spawn_change.rs diff --git a/pumpkin-plugin-api/src/events/world/chunk_load.rs b/crates/pumpkin-plugin-api/src/events/world/chunk_load.rs similarity index 100% rename from pumpkin-plugin-api/src/events/world/chunk_load.rs rename to crates/pumpkin-plugin-api/src/events/world/chunk_load.rs diff --git a/pumpkin-plugin-api/src/events/world/chunk_save.rs b/crates/pumpkin-plugin-api/src/events/world/chunk_save.rs similarity index 100% rename from pumpkin-plugin-api/src/events/world/chunk_save.rs rename to crates/pumpkin-plugin-api/src/events/world/chunk_save.rs diff --git a/pumpkin-plugin-api/src/events/world/chunk_send.rs b/crates/pumpkin-plugin-api/src/events/world/chunk_send.rs similarity index 100% rename from pumpkin-plugin-api/src/events/world/chunk_send.rs rename to crates/pumpkin-plugin-api/src/events/world/chunk_send.rs diff --git a/pumpkin-plugin-api/src/events/world/mod.rs b/crates/pumpkin-plugin-api/src/events/world/mod.rs similarity index 60% rename from pumpkin-plugin-api/src/events/world/mod.rs rename to crates/pumpkin-plugin-api/src/events/world/mod.rs index 29228dc8c..1af29b928 100644 --- a/pumpkin-plugin-api/src/events/world/mod.rs +++ b/crates/pumpkin-plugin-api/src/events/world/mod.rs @@ -1,7 +1,12 @@ +/// Chunk load event. pub mod chunk_load; +/// Chunk save event. pub mod chunk_save; +/// Chunk send packet event. pub mod chunk_send; +/// Weather and thunder change events. pub mod weather_change; +/// World load and unload events. pub mod world_load; pub use chunk_load::*; diff --git a/pumpkin-plugin-api/src/events/world/weather_change.rs b/crates/pumpkin-plugin-api/src/events/world/weather_change.rs similarity index 91% rename from pumpkin-plugin-api/src/events/world/weather_change.rs rename to crates/pumpkin-plugin-api/src/events/world/weather_change.rs index b316416be..d380d772c 100644 --- a/pumpkin-plugin-api/src/events/world/weather_change.rs +++ b/crates/pumpkin-plugin-api/src/events/world/weather_change.rs @@ -3,6 +3,7 @@ use crate::wit::pumpkin::plugin::event::{ Event, EventType, ThunderChangeEventData, WeatherChangeEventData, }; +/// Event triggered when world weather changes. pub struct WeatherChangeEvent; impl FromIntoEvent for WeatherChangeEvent { const EVENT_TYPE: EventType = EventType::WeatherChangeEvent; @@ -20,6 +21,7 @@ impl FromIntoEvent for WeatherChangeEvent { } } +/// Event triggered when thunderstorm state changes. pub struct ThunderChangeEvent; impl FromIntoEvent for ThunderChangeEvent { const EVENT_TYPE: EventType = EventType::ThunderChangeEvent; diff --git a/pumpkin-plugin-api/src/events/world/world_load.rs b/crates/pumpkin-plugin-api/src/events/world/world_load.rs similarity index 92% rename from pumpkin-plugin-api/src/events/world/world_load.rs rename to crates/pumpkin-plugin-api/src/events/world/world_load.rs index 037ae9183..88cc704b3 100644 --- a/pumpkin-plugin-api/src/events/world/world_load.rs +++ b/crates/pumpkin-plugin-api/src/events/world/world_load.rs @@ -3,6 +3,7 @@ use crate::wit::pumpkin::plugin::event::{ Event, EventType, WorldLoadEventData, WorldUnloadEventData, }; +/// Event triggered when a world is loaded. pub struct WorldLoadEvent; impl FromIntoEvent for WorldLoadEvent { const EVENT_TYPE: EventType = EventType::WorldLoadEvent; @@ -20,6 +21,7 @@ impl FromIntoEvent for WorldLoadEvent { } } +/// Event triggered when a world is unloaded. pub struct WorldUnloadEvent; impl FromIntoEvent for WorldUnloadEvent { const EVENT_TYPE: EventType = EventType::WorldUnloadEvent; diff --git a/pumpkin-plugin-api/src/ext/mod.rs b/crates/pumpkin-plugin-api/src/ext/mod.rs similarity index 100% rename from pumpkin-plugin-api/src/ext/mod.rs rename to crates/pumpkin-plugin-api/src/ext/mod.rs diff --git a/pumpkin-plugin-api/src/ext/uuid.rs b/crates/pumpkin-plugin-api/src/ext/uuid.rs similarity index 100% rename from pumpkin-plugin-api/src/ext/uuid.rs rename to crates/pumpkin-plugin-api/src/ext/uuid.rs diff --git a/pumpkin-plugin-api/src/forms.rs b/crates/pumpkin-plugin-api/src/forms.rs similarity index 76% rename from pumpkin-plugin-api/src/forms.rs rename to crates/pumpkin-plugin-api/src/forms.rs index 3408110b1..ece8b469f 100644 --- a/pumpkin-plugin-api/src/forms.rs +++ b/crates/pumpkin-plugin-api/src/forms.rs @@ -4,6 +4,7 @@ use crate::wit::pumpkin::plugin::forms::{ SimpleFormButton, }; +/// Builder for creating a Bedrock simple form. pub struct SimpleFormBuilder { title: TextComponent, content: TextComponent, @@ -11,6 +12,7 @@ pub struct SimpleFormBuilder { } impl SimpleFormBuilder { + /// Creates a new simple form builder with a title and main content text. pub fn new(title: impl Into, content: impl Into) -> Self { Self { title: title.into(), @@ -19,6 +21,7 @@ impl SimpleFormBuilder { } } + /// Adds a button to the simple form. pub fn button(mut self, text: impl Into, image: Option) -> Self { self.buttons.push(SimpleFormButton { text: text.into(), @@ -27,6 +30,7 @@ impl SimpleFormBuilder { self } + /// Builds the final simple form instance. pub fn build(self) -> Form { Form::Simple(SimpleForm { title: self.title, @@ -36,6 +40,7 @@ impl SimpleFormBuilder { } } +/// Builder for creating a Bedrock modal form (two-button dialog). pub struct ModalFormBuilder { title: TextComponent, content: TextComponent, @@ -44,25 +49,29 @@ pub struct ModalFormBuilder { } impl ModalFormBuilder { + /// Creates a new modal form builder with a title and main content text. pub fn new(title: impl Into, content: impl Into) -> Self { Self { title: title.into(), content: content.into(), - button1: TextComponent::text("Yes"), - button2: TextComponent::text("No"), + button1: TextComponent::translate("gui.yes", vec![]), + button2: TextComponent::translate("gui.no", vec![]), } } + /// Sets the label for the first button (confirm). pub fn button1(mut self, text: impl Into) -> Self { self.button1 = text.into(); self } + /// Sets the label for the second button (cancel). pub fn button2(mut self, text: impl Into) -> Self { self.button2 = text.into(); self } + /// Builds the final modal form instance. pub fn build(self) -> Form { Form::Modal(ModalForm { title: self.title, @@ -73,12 +82,14 @@ impl ModalFormBuilder { } } +/// Builder for creating a Bedrock custom form with multiple input elements. pub struct CustomFormBuilder { title: TextComponent, elements: Vec, } impl CustomFormBuilder { + /// Creates a new custom form builder with a title. pub fn new(title: impl Into) -> Self { Self { title: title.into(), @@ -86,17 +97,20 @@ impl CustomFormBuilder { } } + /// Adds a text label element to the form. pub fn label(mut self, text: impl Into) -> Self { self.elements.push(CustomFormElement::Label(text.into())); self } + /// Adds a toggle (switch) element to the form. pub fn toggle(mut self, text: impl Into, default: bool) -> Self { self.elements .push(CustomFormElement::Toggle((text.into(), default))); self } + /// Adds a numeric slider element to the form. pub fn slider( mut self, text: impl Into, @@ -115,6 +129,7 @@ impl CustomFormBuilder { self } + /// Adds a step slider element to the form. pub fn step_slider( mut self, text: impl Into, @@ -126,6 +141,7 @@ impl CustomFormBuilder { self } + /// Adds a dropdown selector element to the form. pub fn dropdown( mut self, text: impl Into, @@ -137,6 +153,7 @@ impl CustomFormBuilder { self } + /// Adds a text input field element to the form. pub fn input( mut self, text: impl Into, @@ -151,6 +168,7 @@ impl CustomFormBuilder { self } + /// Builds the final custom form instance. pub fn build(self) -> Form { Form::Custom(CustomForm { title: self.title, @@ -159,6 +177,7 @@ impl CustomFormBuilder { } } +/// Creates a `FormImage` pointing to an HTTP(S) URL. pub fn url_image(url: impl Into) -> FormImage { FormImage { type_: ImageType::Url, @@ -166,6 +185,7 @@ pub fn url_image(url: impl Into) -> FormImage { } } +/// Creates a `FormImage` pointing to a local file path. pub fn path_image(path: impl Into) -> FormImage { FormImage { type_: ImageType::Path, @@ -173,14 +193,20 @@ pub fn path_image(path: impl Into) -> FormImage { } } +/// Represents the response received from a submitted UI form. pub enum FormResponse { + /// Response from a simple button form containing selected button index. Simple(u32), + /// Response from a modal dialog containing boolean outcome. Modal(bool), + /// Response from a custom form containing element values. Custom(Vec), + /// Form was closed by player without submission. Closed, } impl FormResponse { + /// Parses a JSON response payload string into a `FormResponse`. #[must_use] pub fn parse(data: Option) -> Self { match data { diff --git a/pumpkin-plugin-api/src/lib.rs b/crates/pumpkin-plugin-api/src/lib.rs similarity index 96% rename from pumpkin-plugin-api/src/lib.rs rename to crates/pumpkin-plugin-api/src/lib.rs index ebc0684df..4b3d5c9d0 100644 --- a/pumpkin-plugin-api/src/lib.rs +++ b/crates/pumpkin-plugin-api/src/lib.rs @@ -1,4 +1,5 @@ //! Pumpkin plugin API. +#![warn(missing_docs)] //! //! This crate provides everything needed to write a Pumpkin server plugin compiled //! to WebAssembly. A plugin consists of a type that implements [`Plugin`], registered @@ -33,16 +34,21 @@ use crate::{ scheduler::TASK_HANDLERS, text::TextComponent, }; +/// Plugin command registration and handling utilities. pub mod commands; +/// Event system and event handlers. pub mod events; mod ext; +/// Bedrock UI form builders. pub mod forms; /// Constants for plugin permissions. /// /// Use these in your `PluginMetadata` to request access to specific host features. pub mod permissions; +/// Scheduler utilities. pub mod scheduler; +/// Command WIT API re-exports. pub mod command { pub use crate::wit::pumpkin::plugin::command::{ Arg, ArgumentType, Command, CommandError, CommandNode, CommandSender, ConsumedArgs, @@ -65,13 +71,15 @@ pub use wit::pumpkin::plugin::{ pub use events::{EventHandler, FromIntoEvent}; pub use wit::pumpkin::plugin::item_stack::ItemStack; +/// Java dialog WIT API re-exports. pub mod java_dialog { pub use crate::wit::pumpkin::plugin::java_dialogs::{ActionButton, DialogBody, DialogType}; } +/// WIT-based logging subscriber. pub mod logging; -#[allow(clippy::too_many_arguments)] +#[allow(clippy::too_many_arguments, missing_docs)] mod wit { wit_bindgen::generate!({ skip: ["init-plugin"], @@ -280,4 +288,5 @@ macro_rules! register_plugin { } }; } +/// AI and mob goal utilities. pub mod ai; diff --git a/pumpkin-plugin-api/src/logging.rs b/crates/pumpkin-plugin-api/src/logging.rs similarity index 100% rename from pumpkin-plugin-api/src/logging.rs rename to crates/pumpkin-plugin-api/src/logging.rs diff --git a/pumpkin-plugin-api/src/permissions.rs b/crates/pumpkin-plugin-api/src/permissions.rs similarity index 100% rename from pumpkin-plugin-api/src/permissions.rs rename to crates/pumpkin-plugin-api/src/permissions.rs diff --git a/pumpkin-plugin-api/src/scheduler.rs b/crates/pumpkin-plugin-api/src/scheduler.rs similarity index 100% rename from pumpkin-plugin-api/src/scheduler.rs rename to crates/pumpkin-plugin-api/src/scheduler.rs diff --git a/pumpkin-plugin-wit b/crates/pumpkin-plugin-wit similarity index 100% rename from pumpkin-plugin-wit rename to crates/pumpkin-plugin-wit diff --git a/pumpkin-protocol/Cargo.toml b/crates/pumpkin-protocol/Cargo.toml similarity index 100% rename from pumpkin-protocol/Cargo.toml rename to crates/pumpkin-protocol/Cargo.toml diff --git a/pumpkin-protocol/fuzz/.gitignore b/crates/pumpkin-protocol/fuzz/.gitignore similarity index 100% rename from pumpkin-protocol/fuzz/.gitignore rename to crates/pumpkin-protocol/fuzz/.gitignore diff --git a/pumpkin-protocol/fuzz/Cargo.lock b/crates/pumpkin-protocol/fuzz/Cargo.lock similarity index 100% rename from pumpkin-protocol/fuzz/Cargo.lock rename to crates/pumpkin-protocol/fuzz/Cargo.lock diff --git a/pumpkin-protocol/fuzz/Cargo.toml b/crates/pumpkin-protocol/fuzz/Cargo.toml similarity index 100% rename from pumpkin-protocol/fuzz/Cargo.toml rename to crates/pumpkin-protocol/fuzz/Cargo.toml diff --git a/pumpkin-protocol/fuzz/fuzz_targets/decoder_bedrock.rs b/crates/pumpkin-protocol/fuzz/fuzz_targets/decoder_bedrock.rs similarity index 100% rename from pumpkin-protocol/fuzz/fuzz_targets/decoder_bedrock.rs rename to crates/pumpkin-protocol/fuzz/fuzz_targets/decoder_bedrock.rs diff --git a/pumpkin-protocol/fuzz/fuzz_targets/decoder_java.rs b/crates/pumpkin-protocol/fuzz/fuzz_targets/decoder_java.rs similarity index 100% rename from pumpkin-protocol/fuzz/fuzz_targets/decoder_java.rs rename to crates/pumpkin-protocol/fuzz/fuzz_targets/decoder_java.rs diff --git a/pumpkin-protocol/fuzz/fuzz_targets/encoder_bedrock.rs b/crates/pumpkin-protocol/fuzz/fuzz_targets/encoder_bedrock.rs similarity index 100% rename from pumpkin-protocol/fuzz/fuzz_targets/encoder_bedrock.rs rename to crates/pumpkin-protocol/fuzz/fuzz_targets/encoder_bedrock.rs diff --git a/pumpkin-protocol/fuzz/fuzz_targets/encoder_java.rs b/crates/pumpkin-protocol/fuzz/fuzz_targets/encoder_java.rs similarity index 100% rename from pumpkin-protocol/fuzz/fuzz_targets/encoder_java.rs rename to crates/pumpkin-protocol/fuzz/fuzz_targets/encoder_java.rs diff --git a/pumpkin-protocol/fuzz/fuzz_targets/query_decoder.rs b/crates/pumpkin-protocol/fuzz/fuzz_targets/query_decoder.rs similarity index 100% rename from pumpkin-protocol/fuzz/fuzz_targets/query_decoder.rs rename to crates/pumpkin-protocol/fuzz/fuzz_targets/query_decoder.rs diff --git a/pumpkin-protocol/fuzz/fuzz_targets/rcon_decoder.rs b/crates/pumpkin-protocol/fuzz/fuzz_targets/rcon_decoder.rs similarity index 100% rename from pumpkin-protocol/fuzz/fuzz_targets/rcon_decoder.rs rename to crates/pumpkin-protocol/fuzz/fuzz_targets/rcon_decoder.rs diff --git a/pumpkin-protocol/src/bedrock/ack.rs b/crates/pumpkin-protocol/src/bedrock/ack.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/ack.rs rename to crates/pumpkin-protocol/src/bedrock/ack.rs diff --git a/pumpkin-protocol/src/bedrock/client/add_actor.rs b/crates/pumpkin-protocol/src/bedrock/client/add_actor.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/add_actor.rs rename to crates/pumpkin-protocol/src/bedrock/client/add_actor.rs diff --git a/pumpkin-protocol/src/bedrock/client/add_item_actor.rs b/crates/pumpkin-protocol/src/bedrock/client/add_item_actor.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/add_item_actor.rs rename to crates/pumpkin-protocol/src/bedrock/client/add_item_actor.rs diff --git a/pumpkin-protocol/src/bedrock/client/add_player.rs b/crates/pumpkin-protocol/src/bedrock/client/add_player.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/add_player.rs rename to crates/pumpkin-protocol/src/bedrock/client/add_player.rs diff --git a/pumpkin-protocol/src/bedrock/client/available_commands.rs b/crates/pumpkin-protocol/src/bedrock/client/available_commands.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/available_commands.rs rename to crates/pumpkin-protocol/src/bedrock/client/available_commands.rs diff --git a/pumpkin-protocol/src/bedrock/client/boss_event.rs b/crates/pumpkin-protocol/src/bedrock/client/boss_event.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/boss_event.rs rename to crates/pumpkin-protocol/src/bedrock/client/boss_event.rs diff --git a/pumpkin-protocol/src/bedrock/client/change_dimension.rs b/crates/pumpkin-protocol/src/bedrock/client/change_dimension.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/change_dimension.rs rename to crates/pumpkin-protocol/src/bedrock/client/change_dimension.rs diff --git a/pumpkin-protocol/src/bedrock/client/chunk_radius_update.rs b/crates/pumpkin-protocol/src/bedrock/client/chunk_radius_update.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/chunk_radius_update.rs rename to crates/pumpkin-protocol/src/bedrock/client/chunk_radius_update.rs diff --git a/pumpkin-protocol/src/bedrock/client/common.rs b/crates/pumpkin-protocol/src/bedrock/client/common.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/common.rs rename to crates/pumpkin-protocol/src/bedrock/client/common.rs diff --git a/pumpkin-protocol/src/bedrock/client/container_open.rs b/crates/pumpkin-protocol/src/bedrock/client/container_open.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/container_open.rs rename to crates/pumpkin-protocol/src/bedrock/client/container_open.rs diff --git a/pumpkin-protocol/src/bedrock/client/correct_player_move.rs b/crates/pumpkin-protocol/src/bedrock/client/correct_player_move.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/correct_player_move.rs rename to crates/pumpkin-protocol/src/bedrock/client/correct_player_move.rs diff --git a/pumpkin-protocol/src/bedrock/client/crafting_data.rs b/crates/pumpkin-protocol/src/bedrock/client/crafting_data.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/crafting_data.rs rename to crates/pumpkin-protocol/src/bedrock/client/crafting_data.rs diff --git a/pumpkin-protocol/src/bedrock/client/creative_content.rs b/crates/pumpkin-protocol/src/bedrock/client/creative_content.rs similarity index 91% rename from pumpkin-protocol/src/bedrock/client/creative_content.rs rename to crates/pumpkin-protocol/src/bedrock/client/creative_content.rs index c4235e7a2..aa8f19e4f 100644 --- a/pumpkin-protocol/src/bedrock/client/creative_content.rs +++ b/crates/pumpkin-protocol/src/bedrock/client/creative_content.rs @@ -15,12 +15,12 @@ pub struct CCreativeContent<'a> { impl PacketWrite for CCreativeContent<'_> { fn write(&self, writer: &mut W) -> Result<(), Error> { - VarUInt(self.groups.len() as _).write(writer)?; + VarUInt(self.groups.len() as u32).write(writer)?; for group in self.groups { group.write(writer)?; } - VarUInt(self.entries.len() as _).write(writer)?; + VarUInt(self.entries.len() as u32).write(writer)?; for entry in self.entries { entry.write(writer)?; } diff --git a/pumpkin-protocol/src/bedrock/client/disconnect_player.rs b/crates/pumpkin-protocol/src/bedrock/client/disconnect_player.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/disconnect_player.rs rename to crates/pumpkin-protocol/src/bedrock/client/disconnect_player.rs diff --git a/pumpkin-protocol/src/bedrock/client/gamerules_changed.rs b/crates/pumpkin-protocol/src/bedrock/client/gamerules_changed.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/gamerules_changed.rs rename to crates/pumpkin-protocol/src/bedrock/client/gamerules_changed.rs diff --git a/pumpkin-protocol/src/bedrock/client/handshake.rs b/crates/pumpkin-protocol/src/bedrock/client/handshake.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/handshake.rs rename to crates/pumpkin-protocol/src/bedrock/client/handshake.rs diff --git a/pumpkin-protocol/src/bedrock/client/inventory_content.rs b/crates/pumpkin-protocol/src/bedrock/client/inventory_content.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/inventory_content.rs rename to crates/pumpkin-protocol/src/bedrock/client/inventory_content.rs diff --git a/pumpkin-protocol/src/bedrock/client/inventory_slot.rs b/crates/pumpkin-protocol/src/bedrock/client/inventory_slot.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/inventory_slot.rs rename to crates/pumpkin-protocol/src/bedrock/client/inventory_slot.rs diff --git a/pumpkin-protocol/src/bedrock/client/item_registry.rs b/crates/pumpkin-protocol/src/bedrock/client/item_registry.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/item_registry.rs rename to crates/pumpkin-protocol/src/bedrock/client/item_registry.rs diff --git a/pumpkin-protocol/src/bedrock/client/item_stack_response.rs b/crates/pumpkin-protocol/src/bedrock/client/item_stack_response.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/item_stack_response.rs rename to crates/pumpkin-protocol/src/bedrock/client/item_stack_response.rs diff --git a/pumpkin-protocol/src/bedrock/client/level_chunk.rs b/crates/pumpkin-protocol/src/bedrock/client/level_chunk.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/level_chunk.rs rename to crates/pumpkin-protocol/src/bedrock/client/level_chunk.rs diff --git a/pumpkin-protocol/src/bedrock/client/level_event.rs b/crates/pumpkin-protocol/src/bedrock/client/level_event.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/level_event.rs rename to crates/pumpkin-protocol/src/bedrock/client/level_event.rs diff --git a/pumpkin-protocol/src/bedrock/client/level_sound_event.rs b/crates/pumpkin-protocol/src/bedrock/client/level_sound_event.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/level_sound_event.rs rename to crates/pumpkin-protocol/src/bedrock/client/level_sound_event.rs diff --git a/pumpkin-protocol/src/bedrock/client/mod.rs b/crates/pumpkin-protocol/src/bedrock/client/mod.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/mod.rs rename to crates/pumpkin-protocol/src/bedrock/client/mod.rs diff --git a/pumpkin-protocol/src/bedrock/client/modal_form_request.rs b/crates/pumpkin-protocol/src/bedrock/client/modal_form_request.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/modal_form_request.rs rename to crates/pumpkin-protocol/src/bedrock/client/modal_form_request.rs diff --git a/pumpkin-protocol/src/bedrock/client/move_actor_absolute.rs b/crates/pumpkin-protocol/src/bedrock/client/move_actor_absolute.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/move_actor_absolute.rs rename to crates/pumpkin-protocol/src/bedrock/client/move_actor_absolute.rs diff --git a/pumpkin-protocol/src/bedrock/client/move_actor_delta.rs b/crates/pumpkin-protocol/src/bedrock/client/move_actor_delta.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/move_actor_delta.rs rename to crates/pumpkin-protocol/src/bedrock/client/move_actor_delta.rs diff --git a/pumpkin-protocol/src/bedrock/client/move_player.rs b/crates/pumpkin-protocol/src/bedrock/client/move_player.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/move_player.rs rename to crates/pumpkin-protocol/src/bedrock/client/move_player.rs diff --git a/pumpkin-protocol/src/bedrock/client/network_chunk_publisher_update.rs b/crates/pumpkin-protocol/src/bedrock/client/network_chunk_publisher_update.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/network_chunk_publisher_update.rs rename to crates/pumpkin-protocol/src/bedrock/client/network_chunk_publisher_update.rs diff --git a/pumpkin-protocol/src/bedrock/client/network_settings.rs b/crates/pumpkin-protocol/src/bedrock/client/network_settings.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/network_settings.rs rename to crates/pumpkin-protocol/src/bedrock/client/network_settings.rs diff --git a/pumpkin-protocol/src/bedrock/client/play_status.rs b/crates/pumpkin-protocol/src/bedrock/client/play_status.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/play_status.rs rename to crates/pumpkin-protocol/src/bedrock/client/play_status.rs diff --git a/pumpkin-protocol/src/bedrock/client/player_hotbar.rs b/crates/pumpkin-protocol/src/bedrock/client/player_hotbar.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/player_hotbar.rs rename to crates/pumpkin-protocol/src/bedrock/client/player_hotbar.rs diff --git a/pumpkin-protocol/src/bedrock/client/player_list.rs b/crates/pumpkin-protocol/src/bedrock/client/player_list.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/player_list.rs rename to crates/pumpkin-protocol/src/bedrock/client/player_list.rs diff --git a/pumpkin-protocol/src/bedrock/client/raknet/connection.rs b/crates/pumpkin-protocol/src/bedrock/client/raknet/connection.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/raknet/connection.rs rename to crates/pumpkin-protocol/src/bedrock/client/raknet/connection.rs diff --git a/pumpkin-protocol/src/bedrock/client/raknet/incompatible_protocol.rs b/crates/pumpkin-protocol/src/bedrock/client/raknet/incompatible_protocol.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/raknet/incompatible_protocol.rs rename to crates/pumpkin-protocol/src/bedrock/client/raknet/incompatible_protocol.rs diff --git a/pumpkin-protocol/src/bedrock/client/raknet/mod.rs b/crates/pumpkin-protocol/src/bedrock/client/raknet/mod.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/raknet/mod.rs rename to crates/pumpkin-protocol/src/bedrock/client/raknet/mod.rs diff --git a/pumpkin-protocol/src/bedrock/client/raknet/open_connection.rs b/crates/pumpkin-protocol/src/bedrock/client/raknet/open_connection.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/raknet/open_connection.rs rename to crates/pumpkin-protocol/src/bedrock/client/raknet/open_connection.rs diff --git a/pumpkin-protocol/src/bedrock/client/raknet/unconnected_pong.rs b/crates/pumpkin-protocol/src/bedrock/client/raknet/unconnected_pong.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/raknet/unconnected_pong.rs rename to crates/pumpkin-protocol/src/bedrock/client/raknet/unconnected_pong.rs diff --git a/pumpkin-protocol/src/bedrock/client/remove_actor.rs b/crates/pumpkin-protocol/src/bedrock/client/remove_actor.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/remove_actor.rs rename to crates/pumpkin-protocol/src/bedrock/client/remove_actor.rs diff --git a/pumpkin-protocol/src/bedrock/client/resource_pack_stack.rs b/crates/pumpkin-protocol/src/bedrock/client/resource_pack_stack.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/resource_pack_stack.rs rename to crates/pumpkin-protocol/src/bedrock/client/resource_pack_stack.rs diff --git a/pumpkin-protocol/src/bedrock/client/resource_packs_info.rs b/crates/pumpkin-protocol/src/bedrock/client/resource_packs_info.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/resource_packs_info.rs rename to crates/pumpkin-protocol/src/bedrock/client/resource_packs_info.rs diff --git a/pumpkin-protocol/src/bedrock/client/scoreboard.rs b/crates/pumpkin-protocol/src/bedrock/client/scoreboard.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/scoreboard.rs rename to crates/pumpkin-protocol/src/bedrock/client/scoreboard.rs diff --git a/pumpkin-protocol/src/bedrock/client/set_actor_data.rs b/crates/pumpkin-protocol/src/bedrock/client/set_actor_data.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/set_actor_data.rs rename to crates/pumpkin-protocol/src/bedrock/client/set_actor_data.rs diff --git a/pumpkin-protocol/src/bedrock/client/set_actor_link.rs b/crates/pumpkin-protocol/src/bedrock/client/set_actor_link.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/set_actor_link.rs rename to crates/pumpkin-protocol/src/bedrock/client/set_actor_link.rs diff --git a/pumpkin-protocol/src/bedrock/client/set_actor_motion.rs b/crates/pumpkin-protocol/src/bedrock/client/set_actor_motion.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/set_actor_motion.rs rename to crates/pumpkin-protocol/src/bedrock/client/set_actor_motion.rs diff --git a/pumpkin-protocol/src/bedrock/client/set_difficulty.rs b/crates/pumpkin-protocol/src/bedrock/client/set_difficulty.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/set_difficulty.rs rename to crates/pumpkin-protocol/src/bedrock/client/set_difficulty.rs diff --git a/pumpkin-protocol/src/bedrock/client/set_health.rs b/crates/pumpkin-protocol/src/bedrock/client/set_health.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/set_health.rs rename to crates/pumpkin-protocol/src/bedrock/client/set_health.rs diff --git a/pumpkin-protocol/src/bedrock/client/set_player_gamemode.rs b/crates/pumpkin-protocol/src/bedrock/client/set_player_gamemode.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/set_player_gamemode.rs rename to crates/pumpkin-protocol/src/bedrock/client/set_player_gamemode.rs diff --git a/pumpkin-protocol/src/bedrock/client/set_spawn_position.rs b/crates/pumpkin-protocol/src/bedrock/client/set_spawn_position.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/set_spawn_position.rs rename to crates/pumpkin-protocol/src/bedrock/client/set_spawn_position.rs diff --git a/pumpkin-protocol/src/bedrock/client/set_time.rs b/crates/pumpkin-protocol/src/bedrock/client/set_time.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/set_time.rs rename to crates/pumpkin-protocol/src/bedrock/client/set_time.rs diff --git a/pumpkin-protocol/src/bedrock/client/set_title.rs b/crates/pumpkin-protocol/src/bedrock/client/set_title.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/set_title.rs rename to crates/pumpkin-protocol/src/bedrock/client/set_title.rs diff --git a/pumpkin-protocol/src/bedrock/client/show_credits.rs b/crates/pumpkin-protocol/src/bedrock/client/show_credits.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/show_credits.rs rename to crates/pumpkin-protocol/src/bedrock/client/show_credits.rs diff --git a/pumpkin-protocol/src/bedrock/client/start_game.rs b/crates/pumpkin-protocol/src/bedrock/client/start_game.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/start_game.rs rename to crates/pumpkin-protocol/src/bedrock/client/start_game.rs diff --git a/pumpkin-protocol/src/bedrock/client/take_item_actor.rs b/crates/pumpkin-protocol/src/bedrock/client/take_item_actor.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/take_item_actor.rs rename to crates/pumpkin-protocol/src/bedrock/client/take_item_actor.rs diff --git a/pumpkin-protocol/src/bedrock/client/transfer.rs b/crates/pumpkin-protocol/src/bedrock/client/transfer.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/transfer.rs rename to crates/pumpkin-protocol/src/bedrock/client/transfer.rs diff --git a/pumpkin-protocol/src/bedrock/client/update_abilities.rs b/crates/pumpkin-protocol/src/bedrock/client/update_abilities.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/update_abilities.rs rename to crates/pumpkin-protocol/src/bedrock/client/update_abilities.rs diff --git a/pumpkin-protocol/src/bedrock/client/update_attributes.rs b/crates/pumpkin-protocol/src/bedrock/client/update_attributes.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/update_attributes.rs rename to crates/pumpkin-protocol/src/bedrock/client/update_attributes.rs diff --git a/pumpkin-protocol/src/bedrock/client/update_block.rs b/crates/pumpkin-protocol/src/bedrock/client/update_block.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/client/update_block.rs rename to crates/pumpkin-protocol/src/bedrock/client/update_block.rs diff --git a/pumpkin-protocol/src/bedrock/crypto.rs b/crates/pumpkin-protocol/src/bedrock/crypto.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/crypto.rs rename to crates/pumpkin-protocol/src/bedrock/crypto.rs diff --git a/pumpkin-protocol/src/bedrock/frame_set.rs b/crates/pumpkin-protocol/src/bedrock/frame_set.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/frame_set.rs rename to crates/pumpkin-protocol/src/bedrock/frame_set.rs diff --git a/pumpkin-protocol/src/bedrock/mod.rs b/crates/pumpkin-protocol/src/bedrock/mod.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/mod.rs rename to crates/pumpkin-protocol/src/bedrock/mod.rs diff --git a/pumpkin-protocol/src/bedrock/network_item.rs b/crates/pumpkin-protocol/src/bedrock/network_item.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/network_item.rs rename to crates/pumpkin-protocol/src/bedrock/network_item.rs diff --git a/pumpkin-protocol/src/bedrock/packet_decoder.rs b/crates/pumpkin-protocol/src/bedrock/packet_decoder.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/packet_decoder.rs rename to crates/pumpkin-protocol/src/bedrock/packet_decoder.rs diff --git a/pumpkin-protocol/src/bedrock/packet_encoder.rs b/crates/pumpkin-protocol/src/bedrock/packet_encoder.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/packet_encoder.rs rename to crates/pumpkin-protocol/src/bedrock/packet_encoder.rs diff --git a/pumpkin-protocol/src/bedrock/server/actor_event.rs b/crates/pumpkin-protocol/src/bedrock/server/actor_event.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/server/actor_event.rs rename to crates/pumpkin-protocol/src/bedrock/server/actor_event.rs diff --git a/pumpkin-protocol/src/bedrock/server/animate.rs b/crates/pumpkin-protocol/src/bedrock/server/animate.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/server/animate.rs rename to crates/pumpkin-protocol/src/bedrock/server/animate.rs diff --git a/pumpkin-protocol/src/bedrock/server/block_pick_request.rs b/crates/pumpkin-protocol/src/bedrock/server/block_pick_request.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/server/block_pick_request.rs rename to crates/pumpkin-protocol/src/bedrock/server/block_pick_request.rs diff --git a/pumpkin-protocol/src/bedrock/server/client_cache_status.rs b/crates/pumpkin-protocol/src/bedrock/server/client_cache_status.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/server/client_cache_status.rs rename to crates/pumpkin-protocol/src/bedrock/server/client_cache_status.rs diff --git a/pumpkin-protocol/src/bedrock/server/client_to_server_handshake.rs b/crates/pumpkin-protocol/src/bedrock/server/client_to_server_handshake.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/server/client_to_server_handshake.rs rename to crates/pumpkin-protocol/src/bedrock/server/client_to_server_handshake.rs diff --git a/pumpkin-protocol/src/bedrock/server/command_request.rs b/crates/pumpkin-protocol/src/bedrock/server/command_request.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/server/command_request.rs rename to crates/pumpkin-protocol/src/bedrock/server/command_request.rs diff --git a/pumpkin-protocol/src/bedrock/server/container_close.rs b/crates/pumpkin-protocol/src/bedrock/server/container_close.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/server/container_close.rs rename to crates/pumpkin-protocol/src/bedrock/server/container_close.rs diff --git a/pumpkin-protocol/src/bedrock/server/emote.rs b/crates/pumpkin-protocol/src/bedrock/server/emote.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/server/emote.rs rename to crates/pumpkin-protocol/src/bedrock/server/emote.rs diff --git a/pumpkin-protocol/src/bedrock/server/emote_list.rs b/crates/pumpkin-protocol/src/bedrock/server/emote_list.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/server/emote_list.rs rename to crates/pumpkin-protocol/src/bedrock/server/emote_list.rs diff --git a/pumpkin-protocol/src/bedrock/server/interaction.rs b/crates/pumpkin-protocol/src/bedrock/server/interaction.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/server/interaction.rs rename to crates/pumpkin-protocol/src/bedrock/server/interaction.rs diff --git a/pumpkin-protocol/src/bedrock/server/inventory_transaction.rs b/crates/pumpkin-protocol/src/bedrock/server/inventory_transaction.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/server/inventory_transaction.rs rename to crates/pumpkin-protocol/src/bedrock/server/inventory_transaction.rs diff --git a/pumpkin-protocol/src/bedrock/server/item_stack_request.rs b/crates/pumpkin-protocol/src/bedrock/server/item_stack_request.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/server/item_stack_request.rs rename to crates/pumpkin-protocol/src/bedrock/server/item_stack_request.rs diff --git a/pumpkin-protocol/src/bedrock/server/loading_screen.rs b/crates/pumpkin-protocol/src/bedrock/server/loading_screen.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/server/loading_screen.rs rename to crates/pumpkin-protocol/src/bedrock/server/loading_screen.rs diff --git a/pumpkin-protocol/src/bedrock/server/login.rs b/crates/pumpkin-protocol/src/bedrock/server/login.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/server/login.rs rename to crates/pumpkin-protocol/src/bedrock/server/login.rs diff --git a/pumpkin-protocol/src/bedrock/server/mob_equipment.rs b/crates/pumpkin-protocol/src/bedrock/server/mob_equipment.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/server/mob_equipment.rs rename to crates/pumpkin-protocol/src/bedrock/server/mob_equipment.rs diff --git a/pumpkin-protocol/src/bedrock/server/mod.rs b/crates/pumpkin-protocol/src/bedrock/server/mod.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/server/mod.rs rename to crates/pumpkin-protocol/src/bedrock/server/mod.rs diff --git a/pumpkin-protocol/src/bedrock/server/modal_form_response.rs b/crates/pumpkin-protocol/src/bedrock/server/modal_form_response.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/server/modal_form_response.rs rename to crates/pumpkin-protocol/src/bedrock/server/modal_form_response.rs diff --git a/pumpkin-protocol/src/bedrock/server/player_action.rs b/crates/pumpkin-protocol/src/bedrock/server/player_action.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/server/player_action.rs rename to crates/pumpkin-protocol/src/bedrock/server/player_action.rs diff --git a/pumpkin-protocol/src/bedrock/server/player_auth_input.rs b/crates/pumpkin-protocol/src/bedrock/server/player_auth_input.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/server/player_auth_input.rs rename to crates/pumpkin-protocol/src/bedrock/server/player_auth_input.rs diff --git a/pumpkin-protocol/src/bedrock/server/player_hotbar.rs b/crates/pumpkin-protocol/src/bedrock/server/player_hotbar.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/server/player_hotbar.rs rename to crates/pumpkin-protocol/src/bedrock/server/player_hotbar.rs diff --git a/pumpkin-protocol/src/bedrock/server/raknet/connection.rs b/crates/pumpkin-protocol/src/bedrock/server/raknet/connection.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/server/raknet/connection.rs rename to crates/pumpkin-protocol/src/bedrock/server/raknet/connection.rs diff --git a/pumpkin-protocol/src/bedrock/server/raknet/mod.rs b/crates/pumpkin-protocol/src/bedrock/server/raknet/mod.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/server/raknet/mod.rs rename to crates/pumpkin-protocol/src/bedrock/server/raknet/mod.rs diff --git a/pumpkin-protocol/src/bedrock/server/raknet/open_connection.rs b/crates/pumpkin-protocol/src/bedrock/server/raknet/open_connection.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/server/raknet/open_connection.rs rename to crates/pumpkin-protocol/src/bedrock/server/raknet/open_connection.rs diff --git a/pumpkin-protocol/src/bedrock/server/raknet/unconnected_ping.rs b/crates/pumpkin-protocol/src/bedrock/server/raknet/unconnected_ping.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/server/raknet/unconnected_ping.rs rename to crates/pumpkin-protocol/src/bedrock/server/raknet/unconnected_ping.rs diff --git a/pumpkin-protocol/src/bedrock/server/request_ability.rs b/crates/pumpkin-protocol/src/bedrock/server/request_ability.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/server/request_ability.rs rename to crates/pumpkin-protocol/src/bedrock/server/request_ability.rs diff --git a/pumpkin-protocol/src/bedrock/server/request_chunk_radius.rs b/crates/pumpkin-protocol/src/bedrock/server/request_chunk_radius.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/server/request_chunk_radius.rs rename to crates/pumpkin-protocol/src/bedrock/server/request_chunk_radius.rs diff --git a/pumpkin-protocol/src/bedrock/server/request_network_settings.rs b/crates/pumpkin-protocol/src/bedrock/server/request_network_settings.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/server/request_network_settings.rs rename to crates/pumpkin-protocol/src/bedrock/server/request_network_settings.rs diff --git a/pumpkin-protocol/src/bedrock/server/resource_pack_response.rs b/crates/pumpkin-protocol/src/bedrock/server/resource_pack_response.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/server/resource_pack_response.rs rename to crates/pumpkin-protocol/src/bedrock/server/resource_pack_response.rs diff --git a/pumpkin-protocol/src/bedrock/server/set_local_player_as_initialized.rs b/crates/pumpkin-protocol/src/bedrock/server/set_local_player_as_initialized.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/server/set_local_player_as_initialized.rs rename to crates/pumpkin-protocol/src/bedrock/server/set_local_player_as_initialized.rs diff --git a/pumpkin-protocol/src/bedrock/server/set_player_inventory_options.rs b/crates/pumpkin-protocol/src/bedrock/server/set_player_inventory_options.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/server/set_player_inventory_options.rs rename to crates/pumpkin-protocol/src/bedrock/server/set_player_inventory_options.rs diff --git a/pumpkin-protocol/src/bedrock/server/text.rs b/crates/pumpkin-protocol/src/bedrock/server/text.rs similarity index 100% rename from pumpkin-protocol/src/bedrock/server/text.rs rename to crates/pumpkin-protocol/src/bedrock/server/text.rs diff --git a/pumpkin-protocol/src/codec/bit_set.rs b/crates/pumpkin-protocol/src/codec/bit_set.rs similarity index 100% rename from pumpkin-protocol/src/codec/bit_set.rs rename to crates/pumpkin-protocol/src/codec/bit_set.rs diff --git a/pumpkin-protocol/src/codec/bitset.rs b/crates/pumpkin-protocol/src/codec/bitset.rs similarity index 100% rename from pumpkin-protocol/src/codec/bitset.rs rename to crates/pumpkin-protocol/src/codec/bitset.rs diff --git a/pumpkin-protocol/src/codec/data_component.rs b/crates/pumpkin-protocol/src/codec/data_component.rs similarity index 100% rename from pumpkin-protocol/src/codec/data_component.rs rename to crates/pumpkin-protocol/src/codec/data_component.rs diff --git a/pumpkin-protocol/src/codec/item_stack_seralizer.rs b/crates/pumpkin-protocol/src/codec/item_stack_seralizer.rs similarity index 100% rename from pumpkin-protocol/src/codec/item_stack_seralizer.rs rename to crates/pumpkin-protocol/src/codec/item_stack_seralizer.rs diff --git a/pumpkin-protocol/src/codec/little_endian.rs b/crates/pumpkin-protocol/src/codec/little_endian.rs similarity index 100% rename from pumpkin-protocol/src/codec/little_endian.rs rename to crates/pumpkin-protocol/src/codec/little_endian.rs diff --git a/pumpkin-protocol/src/codec/lp_vector_3d.rs b/crates/pumpkin-protocol/src/codec/lp_vector_3d.rs similarity index 100% rename from pumpkin-protocol/src/codec/lp_vector_3d.rs rename to crates/pumpkin-protocol/src/codec/lp_vector_3d.rs diff --git a/pumpkin-protocol/src/codec/mod.rs b/crates/pumpkin-protocol/src/codec/mod.rs similarity index 100% rename from pumpkin-protocol/src/codec/mod.rs rename to crates/pumpkin-protocol/src/codec/mod.rs diff --git a/pumpkin-protocol/src/codec/optional_int.rs b/crates/pumpkin-protocol/src/codec/optional_int.rs similarity index 100% rename from pumpkin-protocol/src/codec/optional_int.rs rename to crates/pumpkin-protocol/src/codec/optional_int.rs diff --git a/pumpkin-protocol/src/codec/recipe.rs b/crates/pumpkin-protocol/src/codec/recipe.rs similarity index 100% rename from pumpkin-protocol/src/codec/recipe.rs rename to crates/pumpkin-protocol/src/codec/recipe.rs diff --git a/pumpkin-protocol/src/codec/u24_type.rs b/crates/pumpkin-protocol/src/codec/u24_type.rs similarity index 100% rename from pumpkin-protocol/src/codec/u24_type.rs rename to crates/pumpkin-protocol/src/codec/u24_type.rs diff --git a/pumpkin-protocol/src/codec/uuid.rs b/crates/pumpkin-protocol/src/codec/uuid.rs similarity index 100% rename from pumpkin-protocol/src/codec/uuid.rs rename to crates/pumpkin-protocol/src/codec/uuid.rs diff --git a/pumpkin-protocol/src/codec/var_int.rs b/crates/pumpkin-protocol/src/codec/var_int.rs similarity index 100% rename from pumpkin-protocol/src/codec/var_int.rs rename to crates/pumpkin-protocol/src/codec/var_int.rs diff --git a/pumpkin-protocol/src/codec/var_long.rs b/crates/pumpkin-protocol/src/codec/var_long.rs similarity index 100% rename from pumpkin-protocol/src/codec/var_long.rs rename to crates/pumpkin-protocol/src/codec/var_long.rs diff --git a/pumpkin-protocol/src/codec/var_uint.rs b/crates/pumpkin-protocol/src/codec/var_uint.rs similarity index 100% rename from pumpkin-protocol/src/codec/var_uint.rs rename to crates/pumpkin-protocol/src/codec/var_uint.rs diff --git a/pumpkin-protocol/src/codec/var_ulong.rs b/crates/pumpkin-protocol/src/codec/var_ulong.rs similarity index 100% rename from pumpkin-protocol/src/codec/var_ulong.rs rename to crates/pumpkin-protocol/src/codec/var_ulong.rs diff --git a/pumpkin-protocol/src/java/client/config/add_resource_pack.rs b/crates/pumpkin-protocol/src/java/client/config/add_resource_pack.rs similarity index 100% rename from pumpkin-protocol/src/java/client/config/add_resource_pack.rs rename to crates/pumpkin-protocol/src/java/client/config/add_resource_pack.rs diff --git a/pumpkin-protocol/src/java/client/config/clear_dialog.rs b/crates/pumpkin-protocol/src/java/client/config/clear_dialog.rs similarity index 100% rename from pumpkin-protocol/src/java/client/config/clear_dialog.rs rename to crates/pumpkin-protocol/src/java/client/config/clear_dialog.rs diff --git a/pumpkin-protocol/src/java/client/config/config_disconnect.rs b/crates/pumpkin-protocol/src/java/client/config/config_disconnect.rs similarity index 100% rename from pumpkin-protocol/src/java/client/config/config_disconnect.rs rename to crates/pumpkin-protocol/src/java/client/config/config_disconnect.rs diff --git a/pumpkin-protocol/src/java/client/config/cookie_request.rs b/crates/pumpkin-protocol/src/java/client/config/cookie_request.rs similarity index 100% rename from pumpkin-protocol/src/java/client/config/cookie_request.rs rename to crates/pumpkin-protocol/src/java/client/config/cookie_request.rs diff --git a/pumpkin-protocol/src/java/client/config/feature_flags.rs b/crates/pumpkin-protocol/src/java/client/config/feature_flags.rs similarity index 100% rename from pumpkin-protocol/src/java/client/config/feature_flags.rs rename to crates/pumpkin-protocol/src/java/client/config/feature_flags.rs diff --git a/pumpkin-protocol/src/java/client/config/finish_config.rs b/crates/pumpkin-protocol/src/java/client/config/finish_config.rs similarity index 100% rename from pumpkin-protocol/src/java/client/config/finish_config.rs rename to crates/pumpkin-protocol/src/java/client/config/finish_config.rs diff --git a/pumpkin-protocol/src/java/client/config/known_packs.rs b/crates/pumpkin-protocol/src/java/client/config/known_packs.rs similarity index 100% rename from pumpkin-protocol/src/java/client/config/known_packs.rs rename to crates/pumpkin-protocol/src/java/client/config/known_packs.rs diff --git a/pumpkin-protocol/src/java/client/config/mod.rs b/crates/pumpkin-protocol/src/java/client/config/mod.rs similarity index 100% rename from pumpkin-protocol/src/java/client/config/mod.rs rename to crates/pumpkin-protocol/src/java/client/config/mod.rs diff --git a/pumpkin-protocol/src/java/client/config/plugin_message.rs b/crates/pumpkin-protocol/src/java/client/config/plugin_message.rs similarity index 100% rename from pumpkin-protocol/src/java/client/config/plugin_message.rs rename to crates/pumpkin-protocol/src/java/client/config/plugin_message.rs diff --git a/pumpkin-protocol/src/java/client/config/registry_data.rs b/crates/pumpkin-protocol/src/java/client/config/registry_data.rs similarity index 100% rename from pumpkin-protocol/src/java/client/config/registry_data.rs rename to crates/pumpkin-protocol/src/java/client/config/registry_data.rs diff --git a/pumpkin-protocol/src/java/client/config/server_links.rs b/crates/pumpkin-protocol/src/java/client/config/server_links.rs similarity index 100% rename from pumpkin-protocol/src/java/client/config/server_links.rs rename to crates/pumpkin-protocol/src/java/client/config/server_links.rs diff --git a/pumpkin-protocol/src/java/client/config/show_dialog.rs b/crates/pumpkin-protocol/src/java/client/config/show_dialog.rs similarity index 100% rename from pumpkin-protocol/src/java/client/config/show_dialog.rs rename to crates/pumpkin-protocol/src/java/client/config/show_dialog.rs diff --git a/pumpkin-protocol/src/java/client/config/store_cookie.rs b/crates/pumpkin-protocol/src/java/client/config/store_cookie.rs similarity index 100% rename from pumpkin-protocol/src/java/client/config/store_cookie.rs rename to crates/pumpkin-protocol/src/java/client/config/store_cookie.rs diff --git a/pumpkin-protocol/src/java/client/config/transfer.rs b/crates/pumpkin-protocol/src/java/client/config/transfer.rs similarity index 100% rename from pumpkin-protocol/src/java/client/config/transfer.rs rename to crates/pumpkin-protocol/src/java/client/config/transfer.rs diff --git a/pumpkin-protocol/src/java/client/config/update_tags.rs b/crates/pumpkin-protocol/src/java/client/config/update_tags.rs similarity index 100% rename from pumpkin-protocol/src/java/client/config/update_tags.rs rename to crates/pumpkin-protocol/src/java/client/config/update_tags.rs diff --git a/pumpkin-protocol/src/java/client/dialog.rs b/crates/pumpkin-protocol/src/java/client/dialog.rs similarity index 100% rename from pumpkin-protocol/src/java/client/dialog.rs rename to crates/pumpkin-protocol/src/java/client/dialog.rs diff --git a/pumpkin-protocol/src/java/client/login/cookie_request.rs b/crates/pumpkin-protocol/src/java/client/login/cookie_request.rs similarity index 100% rename from pumpkin-protocol/src/java/client/login/cookie_request.rs rename to crates/pumpkin-protocol/src/java/client/login/cookie_request.rs diff --git a/pumpkin-protocol/src/java/client/login/encryption_request.rs b/crates/pumpkin-protocol/src/java/client/login/encryption_request.rs similarity index 100% rename from pumpkin-protocol/src/java/client/login/encryption_request.rs rename to crates/pumpkin-protocol/src/java/client/login/encryption_request.rs diff --git a/pumpkin-protocol/src/java/client/login/login_disconnect.rs b/crates/pumpkin-protocol/src/java/client/login/login_disconnect.rs similarity index 100% rename from pumpkin-protocol/src/java/client/login/login_disconnect.rs rename to crates/pumpkin-protocol/src/java/client/login/login_disconnect.rs diff --git a/pumpkin-protocol/src/java/client/login/login_success.rs b/crates/pumpkin-protocol/src/java/client/login/login_success.rs similarity index 100% rename from pumpkin-protocol/src/java/client/login/login_success.rs rename to crates/pumpkin-protocol/src/java/client/login/login_success.rs diff --git a/pumpkin-protocol/src/java/client/login/mod.rs b/crates/pumpkin-protocol/src/java/client/login/mod.rs similarity index 100% rename from pumpkin-protocol/src/java/client/login/mod.rs rename to crates/pumpkin-protocol/src/java/client/login/mod.rs diff --git a/pumpkin-protocol/src/java/client/login/plugin_request.rs b/crates/pumpkin-protocol/src/java/client/login/plugin_request.rs similarity index 100% rename from pumpkin-protocol/src/java/client/login/plugin_request.rs rename to crates/pumpkin-protocol/src/java/client/login/plugin_request.rs diff --git a/pumpkin-protocol/src/java/client/login/set_compression.rs b/crates/pumpkin-protocol/src/java/client/login/set_compression.rs similarity index 100% rename from pumpkin-protocol/src/java/client/login/set_compression.rs rename to crates/pumpkin-protocol/src/java/client/login/set_compression.rs diff --git a/pumpkin-protocol/src/java/client/mod.rs b/crates/pumpkin-protocol/src/java/client/mod.rs similarity index 100% rename from pumpkin-protocol/src/java/client/mod.rs rename to crates/pumpkin-protocol/src/java/client/mod.rs diff --git a/pumpkin-protocol/src/java/client/play/acknowledge_block.rs b/crates/pumpkin-protocol/src/java/client/play/acknowledge_block.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/acknowledge_block.rs rename to crates/pumpkin-protocol/src/java/client/play/acknowledge_block.rs diff --git a/pumpkin-protocol/src/java/client/play/actionbar.rs b/crates/pumpkin-protocol/src/java/client/play/actionbar.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/actionbar.rs rename to crates/pumpkin-protocol/src/java/client/play/actionbar.rs diff --git a/pumpkin-protocol/src/java/client/play/award_stats.rs b/crates/pumpkin-protocol/src/java/client/play/award_stats.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/award_stats.rs rename to crates/pumpkin-protocol/src/java/client/play/award_stats.rs diff --git a/pumpkin-protocol/src/java/client/play/block_destroy_stage.rs b/crates/pumpkin-protocol/src/java/client/play/block_destroy_stage.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/block_destroy_stage.rs rename to crates/pumpkin-protocol/src/java/client/play/block_destroy_stage.rs diff --git a/pumpkin-protocol/src/java/client/play/block_entity_data.rs b/crates/pumpkin-protocol/src/java/client/play/block_entity_data.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/block_entity_data.rs rename to crates/pumpkin-protocol/src/java/client/play/block_entity_data.rs diff --git a/pumpkin-protocol/src/java/client/play/block_event.rs b/crates/pumpkin-protocol/src/java/client/play/block_event.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/block_event.rs rename to crates/pumpkin-protocol/src/java/client/play/block_event.rs diff --git a/pumpkin-protocol/src/java/client/play/block_update.rs b/crates/pumpkin-protocol/src/java/client/play/block_update.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/block_update.rs rename to crates/pumpkin-protocol/src/java/client/play/block_update.rs diff --git a/pumpkin-protocol/src/java/client/play/boss_event.rs b/crates/pumpkin-protocol/src/java/client/play/boss_event.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/boss_event.rs rename to crates/pumpkin-protocol/src/java/client/play/boss_event.rs diff --git a/pumpkin-protocol/src/java/client/play/bossevent_action.rs b/crates/pumpkin-protocol/src/java/client/play/bossevent_action.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/bossevent_action.rs rename to crates/pumpkin-protocol/src/java/client/play/bossevent_action.rs diff --git a/pumpkin-protocol/src/java/client/play/center_chunk.rs b/crates/pumpkin-protocol/src/java/client/play/center_chunk.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/center_chunk.rs rename to crates/pumpkin-protocol/src/java/client/play/center_chunk.rs diff --git a/pumpkin-protocol/src/java/client/play/change_difficulty.rs b/crates/pumpkin-protocol/src/java/client/play/change_difficulty.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/change_difficulty.rs rename to crates/pumpkin-protocol/src/java/client/play/change_difficulty.rs diff --git a/pumpkin-protocol/src/java/client/play/chunk_batch_end.rs b/crates/pumpkin-protocol/src/java/client/play/chunk_batch_end.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/chunk_batch_end.rs rename to crates/pumpkin-protocol/src/java/client/play/chunk_batch_end.rs diff --git a/pumpkin-protocol/src/java/client/play/chunk_batch_start.rs b/crates/pumpkin-protocol/src/java/client/play/chunk_batch_start.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/chunk_batch_start.rs rename to crates/pumpkin-protocol/src/java/client/play/chunk_batch_start.rs diff --git a/pumpkin-protocol/src/java/client/play/chunk_data.rs b/crates/pumpkin-protocol/src/java/client/play/chunk_data.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/chunk_data.rs rename to crates/pumpkin-protocol/src/java/client/play/chunk_data.rs diff --git a/pumpkin-protocol/src/java/client/play/clear_dialog.rs b/crates/pumpkin-protocol/src/java/client/play/clear_dialog.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/clear_dialog.rs rename to crates/pumpkin-protocol/src/java/client/play/clear_dialog.rs diff --git a/pumpkin-protocol/src/java/client/play/clear_title.rs b/crates/pumpkin-protocol/src/java/client/play/clear_title.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/clear_title.rs rename to crates/pumpkin-protocol/src/java/client/play/clear_title.rs diff --git a/pumpkin-protocol/src/java/client/play/close_container.rs b/crates/pumpkin-protocol/src/java/client/play/close_container.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/close_container.rs rename to crates/pumpkin-protocol/src/java/client/play/close_container.rs diff --git a/pumpkin-protocol/src/java/client/play/combat_death.rs b/crates/pumpkin-protocol/src/java/client/play/combat_death.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/combat_death.rs rename to crates/pumpkin-protocol/src/java/client/play/combat_death.rs diff --git a/pumpkin-protocol/src/java/client/play/command_suggestions.rs b/crates/pumpkin-protocol/src/java/client/play/command_suggestions.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/command_suggestions.rs rename to crates/pumpkin-protocol/src/java/client/play/command_suggestions.rs diff --git a/pumpkin-protocol/src/java/client/play/commands.rs b/crates/pumpkin-protocol/src/java/client/play/commands.rs similarity index 99% rename from pumpkin-protocol/src/java/client/play/commands.rs rename to crates/pumpkin-protocol/src/java/client/play/commands.rs index f3596ed3a..09117839f 100644 --- a/pumpkin-protocol/src/java/client/play/commands.rs +++ b/crates/pumpkin-protocol/src/java/client/play/commands.rs @@ -247,7 +247,7 @@ impl ArgumentType { #[must_use] pub fn to_id(&self, version: &JavaMinecraftVersion) -> i32 { - // Safety: Since Self is repr(u32), it is guaranteed to hold the discriminant in the first 4 bytes + // SAFETY: Since Self is repr(u32), it is guaranteed to hold the discriminant in the first 4 bytes // See https://doc.rust-lang.org/reference/items/enumerations.html#pointer-casting let id = unsafe { *std::ptr::from_ref::(self).cast::() }; diff --git a/pumpkin-protocol/src/java/client/play/cookie_request.rs b/crates/pumpkin-protocol/src/java/client/play/cookie_request.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/cookie_request.rs rename to crates/pumpkin-protocol/src/java/client/play/cookie_request.rs diff --git a/pumpkin-protocol/src/java/client/play/custom_payload.rs b/crates/pumpkin-protocol/src/java/client/play/custom_payload.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/custom_payload.rs rename to crates/pumpkin-protocol/src/java/client/play/custom_payload.rs diff --git a/pumpkin-protocol/src/java/client/play/damage_event.rs b/crates/pumpkin-protocol/src/java/client/play/damage_event.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/damage_event.rs rename to crates/pumpkin-protocol/src/java/client/play/damage_event.rs diff --git a/pumpkin-protocol/src/java/client/play/debug_sample.rs b/crates/pumpkin-protocol/src/java/client/play/debug_sample.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/debug_sample.rs rename to crates/pumpkin-protocol/src/java/client/play/debug_sample.rs diff --git a/pumpkin-protocol/src/java/client/play/disconnect.rs b/crates/pumpkin-protocol/src/java/client/play/disconnect.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/disconnect.rs rename to crates/pumpkin-protocol/src/java/client/play/disconnect.rs diff --git a/pumpkin-protocol/src/java/client/play/disguised_chat_message.rs b/crates/pumpkin-protocol/src/java/client/play/disguised_chat_message.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/disguised_chat_message.rs rename to crates/pumpkin-protocol/src/java/client/play/disguised_chat_message.rs diff --git a/pumpkin-protocol/src/java/client/play/display_objective.rs b/crates/pumpkin-protocol/src/java/client/play/display_objective.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/display_objective.rs rename to crates/pumpkin-protocol/src/java/client/play/display_objective.rs diff --git a/pumpkin-protocol/src/java/client/play/entity_animation.rs b/crates/pumpkin-protocol/src/java/client/play/entity_animation.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/entity_animation.rs rename to crates/pumpkin-protocol/src/java/client/play/entity_animation.rs diff --git a/pumpkin-protocol/src/java/client/play/entity_metadata.rs b/crates/pumpkin-protocol/src/java/client/play/entity_metadata.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/entity_metadata.rs rename to crates/pumpkin-protocol/src/java/client/play/entity_metadata.rs diff --git a/pumpkin-protocol/src/java/client/play/entity_position_sync.rs b/crates/pumpkin-protocol/src/java/client/play/entity_position_sync.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/entity_position_sync.rs rename to crates/pumpkin-protocol/src/java/client/play/entity_position_sync.rs diff --git a/pumpkin-protocol/src/java/client/play/entity_sound_effect.rs b/crates/pumpkin-protocol/src/java/client/play/entity_sound_effect.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/entity_sound_effect.rs rename to crates/pumpkin-protocol/src/java/client/play/entity_sound_effect.rs diff --git a/pumpkin-protocol/src/java/client/play/entity_status.rs b/crates/pumpkin-protocol/src/java/client/play/entity_status.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/entity_status.rs rename to crates/pumpkin-protocol/src/java/client/play/entity_status.rs diff --git a/pumpkin-protocol/src/java/client/play/entity_velocity.rs b/crates/pumpkin-protocol/src/java/client/play/entity_velocity.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/entity_velocity.rs rename to crates/pumpkin-protocol/src/java/client/play/entity_velocity.rs diff --git a/pumpkin-protocol/src/java/client/play/explode.rs b/crates/pumpkin-protocol/src/java/client/play/explode.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/explode.rs rename to crates/pumpkin-protocol/src/java/client/play/explode.rs diff --git a/pumpkin-protocol/src/java/client/play/game_event.rs b/crates/pumpkin-protocol/src/java/client/play/game_event.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/game_event.rs rename to crates/pumpkin-protocol/src/java/client/play/game_event.rs diff --git a/pumpkin-protocol/src/java/client/play/head_rot.rs b/crates/pumpkin-protocol/src/java/client/play/head_rot.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/head_rot.rs rename to crates/pumpkin-protocol/src/java/client/play/head_rot.rs diff --git a/pumpkin-protocol/src/java/client/play/hurt_animation.rs b/crates/pumpkin-protocol/src/java/client/play/hurt_animation.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/hurt_animation.rs rename to crates/pumpkin-protocol/src/java/client/play/hurt_animation.rs diff --git a/pumpkin-protocol/src/java/client/play/initialize_world_border.rs b/crates/pumpkin-protocol/src/java/client/play/initialize_world_border.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/initialize_world_border.rs rename to crates/pumpkin-protocol/src/java/client/play/initialize_world_border.rs diff --git a/pumpkin-protocol/src/java/client/play/item_cooldown.rs b/crates/pumpkin-protocol/src/java/client/play/item_cooldown.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/item_cooldown.rs rename to crates/pumpkin-protocol/src/java/client/play/item_cooldown.rs diff --git a/pumpkin-protocol/src/java/client/play/keep_alive.rs b/crates/pumpkin-protocol/src/java/client/play/keep_alive.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/keep_alive.rs rename to crates/pumpkin-protocol/src/java/client/play/keep_alive.rs diff --git a/pumpkin-protocol/src/java/client/play/level_event.rs b/crates/pumpkin-protocol/src/java/client/play/level_event.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/level_event.rs rename to crates/pumpkin-protocol/src/java/client/play/level_event.rs diff --git a/pumpkin-protocol/src/java/client/play/light_update.rs b/crates/pumpkin-protocol/src/java/client/play/light_update.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/light_update.rs rename to crates/pumpkin-protocol/src/java/client/play/light_update.rs diff --git a/pumpkin-protocol/src/java/client/play/login.rs b/crates/pumpkin-protocol/src/java/client/play/login.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/login.rs rename to crates/pumpkin-protocol/src/java/client/play/login.rs diff --git a/pumpkin-protocol/src/java/client/play/map_item_data.rs b/crates/pumpkin-protocol/src/java/client/play/map_item_data.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/map_item_data.rs rename to crates/pumpkin-protocol/src/java/client/play/map_item_data.rs diff --git a/pumpkin-protocol/src/java/client/play/merchant_offers.rs b/crates/pumpkin-protocol/src/java/client/play/merchant_offers.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/merchant_offers.rs rename to crates/pumpkin-protocol/src/java/client/play/merchant_offers.rs diff --git a/pumpkin-protocol/src/java/client/play/mod.rs b/crates/pumpkin-protocol/src/java/client/play/mod.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/mod.rs rename to crates/pumpkin-protocol/src/java/client/play/mod.rs diff --git a/pumpkin-protocol/src/java/client/play/multi_block_update.rs b/crates/pumpkin-protocol/src/java/client/play/multi_block_update.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/multi_block_update.rs rename to crates/pumpkin-protocol/src/java/client/play/multi_block_update.rs diff --git a/pumpkin-protocol/src/java/client/play/open_screen.rs b/crates/pumpkin-protocol/src/java/client/play/open_screen.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/open_screen.rs rename to crates/pumpkin-protocol/src/java/client/play/open_screen.rs diff --git a/pumpkin-protocol/src/java/client/play/open_sign_editor.rs b/crates/pumpkin-protocol/src/java/client/play/open_sign_editor.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/open_sign_editor.rs rename to crates/pumpkin-protocol/src/java/client/play/open_sign_editor.rs diff --git a/pumpkin-protocol/src/java/client/play/particle.rs b/crates/pumpkin-protocol/src/java/client/play/particle.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/particle.rs rename to crates/pumpkin-protocol/src/java/client/play/particle.rs diff --git a/pumpkin-protocol/src/java/client/play/ping_response.rs b/crates/pumpkin-protocol/src/java/client/play/ping_response.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/ping_response.rs rename to crates/pumpkin-protocol/src/java/client/play/ping_response.rs diff --git a/pumpkin-protocol/src/java/client/play/player_abilities.rs b/crates/pumpkin-protocol/src/java/client/play/player_abilities.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/player_abilities.rs rename to crates/pumpkin-protocol/src/java/client/play/player_abilities.rs diff --git a/pumpkin-protocol/src/java/client/play/player_action.rs b/crates/pumpkin-protocol/src/java/client/play/player_action.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/player_action.rs rename to crates/pumpkin-protocol/src/java/client/play/player_action.rs diff --git a/pumpkin-protocol/src/java/client/play/player_chat_message.rs b/crates/pumpkin-protocol/src/java/client/play/player_chat_message.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/player_chat_message.rs rename to crates/pumpkin-protocol/src/java/client/play/player_chat_message.rs diff --git a/pumpkin-protocol/src/java/client/play/player_info_update.rs b/crates/pumpkin-protocol/src/java/client/play/player_info_update.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/player_info_update.rs rename to crates/pumpkin-protocol/src/java/client/play/player_info_update.rs diff --git a/pumpkin-protocol/src/java/client/play/player_position.rs b/crates/pumpkin-protocol/src/java/client/play/player_position.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/player_position.rs rename to crates/pumpkin-protocol/src/java/client/play/player_position.rs diff --git a/pumpkin-protocol/src/java/client/play/player_remove.rs b/crates/pumpkin-protocol/src/java/client/play/player_remove.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/player_remove.rs rename to crates/pumpkin-protocol/src/java/client/play/player_remove.rs diff --git a/pumpkin-protocol/src/java/client/play/player_spawn_data.rs b/crates/pumpkin-protocol/src/java/client/play/player_spawn_data.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/player_spawn_data.rs rename to crates/pumpkin-protocol/src/java/client/play/player_spawn_data.rs diff --git a/pumpkin-protocol/src/java/client/play/player_spawn_position.rs b/crates/pumpkin-protocol/src/java/client/play/player_spawn_position.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/player_spawn_position.rs rename to crates/pumpkin-protocol/src/java/client/play/player_spawn_position.rs diff --git a/pumpkin-protocol/src/java/client/play/recipe_book_add.rs b/crates/pumpkin-protocol/src/java/client/play/recipe_book_add.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/recipe_book_add.rs rename to crates/pumpkin-protocol/src/java/client/play/recipe_book_add.rs diff --git a/pumpkin-protocol/src/java/client/play/recipe_book_settings.rs b/crates/pumpkin-protocol/src/java/client/play/recipe_book_settings.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/recipe_book_settings.rs rename to crates/pumpkin-protocol/src/java/client/play/recipe_book_settings.rs diff --git a/pumpkin-protocol/src/java/client/play/remove_entities.rs b/crates/pumpkin-protocol/src/java/client/play/remove_entities.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/remove_entities.rs rename to crates/pumpkin-protocol/src/java/client/play/remove_entities.rs diff --git a/pumpkin-protocol/src/java/client/play/remove_mob_effect.rs b/crates/pumpkin-protocol/src/java/client/play/remove_mob_effect.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/remove_mob_effect.rs rename to crates/pumpkin-protocol/src/java/client/play/remove_mob_effect.rs diff --git a/pumpkin-protocol/src/java/client/play/reset_score.rs b/crates/pumpkin-protocol/src/java/client/play/reset_score.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/reset_score.rs rename to crates/pumpkin-protocol/src/java/client/play/reset_score.rs diff --git a/pumpkin-protocol/src/java/client/play/respawn.rs b/crates/pumpkin-protocol/src/java/client/play/respawn.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/respawn.rs rename to crates/pumpkin-protocol/src/java/client/play/respawn.rs diff --git a/pumpkin-protocol/src/java/client/play/select_advancements_tab.rs b/crates/pumpkin-protocol/src/java/client/play/select_advancements_tab.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/select_advancements_tab.rs rename to crates/pumpkin-protocol/src/java/client/play/select_advancements_tab.rs diff --git a/pumpkin-protocol/src/java/client/play/server_links.rs b/crates/pumpkin-protocol/src/java/client/play/server_links.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/server_links.rs rename to crates/pumpkin-protocol/src/java/client/play/server_links.rs diff --git a/pumpkin-protocol/src/java/client/play/set_border_center.rs b/crates/pumpkin-protocol/src/java/client/play/set_border_center.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/set_border_center.rs rename to crates/pumpkin-protocol/src/java/client/play/set_border_center.rs diff --git a/pumpkin-protocol/src/java/client/play/set_border_lerp_size.rs b/crates/pumpkin-protocol/src/java/client/play/set_border_lerp_size.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/set_border_lerp_size.rs rename to crates/pumpkin-protocol/src/java/client/play/set_border_lerp_size.rs diff --git a/pumpkin-protocol/src/java/client/play/set_border_size.rs b/crates/pumpkin-protocol/src/java/client/play/set_border_size.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/set_border_size.rs rename to crates/pumpkin-protocol/src/java/client/play/set_border_size.rs diff --git a/pumpkin-protocol/src/java/client/play/set_border_warning_delay.rs b/crates/pumpkin-protocol/src/java/client/play/set_border_warning_delay.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/set_border_warning_delay.rs rename to crates/pumpkin-protocol/src/java/client/play/set_border_warning_delay.rs diff --git a/pumpkin-protocol/src/java/client/play/set_border_warning_distance.rs b/crates/pumpkin-protocol/src/java/client/play/set_border_warning_distance.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/set_border_warning_distance.rs rename to crates/pumpkin-protocol/src/java/client/play/set_border_warning_distance.rs diff --git a/pumpkin-protocol/src/java/client/play/set_camera.rs b/crates/pumpkin-protocol/src/java/client/play/set_camera.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/set_camera.rs rename to crates/pumpkin-protocol/src/java/client/play/set_camera.rs diff --git a/pumpkin-protocol/src/java/client/play/set_container_content.rs b/crates/pumpkin-protocol/src/java/client/play/set_container_content.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/set_container_content.rs rename to crates/pumpkin-protocol/src/java/client/play/set_container_content.rs diff --git a/pumpkin-protocol/src/java/client/play/set_container_property.rs b/crates/pumpkin-protocol/src/java/client/play/set_container_property.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/set_container_property.rs rename to crates/pumpkin-protocol/src/java/client/play/set_container_property.rs diff --git a/pumpkin-protocol/src/java/client/play/set_container_slot.rs b/crates/pumpkin-protocol/src/java/client/play/set_container_slot.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/set_container_slot.rs rename to crates/pumpkin-protocol/src/java/client/play/set_container_slot.rs diff --git a/pumpkin-protocol/src/java/client/play/set_cursor_slot.rs b/crates/pumpkin-protocol/src/java/client/play/set_cursor_slot.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/set_cursor_slot.rs rename to crates/pumpkin-protocol/src/java/client/play/set_cursor_slot.rs diff --git a/pumpkin-protocol/src/java/client/play/set_entity_link.rs b/crates/pumpkin-protocol/src/java/client/play/set_entity_link.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/set_entity_link.rs rename to crates/pumpkin-protocol/src/java/client/play/set_entity_link.rs diff --git a/pumpkin-protocol/src/java/client/play/set_equipment.rs b/crates/pumpkin-protocol/src/java/client/play/set_equipment.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/set_equipment.rs rename to crates/pumpkin-protocol/src/java/client/play/set_equipment.rs diff --git a/pumpkin-protocol/src/java/client/play/set_experience.rs b/crates/pumpkin-protocol/src/java/client/play/set_experience.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/set_experience.rs rename to crates/pumpkin-protocol/src/java/client/play/set_experience.rs diff --git a/pumpkin-protocol/src/java/client/play/set_health.rs b/crates/pumpkin-protocol/src/java/client/play/set_health.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/set_health.rs rename to crates/pumpkin-protocol/src/java/client/play/set_health.rs diff --git a/pumpkin-protocol/src/java/client/play/set_held_item.rs b/crates/pumpkin-protocol/src/java/client/play/set_held_item.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/set_held_item.rs rename to crates/pumpkin-protocol/src/java/client/play/set_held_item.rs diff --git a/pumpkin-protocol/src/java/client/play/set_passengers.rs b/crates/pumpkin-protocol/src/java/client/play/set_passengers.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/set_passengers.rs rename to crates/pumpkin-protocol/src/java/client/play/set_passengers.rs diff --git a/pumpkin-protocol/src/java/client/play/set_player_inventory.rs b/crates/pumpkin-protocol/src/java/client/play/set_player_inventory.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/set_player_inventory.rs rename to crates/pumpkin-protocol/src/java/client/play/set_player_inventory.rs diff --git a/pumpkin-protocol/src/java/client/play/set_player_team.rs b/crates/pumpkin-protocol/src/java/client/play/set_player_team.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/set_player_team.rs rename to crates/pumpkin-protocol/src/java/client/play/set_player_team.rs diff --git a/pumpkin-protocol/src/java/client/play/set_time.rs b/crates/pumpkin-protocol/src/java/client/play/set_time.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/set_time.rs rename to crates/pumpkin-protocol/src/java/client/play/set_time.rs diff --git a/pumpkin-protocol/src/java/client/play/set_title.rs b/crates/pumpkin-protocol/src/java/client/play/set_title.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/set_title.rs rename to crates/pumpkin-protocol/src/java/client/play/set_title.rs diff --git a/pumpkin-protocol/src/java/client/play/set_title_animation.rs b/crates/pumpkin-protocol/src/java/client/play/set_title_animation.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/set_title_animation.rs rename to crates/pumpkin-protocol/src/java/client/play/set_title_animation.rs diff --git a/pumpkin-protocol/src/java/client/play/show_dialog.rs b/crates/pumpkin-protocol/src/java/client/play/show_dialog.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/show_dialog.rs rename to crates/pumpkin-protocol/src/java/client/play/show_dialog.rs diff --git a/pumpkin-protocol/src/java/client/play/sound_effect.rs b/crates/pumpkin-protocol/src/java/client/play/sound_effect.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/sound_effect.rs rename to crates/pumpkin-protocol/src/java/client/play/sound_effect.rs diff --git a/pumpkin-protocol/src/java/client/play/spawn_entity.rs b/crates/pumpkin-protocol/src/java/client/play/spawn_entity.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/spawn_entity.rs rename to crates/pumpkin-protocol/src/java/client/play/spawn_entity.rs diff --git a/pumpkin-protocol/src/java/client/play/stop_sound.rs b/crates/pumpkin-protocol/src/java/client/play/stop_sound.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/stop_sound.rs rename to crates/pumpkin-protocol/src/java/client/play/stop_sound.rs diff --git a/pumpkin-protocol/src/java/client/play/store_cookie.rs b/crates/pumpkin-protocol/src/java/client/play/store_cookie.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/store_cookie.rs rename to crates/pumpkin-protocol/src/java/client/play/store_cookie.rs diff --git a/pumpkin-protocol/src/java/client/play/subtitle.rs b/crates/pumpkin-protocol/src/java/client/play/subtitle.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/subtitle.rs rename to crates/pumpkin-protocol/src/java/client/play/subtitle.rs diff --git a/pumpkin-protocol/src/java/client/play/system_chat_message.rs b/crates/pumpkin-protocol/src/java/client/play/system_chat_message.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/system_chat_message.rs rename to crates/pumpkin-protocol/src/java/client/play/system_chat_message.rs diff --git a/pumpkin-protocol/src/java/client/play/tab_list.rs b/crates/pumpkin-protocol/src/java/client/play/tab_list.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/tab_list.rs rename to crates/pumpkin-protocol/src/java/client/play/tab_list.rs diff --git a/pumpkin-protocol/src/java/client/play/take_item.rs b/crates/pumpkin-protocol/src/java/client/play/take_item.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/take_item.rs rename to crates/pumpkin-protocol/src/java/client/play/take_item.rs diff --git a/pumpkin-protocol/src/java/client/play/teleport_entity.rs b/crates/pumpkin-protocol/src/java/client/play/teleport_entity.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/teleport_entity.rs rename to crates/pumpkin-protocol/src/java/client/play/teleport_entity.rs diff --git a/pumpkin-protocol/src/java/client/play/ticking_state.rs b/crates/pumpkin-protocol/src/java/client/play/ticking_state.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/ticking_state.rs rename to crates/pumpkin-protocol/src/java/client/play/ticking_state.rs diff --git a/pumpkin-protocol/src/java/client/play/ticking_step.rs b/crates/pumpkin-protocol/src/java/client/play/ticking_step.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/ticking_step.rs rename to crates/pumpkin-protocol/src/java/client/play/ticking_step.rs diff --git a/pumpkin-protocol/src/java/client/play/transfer.rs b/crates/pumpkin-protocol/src/java/client/play/transfer.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/transfer.rs rename to crates/pumpkin-protocol/src/java/client/play/transfer.rs diff --git a/pumpkin-protocol/src/java/client/play/unload_chunk.rs b/crates/pumpkin-protocol/src/java/client/play/unload_chunk.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/unload_chunk.rs rename to crates/pumpkin-protocol/src/java/client/play/unload_chunk.rs diff --git a/pumpkin-protocol/src/java/client/play/update_advancement.rs b/crates/pumpkin-protocol/src/java/client/play/update_advancement.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/update_advancement.rs rename to crates/pumpkin-protocol/src/java/client/play/update_advancement.rs diff --git a/pumpkin-protocol/src/java/client/play/update_attributes.rs b/crates/pumpkin-protocol/src/java/client/play/update_attributes.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/update_attributes.rs rename to crates/pumpkin-protocol/src/java/client/play/update_attributes.rs diff --git a/pumpkin-protocol/src/java/client/play/update_entity_pos.rs b/crates/pumpkin-protocol/src/java/client/play/update_entity_pos.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/update_entity_pos.rs rename to crates/pumpkin-protocol/src/java/client/play/update_entity_pos.rs diff --git a/pumpkin-protocol/src/java/client/play/update_entity_pos_rot.rs b/crates/pumpkin-protocol/src/java/client/play/update_entity_pos_rot.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/update_entity_pos_rot.rs rename to crates/pumpkin-protocol/src/java/client/play/update_entity_pos_rot.rs diff --git a/pumpkin-protocol/src/java/client/play/update_entity_rot.rs b/crates/pumpkin-protocol/src/java/client/play/update_entity_rot.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/update_entity_rot.rs rename to crates/pumpkin-protocol/src/java/client/play/update_entity_rot.rs diff --git a/pumpkin-protocol/src/java/client/play/update_mob_effect.rs b/crates/pumpkin-protocol/src/java/client/play/update_mob_effect.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/update_mob_effect.rs rename to crates/pumpkin-protocol/src/java/client/play/update_mob_effect.rs diff --git a/pumpkin-protocol/src/java/client/play/update_objectives.rs b/crates/pumpkin-protocol/src/java/client/play/update_objectives.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/update_objectives.rs rename to crates/pumpkin-protocol/src/java/client/play/update_objectives.rs diff --git a/pumpkin-protocol/src/java/client/play/update_score.rs b/crates/pumpkin-protocol/src/java/client/play/update_score.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/update_score.rs rename to crates/pumpkin-protocol/src/java/client/play/update_score.rs diff --git a/pumpkin-protocol/src/java/client/play/worldevent.rs b/crates/pumpkin-protocol/src/java/client/play/worldevent.rs similarity index 100% rename from pumpkin-protocol/src/java/client/play/worldevent.rs rename to crates/pumpkin-protocol/src/java/client/play/worldevent.rs diff --git a/pumpkin-protocol/src/java/client/status/mod.rs b/crates/pumpkin-protocol/src/java/client/status/mod.rs similarity index 100% rename from pumpkin-protocol/src/java/client/status/mod.rs rename to crates/pumpkin-protocol/src/java/client/status/mod.rs diff --git a/pumpkin-protocol/src/java/client/status/ping_response.rs b/crates/pumpkin-protocol/src/java/client/status/ping_response.rs similarity index 100% rename from pumpkin-protocol/src/java/client/status/ping_response.rs rename to crates/pumpkin-protocol/src/java/client/status/ping_response.rs diff --git a/pumpkin-protocol/src/java/client/status/status_response.rs b/crates/pumpkin-protocol/src/java/client/status/status_response.rs similarity index 100% rename from pumpkin-protocol/src/java/client/status/status_response.rs rename to crates/pumpkin-protocol/src/java/client/status/status_response.rs diff --git a/pumpkin-protocol/src/java/mod.rs b/crates/pumpkin-protocol/src/java/mod.rs similarity index 100% rename from pumpkin-protocol/src/java/mod.rs rename to crates/pumpkin-protocol/src/java/mod.rs diff --git a/pumpkin-protocol/src/java/packet_decoder.rs b/crates/pumpkin-protocol/src/java/packet_decoder.rs similarity index 100% rename from pumpkin-protocol/src/java/packet_decoder.rs rename to crates/pumpkin-protocol/src/java/packet_decoder.rs diff --git a/pumpkin-protocol/src/java/packet_encoder.rs b/crates/pumpkin-protocol/src/java/packet_encoder.rs similarity index 100% rename from pumpkin-protocol/src/java/packet_encoder.rs rename to crates/pumpkin-protocol/src/java/packet_encoder.rs diff --git a/pumpkin-protocol/src/java/server/config/acknowledge_finish_config.rs b/crates/pumpkin-protocol/src/java/server/config/acknowledge_finish_config.rs similarity index 100% rename from pumpkin-protocol/src/java/server/config/acknowledge_finish_config.rs rename to crates/pumpkin-protocol/src/java/server/config/acknowledge_finish_config.rs diff --git a/pumpkin-protocol/src/java/server/config/client_information.rs b/crates/pumpkin-protocol/src/java/server/config/client_information.rs similarity index 100% rename from pumpkin-protocol/src/java/server/config/client_information.rs rename to crates/pumpkin-protocol/src/java/server/config/client_information.rs diff --git a/pumpkin-protocol/src/java/server/config/cookie_response.rs b/crates/pumpkin-protocol/src/java/server/config/cookie_response.rs similarity index 100% rename from pumpkin-protocol/src/java/server/config/cookie_response.rs rename to crates/pumpkin-protocol/src/java/server/config/cookie_response.rs diff --git a/pumpkin-protocol/src/java/server/config/custom_click_action.rs b/crates/pumpkin-protocol/src/java/server/config/custom_click_action.rs similarity index 100% rename from pumpkin-protocol/src/java/server/config/custom_click_action.rs rename to crates/pumpkin-protocol/src/java/server/config/custom_click_action.rs diff --git a/pumpkin-protocol/src/java/server/config/keep_alive.rs b/crates/pumpkin-protocol/src/java/server/config/keep_alive.rs similarity index 100% rename from pumpkin-protocol/src/java/server/config/keep_alive.rs rename to crates/pumpkin-protocol/src/java/server/config/keep_alive.rs diff --git a/pumpkin-protocol/src/java/server/config/known_packs.rs b/crates/pumpkin-protocol/src/java/server/config/known_packs.rs similarity index 100% rename from pumpkin-protocol/src/java/server/config/known_packs.rs rename to crates/pumpkin-protocol/src/java/server/config/known_packs.rs diff --git a/pumpkin-protocol/src/java/server/config/mod.rs b/crates/pumpkin-protocol/src/java/server/config/mod.rs similarity index 100% rename from pumpkin-protocol/src/java/server/config/mod.rs rename to crates/pumpkin-protocol/src/java/server/config/mod.rs diff --git a/pumpkin-protocol/src/java/server/config/plugin_message.rs b/crates/pumpkin-protocol/src/java/server/config/plugin_message.rs similarity index 100% rename from pumpkin-protocol/src/java/server/config/plugin_message.rs rename to crates/pumpkin-protocol/src/java/server/config/plugin_message.rs diff --git a/pumpkin-protocol/src/java/server/config/resource_pack_response.rs b/crates/pumpkin-protocol/src/java/server/config/resource_pack_response.rs similarity index 100% rename from pumpkin-protocol/src/java/server/config/resource_pack_response.rs rename to crates/pumpkin-protocol/src/java/server/config/resource_pack_response.rs diff --git a/pumpkin-protocol/src/java/server/handshake/mod.rs b/crates/pumpkin-protocol/src/java/server/handshake/mod.rs similarity index 100% rename from pumpkin-protocol/src/java/server/handshake/mod.rs rename to crates/pumpkin-protocol/src/java/server/handshake/mod.rs diff --git a/pumpkin-protocol/src/java/server/login/cookie_response.rs b/crates/pumpkin-protocol/src/java/server/login/cookie_response.rs similarity index 100% rename from pumpkin-protocol/src/java/server/login/cookie_response.rs rename to crates/pumpkin-protocol/src/java/server/login/cookie_response.rs diff --git a/pumpkin-protocol/src/java/server/login/encryption_response.rs b/crates/pumpkin-protocol/src/java/server/login/encryption_response.rs similarity index 100% rename from pumpkin-protocol/src/java/server/login/encryption_response.rs rename to crates/pumpkin-protocol/src/java/server/login/encryption_response.rs diff --git a/pumpkin-protocol/src/java/server/login/login_response.rs b/crates/pumpkin-protocol/src/java/server/login/login_response.rs similarity index 100% rename from pumpkin-protocol/src/java/server/login/login_response.rs rename to crates/pumpkin-protocol/src/java/server/login/login_response.rs diff --git a/pumpkin-protocol/src/java/server/login/login_start.rs b/crates/pumpkin-protocol/src/java/server/login/login_start.rs similarity index 100% rename from pumpkin-protocol/src/java/server/login/login_start.rs rename to crates/pumpkin-protocol/src/java/server/login/login_start.rs diff --git a/pumpkin-protocol/src/java/server/login/mod.rs b/crates/pumpkin-protocol/src/java/server/login/mod.rs similarity index 100% rename from pumpkin-protocol/src/java/server/login/mod.rs rename to crates/pumpkin-protocol/src/java/server/login/mod.rs diff --git a/pumpkin-protocol/src/java/server/login/plugin_response.rs b/crates/pumpkin-protocol/src/java/server/login/plugin_response.rs similarity index 100% rename from pumpkin-protocol/src/java/server/login/plugin_response.rs rename to crates/pumpkin-protocol/src/java/server/login/plugin_response.rs diff --git a/pumpkin-protocol/src/java/server/mod.rs b/crates/pumpkin-protocol/src/java/server/mod.rs similarity index 100% rename from pumpkin-protocol/src/java/server/mod.rs rename to crates/pumpkin-protocol/src/java/server/mod.rs diff --git a/pumpkin-protocol/src/java/server/play/attack.rs b/crates/pumpkin-protocol/src/java/server/play/attack.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/attack.rs rename to crates/pumpkin-protocol/src/java/server/play/attack.rs diff --git a/pumpkin-protocol/src/java/server/play/bundle_item_selected.rs b/crates/pumpkin-protocol/src/java/server/play/bundle_item_selected.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/bundle_item_selected.rs rename to crates/pumpkin-protocol/src/java/server/play/bundle_item_selected.rs diff --git a/pumpkin-protocol/src/java/server/play/change_game_mode.rs b/crates/pumpkin-protocol/src/java/server/play/change_game_mode.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/change_game_mode.rs rename to crates/pumpkin-protocol/src/java/server/play/change_game_mode.rs diff --git a/pumpkin-protocol/src/java/server/play/chat_command.rs b/crates/pumpkin-protocol/src/java/server/play/chat_command.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/chat_command.rs rename to crates/pumpkin-protocol/src/java/server/play/chat_command.rs diff --git a/pumpkin-protocol/src/java/server/play/chat_message.rs b/crates/pumpkin-protocol/src/java/server/play/chat_message.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/chat_message.rs rename to crates/pumpkin-protocol/src/java/server/play/chat_message.rs diff --git a/pumpkin-protocol/src/java/server/play/chunk_batch.rs b/crates/pumpkin-protocol/src/java/server/play/chunk_batch.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/chunk_batch.rs rename to crates/pumpkin-protocol/src/java/server/play/chunk_batch.rs diff --git a/pumpkin-protocol/src/java/server/play/click_container.rs b/crates/pumpkin-protocol/src/java/server/play/click_container.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/click_container.rs rename to crates/pumpkin-protocol/src/java/server/play/click_container.rs diff --git a/pumpkin-protocol/src/java/server/play/client_command.rs b/crates/pumpkin-protocol/src/java/server/play/client_command.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/client_command.rs rename to crates/pumpkin-protocol/src/java/server/play/client_command.rs diff --git a/pumpkin-protocol/src/java/server/play/client_information.rs b/crates/pumpkin-protocol/src/java/server/play/client_information.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/client_information.rs rename to crates/pumpkin-protocol/src/java/server/play/client_information.rs diff --git a/pumpkin-protocol/src/java/server/play/client_tick_end.rs b/crates/pumpkin-protocol/src/java/server/play/client_tick_end.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/client_tick_end.rs rename to crates/pumpkin-protocol/src/java/server/play/client_tick_end.rs diff --git a/pumpkin-protocol/src/java/server/play/close_container.rs b/crates/pumpkin-protocol/src/java/server/play/close_container.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/close_container.rs rename to crates/pumpkin-protocol/src/java/server/play/close_container.rs diff --git a/pumpkin-protocol/src/java/server/play/command_suggestion.rs b/crates/pumpkin-protocol/src/java/server/play/command_suggestion.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/command_suggestion.rs rename to crates/pumpkin-protocol/src/java/server/play/command_suggestion.rs diff --git a/pumpkin-protocol/src/java/server/play/confirm_teleport.rs b/crates/pumpkin-protocol/src/java/server/play/confirm_teleport.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/confirm_teleport.rs rename to crates/pumpkin-protocol/src/java/server/play/confirm_teleport.rs diff --git a/pumpkin-protocol/src/java/server/play/container_button_click.rs b/crates/pumpkin-protocol/src/java/server/play/container_button_click.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/container_button_click.rs rename to crates/pumpkin-protocol/src/java/server/play/container_button_click.rs diff --git a/pumpkin-protocol/src/java/server/play/cookie_response.rs b/crates/pumpkin-protocol/src/java/server/play/cookie_response.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/cookie_response.rs rename to crates/pumpkin-protocol/src/java/server/play/cookie_response.rs diff --git a/pumpkin-protocol/src/java/server/play/custom_click_action.rs b/crates/pumpkin-protocol/src/java/server/play/custom_click_action.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/custom_click_action.rs rename to crates/pumpkin-protocol/src/java/server/play/custom_click_action.rs diff --git a/pumpkin-protocol/src/java/server/play/custom_payload.rs b/crates/pumpkin-protocol/src/java/server/play/custom_payload.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/custom_payload.rs rename to crates/pumpkin-protocol/src/java/server/play/custom_payload.rs diff --git a/pumpkin-protocol/src/java/server/play/debug_sample_subscription.rs b/crates/pumpkin-protocol/src/java/server/play/debug_sample_subscription.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/debug_sample_subscription.rs rename to crates/pumpkin-protocol/src/java/server/play/debug_sample_subscription.rs diff --git a/pumpkin-protocol/src/java/server/play/debug_subscription_request.rs b/crates/pumpkin-protocol/src/java/server/play/debug_subscription_request.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/debug_subscription_request.rs rename to crates/pumpkin-protocol/src/java/server/play/debug_subscription_request.rs diff --git a/pumpkin-protocol/src/java/server/play/interact.rs b/crates/pumpkin-protocol/src/java/server/play/interact.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/interact.rs rename to crates/pumpkin-protocol/src/java/server/play/interact.rs diff --git a/pumpkin-protocol/src/java/server/play/jigsaw_generate.rs b/crates/pumpkin-protocol/src/java/server/play/jigsaw_generate.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/jigsaw_generate.rs rename to crates/pumpkin-protocol/src/java/server/play/jigsaw_generate.rs diff --git a/pumpkin-protocol/src/java/server/play/keep_alive.rs b/crates/pumpkin-protocol/src/java/server/play/keep_alive.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/keep_alive.rs rename to crates/pumpkin-protocol/src/java/server/play/keep_alive.rs diff --git a/pumpkin-protocol/src/java/server/play/mod.rs b/crates/pumpkin-protocol/src/java/server/play/mod.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/mod.rs rename to crates/pumpkin-protocol/src/java/server/play/mod.rs diff --git a/pumpkin-protocol/src/java/server/play/move_vehicle.rs b/crates/pumpkin-protocol/src/java/server/play/move_vehicle.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/move_vehicle.rs rename to crates/pumpkin-protocol/src/java/server/play/move_vehicle.rs diff --git a/pumpkin-protocol/src/java/server/play/paddle_boat.rs b/crates/pumpkin-protocol/src/java/server/play/paddle_boat.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/paddle_boat.rs rename to crates/pumpkin-protocol/src/java/server/play/paddle_boat.rs diff --git a/pumpkin-protocol/src/java/server/play/pick_item.rs b/crates/pumpkin-protocol/src/java/server/play/pick_item.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/pick_item.rs rename to crates/pumpkin-protocol/src/java/server/play/pick_item.rs diff --git a/pumpkin-protocol/src/java/server/play/ping_request.rs b/crates/pumpkin-protocol/src/java/server/play/ping_request.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/ping_request.rs rename to crates/pumpkin-protocol/src/java/server/play/ping_request.rs diff --git a/pumpkin-protocol/src/java/server/play/place_recipe.rs b/crates/pumpkin-protocol/src/java/server/play/place_recipe.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/place_recipe.rs rename to crates/pumpkin-protocol/src/java/server/play/place_recipe.rs diff --git a/pumpkin-protocol/src/java/server/play/player_abilities.rs b/crates/pumpkin-protocol/src/java/server/play/player_abilities.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/player_abilities.rs rename to crates/pumpkin-protocol/src/java/server/play/player_abilities.rs diff --git a/pumpkin-protocol/src/java/server/play/player_action.rs b/crates/pumpkin-protocol/src/java/server/play/player_action.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/player_action.rs rename to crates/pumpkin-protocol/src/java/server/play/player_action.rs diff --git a/pumpkin-protocol/src/java/server/play/player_command.rs b/crates/pumpkin-protocol/src/java/server/play/player_command.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/player_command.rs rename to crates/pumpkin-protocol/src/java/server/play/player_command.rs diff --git a/pumpkin-protocol/src/java/server/play/player_ground.rs b/crates/pumpkin-protocol/src/java/server/play/player_ground.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/player_ground.rs rename to crates/pumpkin-protocol/src/java/server/play/player_ground.rs diff --git a/pumpkin-protocol/src/java/server/play/player_input.rs b/crates/pumpkin-protocol/src/java/server/play/player_input.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/player_input.rs rename to crates/pumpkin-protocol/src/java/server/play/player_input.rs diff --git a/pumpkin-protocol/src/java/server/play/player_loaded.rs b/crates/pumpkin-protocol/src/java/server/play/player_loaded.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/player_loaded.rs rename to crates/pumpkin-protocol/src/java/server/play/player_loaded.rs diff --git a/pumpkin-protocol/src/java/server/play/player_position.rs b/crates/pumpkin-protocol/src/java/server/play/player_position.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/player_position.rs rename to crates/pumpkin-protocol/src/java/server/play/player_position.rs diff --git a/pumpkin-protocol/src/java/server/play/player_position_rotation.rs b/crates/pumpkin-protocol/src/java/server/play/player_position_rotation.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/player_position_rotation.rs rename to crates/pumpkin-protocol/src/java/server/play/player_position_rotation.rs diff --git a/pumpkin-protocol/src/java/server/play/player_rotation.rs b/crates/pumpkin-protocol/src/java/server/play/player_rotation.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/player_rotation.rs rename to crates/pumpkin-protocol/src/java/server/play/player_rotation.rs diff --git a/pumpkin-protocol/src/java/server/play/player_session.rs b/crates/pumpkin-protocol/src/java/server/play/player_session.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/player_session.rs rename to crates/pumpkin-protocol/src/java/server/play/player_session.rs diff --git a/pumpkin-protocol/src/java/server/play/recipe_book_change_settings.rs b/crates/pumpkin-protocol/src/java/server/play/recipe_book_change_settings.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/recipe_book_change_settings.rs rename to crates/pumpkin-protocol/src/java/server/play/recipe_book_change_settings.rs diff --git a/pumpkin-protocol/src/java/server/play/recipe_book_seen_recipe.rs b/crates/pumpkin-protocol/src/java/server/play/recipe_book_seen_recipe.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/recipe_book_seen_recipe.rs rename to crates/pumpkin-protocol/src/java/server/play/recipe_book_seen_recipe.rs diff --git a/pumpkin-protocol/src/java/server/play/rename_item.rs b/crates/pumpkin-protocol/src/java/server/play/rename_item.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/rename_item.rs rename to crates/pumpkin-protocol/src/java/server/play/rename_item.rs diff --git a/pumpkin-protocol/src/java/server/play/seen_advancement.rs b/crates/pumpkin-protocol/src/java/server/play/seen_advancement.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/seen_advancement.rs rename to crates/pumpkin-protocol/src/java/server/play/seen_advancement.rs diff --git a/pumpkin-protocol/src/java/server/play/select_trade.rs b/crates/pumpkin-protocol/src/java/server/play/select_trade.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/select_trade.rs rename to crates/pumpkin-protocol/src/java/server/play/select_trade.rs diff --git a/pumpkin-protocol/src/java/server/play/set_beacon.rs b/crates/pumpkin-protocol/src/java/server/play/set_beacon.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/set_beacon.rs rename to crates/pumpkin-protocol/src/java/server/play/set_beacon.rs diff --git a/pumpkin-protocol/src/java/server/play/set_command_block.rs b/crates/pumpkin-protocol/src/java/server/play/set_command_block.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/set_command_block.rs rename to crates/pumpkin-protocol/src/java/server/play/set_command_block.rs diff --git a/pumpkin-protocol/src/java/server/play/set_creative_slot.rs b/crates/pumpkin-protocol/src/java/server/play/set_creative_slot.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/set_creative_slot.rs rename to crates/pumpkin-protocol/src/java/server/play/set_creative_slot.rs diff --git a/pumpkin-protocol/src/java/server/play/set_held_item.rs b/crates/pumpkin-protocol/src/java/server/play/set_held_item.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/set_held_item.rs rename to crates/pumpkin-protocol/src/java/server/play/set_held_item.rs diff --git a/pumpkin-protocol/src/java/server/play/set_jigsaw_block.rs b/crates/pumpkin-protocol/src/java/server/play/set_jigsaw_block.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/set_jigsaw_block.rs rename to crates/pumpkin-protocol/src/java/server/play/set_jigsaw_block.rs diff --git a/pumpkin-protocol/src/java/server/play/set_test_block.rs b/crates/pumpkin-protocol/src/java/server/play/set_test_block.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/set_test_block.rs rename to crates/pumpkin-protocol/src/java/server/play/set_test_block.rs diff --git a/pumpkin-protocol/src/java/server/play/swing_arm.rs b/crates/pumpkin-protocol/src/java/server/play/swing_arm.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/swing_arm.rs rename to crates/pumpkin-protocol/src/java/server/play/swing_arm.rs diff --git a/pumpkin-protocol/src/java/server/play/teleport_to_entity.rs b/crates/pumpkin-protocol/src/java/server/play/teleport_to_entity.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/teleport_to_entity.rs rename to crates/pumpkin-protocol/src/java/server/play/teleport_to_entity.rs diff --git a/pumpkin-protocol/src/java/server/play/test_instance_block_action.rs b/crates/pumpkin-protocol/src/java/server/play/test_instance_block_action.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/test_instance_block_action.rs rename to crates/pumpkin-protocol/src/java/server/play/test_instance_block_action.rs diff --git a/pumpkin-protocol/src/java/server/play/update_sign.rs b/crates/pumpkin-protocol/src/java/server/play/update_sign.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/update_sign.rs rename to crates/pumpkin-protocol/src/java/server/play/update_sign.rs diff --git a/pumpkin-protocol/src/java/server/play/use_item.rs b/crates/pumpkin-protocol/src/java/server/play/use_item.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/use_item.rs rename to crates/pumpkin-protocol/src/java/server/play/use_item.rs diff --git a/pumpkin-protocol/src/java/server/play/use_item_on.rs b/crates/pumpkin-protocol/src/java/server/play/use_item_on.rs similarity index 100% rename from pumpkin-protocol/src/java/server/play/use_item_on.rs rename to crates/pumpkin-protocol/src/java/server/play/use_item_on.rs diff --git a/pumpkin-protocol/src/java/server/status/mod.rs b/crates/pumpkin-protocol/src/java/server/status/mod.rs similarity index 100% rename from pumpkin-protocol/src/java/server/status/mod.rs rename to crates/pumpkin-protocol/src/java/server/status/mod.rs diff --git a/pumpkin-protocol/src/java/server/status/ping_request.rs b/crates/pumpkin-protocol/src/java/server/status/ping_request.rs similarity index 100% rename from pumpkin-protocol/src/java/server/status/ping_request.rs rename to crates/pumpkin-protocol/src/java/server/status/ping_request.rs diff --git a/pumpkin-protocol/src/java/server/status/status_request.rs b/crates/pumpkin-protocol/src/java/server/status/status_request.rs similarity index 100% rename from pumpkin-protocol/src/java/server/status/status_request.rs rename to crates/pumpkin-protocol/src/java/server/status/status_request.rs diff --git a/pumpkin-protocol/src/lib.rs b/crates/pumpkin-protocol/src/lib.rs similarity index 100% rename from pumpkin-protocol/src/lib.rs rename to crates/pumpkin-protocol/src/lib.rs diff --git a/pumpkin-protocol/src/packet.rs b/crates/pumpkin-protocol/src/packet.rs similarity index 100% rename from pumpkin-protocol/src/packet.rs rename to crates/pumpkin-protocol/src/packet.rs diff --git a/pumpkin-protocol/src/query.rs b/crates/pumpkin-protocol/src/query.rs similarity index 100% rename from pumpkin-protocol/src/query.rs rename to crates/pumpkin-protocol/src/query.rs diff --git a/pumpkin-protocol/src/ser/mod.rs b/crates/pumpkin-protocol/src/ser/mod.rs similarity index 100% rename from pumpkin-protocol/src/ser/mod.rs rename to crates/pumpkin-protocol/src/ser/mod.rs diff --git a/pumpkin-protocol/src/serial/deserializer.rs b/crates/pumpkin-protocol/src/serial/deserializer.rs similarity index 90% rename from pumpkin-protocol/src/serial/deserializer.rs rename to crates/pumpkin-protocol/src/serial/deserializer.rs index f92282876..da0f0268b 100644 --- a/pumpkin-protocol/src/serial/deserializer.rs +++ b/crates/pumpkin-protocol/src/serial/deserializer.rs @@ -125,12 +125,26 @@ impl PacketRead for f64 { impl PacketRead for [T; N] { fn read(reader: &mut R) -> Result { - #[expect(clippy::uninit_assumed_init)] - let mut buf: [T; N] = unsafe { std::mem::MaybeUninit::uninit().assume_init() }; - for i in &mut buf { - *i = T::read(reader)?; + let mut buf: [std::mem::MaybeUninit; N] = + std::array::from_fn(|_| std::mem::MaybeUninit::uninit()); + for i in 0..N { + match T::read(reader) { + Ok(val) => { + buf[i].write(val); + } + Err(err) => { + for elem in &mut buf[..i] { + // SAFETY: Only elements 0..i were initialized in previous iterations and need to be dropped on error. + unsafe { + elem.assume_init_drop(); + } + } + return Err(err); + } + } } - Ok(buf) + // SAFETY: All N elements were successfully initialized in the loop above. + Ok(buf.map(|elem| unsafe { elem.assume_init() })) } } @@ -156,18 +170,18 @@ impl PacketRead for String { } impl PacketRead for Vec { - #[expect(clippy::read_zero_byte_vec)] fn read(reader: &mut R) -> Result { - #[expect(clippy::uninit_vec)] - { - let len = VarUInt::read(reader)?.0 as _; - let mut buf = Self::with_capacity(len); - unsafe { - buf.set_len(len); - }; - reader.read_exact(&mut buf)?; - Ok(buf) + const MAX_VECTOR_BYTES: usize = 2 * 1024 * 1024; // 2 MB safety cap + let len = VarUInt::read(reader)?.0 as usize; + if len > MAX_VECTOR_BYTES { + return Err(Error::new( + ErrorKind::InvalidData, + format!("Byte vector length {len} exceeds maximum limit of {MAX_VECTOR_BYTES}"), + )); } + let mut buf = vec![0u8; len]; + reader.read_exact(&mut buf)?; + Ok(buf) } } diff --git a/pumpkin-protocol/src/serial/mod.rs b/crates/pumpkin-protocol/src/serial/mod.rs similarity index 100% rename from pumpkin-protocol/src/serial/mod.rs rename to crates/pumpkin-protocol/src/serial/mod.rs diff --git a/pumpkin-protocol/src/serial/serializer.rs b/crates/pumpkin-protocol/src/serial/serializer.rs similarity index 98% rename from pumpkin-protocol/src/serial/serializer.rs rename to crates/pumpkin-protocol/src/serial/serializer.rs index d6ad9bd61..f53f803c3 100644 --- a/pumpkin-protocol/src/serial/serializer.rs +++ b/crates/pumpkin-protocol/src/serial/serializer.rs @@ -119,14 +119,14 @@ impl PacketWrite for Vec { impl PacketWrite for String { fn write(&self, writer: &mut W) -> Result<(), Error> { - VarUInt(self.len() as _).write(writer)?; + VarUInt(self.len() as u32).write(writer)?; writer.write_all(self.as_bytes()) } } impl PacketWrite for str { fn write(&self, writer: &mut W) -> Result<(), Error> { - VarUInt(self.len() as _).write(writer)?; + VarUInt(self.len() as u32).write(writer)?; writer.write_all(self.as_bytes()) } } diff --git a/pumpkin-util/Cargo.toml b/crates/pumpkin-util/Cargo.toml similarity index 100% rename from pumpkin-util/Cargo.toml rename to crates/pumpkin-util/Cargo.toml diff --git a/pumpkin-util/assets/perlin2_7_4.json b/crates/pumpkin-util/assets/perlin2_7_4.json similarity index 100% rename from pumpkin-util/assets/perlin2_7_4.json rename to crates/pumpkin-util/assets/perlin2_7_4.json diff --git a/pumpkin-util/assets/perlin_7_4.json b/crates/pumpkin-util/assets/perlin_7_4.json similarity index 100% rename from pumpkin-util/assets/perlin_7_4.json rename to crates/pumpkin-util/assets/perlin_7_4.json diff --git a/pumpkin-util/assets/perlin_map.json b/crates/pumpkin-util/assets/perlin_map.json similarity index 100% rename from pumpkin-util/assets/perlin_map.json rename to crates/pumpkin-util/assets/perlin_map.json diff --git a/pumpkin-util/src/biome.rs b/crates/pumpkin-util/src/biome.rs similarity index 100% rename from pumpkin-util/src/biome.rs rename to crates/pumpkin-util/src/biome.rs diff --git a/pumpkin-util/src/chest_loot_table.rs b/crates/pumpkin-util/src/chest_loot_table.rs similarity index 100% rename from pumpkin-util/src/chest_loot_table.rs rename to crates/pumpkin-util/src/chest_loot_table.rs diff --git a/pumpkin-util/src/difficulty.rs b/crates/pumpkin-util/src/difficulty.rs similarity index 100% rename from pumpkin-util/src/difficulty.rs rename to crates/pumpkin-util/src/difficulty.rs diff --git a/pumpkin-util/src/gamemode.rs b/crates/pumpkin-util/src/gamemode.rs similarity index 100% rename from pumpkin-util/src/gamemode.rs rename to crates/pumpkin-util/src/gamemode.rs diff --git a/pumpkin-util/src/identifier.rs b/crates/pumpkin-util/src/identifier.rs similarity index 97% rename from pumpkin-util/src/identifier.rs rename to crates/pumpkin-util/src/identifier.rs index 66f42229e..a2efca105 100644 --- a/pumpkin-util/src/identifier.rs +++ b/crates/pumpkin-util/src/identifier.rs @@ -4,7 +4,9 @@ use pumpkin_codecs::{DataResult, FlatTryFrom, comap_flat_map_codec_impl}; use serde::{Deserialize, Serialize}; use thiserror::Error; +/// Default Minecraft namespace string (`"minecraft"`). pub const VANILLA_NAMESPACE: &str = "minecraft"; +/// Pumpkin server namespace string (`"pumpkin"`). pub const PUMPKIN_NAMESPACE: &str = "pumpkin"; /// An immutable structure that identifies a particular resource, @@ -39,9 +41,11 @@ pub struct Identifier { /// trying to create/parse an identifier. #[derive(Clone, Debug, Error)] pub enum IdentifierError { + /// Namespace contained an invalid character. #[error("Invalid character in namespace of identifier: {0}")] InvalidNamespace(Identifier), + /// Path contained an invalid character. #[error("Invalid character in path of identifier: {0}")] InvalidPath(Identifier), } @@ -162,6 +166,7 @@ impl Identifier { /// - the subslice `bytes[start..end]` is valid UTF-8. #[must_use] const unsafe fn slice_bytes_to_str_unchecked(bytes: &[u8], start: usize, end: usize) -> &str { + // SAFETY: Guaranteed by safety preconditions of `slice_bytes_to_str_unchecked`: `start..end` is within bounds and falls on valid UTF-8 boundaries. unsafe { core::str::from_utf8_unchecked(core::slice::from_raw_parts( bytes.as_ptr().add(start), diff --git a/pumpkin-util/src/jwt/mod.rs b/crates/pumpkin-util/src/jwt/mod.rs similarity index 93% rename from pumpkin-util/src/jwt/mod.rs rename to crates/pumpkin-util/src/jwt/mod.rs index 7b198bdf5..0338bd233 100644 --- a/pumpkin-util/src/jwt/mod.rs +++ b/crates/pumpkin-util/src/jwt/mod.rs @@ -135,26 +135,38 @@ pub fn decode_header_get_x5u(header_b64: &str) -> Result { Err(AuthError::MissingX5U) } +/// JSON Web Key Set containing a vector of JWK public keys. #[derive(Debug, Deserialize)] pub struct Jwks { + /// Vector of public keys. pub keys: Vec, } +/// JSON Web Key representing an EC or RSA public key. #[derive(Debug, Deserialize, Clone)] pub struct Jwk { + /// Key type (`"EC"` or `"RSA"`). pub kty: String, + /// Optional algorithm specifier. #[serde(default)] pub alg: Option, + /// Optional curve type (e.g. `"P-384"`). #[serde(default)] pub crv: Option, + /// Optional X coordinate for EC key. pub x: Option, + /// Optional Y coordinate for EC key. pub y: Option, + /// Optional RSA modulus. pub n: Option, + /// Optional RSA exponent. pub e: Option, + /// Key ID matching the JWT header `kid`. pub kid: String, } impl Jwk { + /// Converts this JWK into an Elliptic Curve `PublicKey`. pub fn to_ec_public_key(&self) -> Result { if self.kty != "EC" { return Err(AuthError::PublicKeyBuild(format!( @@ -195,6 +207,7 @@ impl Jwk { PublicKey::from_sec1_bytes(&sec1).map_err(|e| AuthError::PublicKeyBuild(e.to_string())) } + /// Converts this JWK into an RSA `RsaPublicKey`. pub fn to_rsa_public_key(&self) -> Result { if self.kty != "RSA" { return Err(AuthError::PublicKeyBuild(format!( @@ -222,11 +235,15 @@ impl Jwk { } } +/// Default expected issuer for Minecraft OIDC authentication tokens. pub const OIDC_ISSUER: &str = "https://identity.minecraft-services.net"; +/// Default expected audience for Minecraft OIDC authentication tokens. pub const OIDC_AUDIENCE: &str = "api://auth-minecraft-services/multiplayer"; +/// Discovery endpoint URL for Minecraft Bedrock OIDC JWKS keys. pub const OIDC_DISCOVERY_URL: &str = "https://client.discovery.minecraft-services.net/api/v1.0/discovery/MinecraftPE/builds/1.0.0.0"; +/// Fetches the OIDC JSON Web Key Set (JWKS) from the discovery endpoint. pub fn fetch_oidc_jwks( discovery_url: Option<&str>, connect_timeout_ms: u32, @@ -300,6 +317,7 @@ pub fn fetch_oidc_jwks( Ok((issuer, jwks)) } +/// Verifies an OIDC token against a provided JWKS key set and expected issuer. pub fn verify_oidc_token( token: &str, expected_issuer: &str, @@ -347,6 +365,7 @@ pub fn verify_oidc_token( Ok(extract_oidc_player_claims(&v)) } +/// Verifies a self-signed OIDC token. pub fn verify_oidc_token_self_signed(token: &str) -> Result { let mut parts = token.split('.'); let header_b64 = parts.next().ok_or(AuthError::InvalidTokenFormat)?; @@ -464,6 +483,7 @@ fn verify_oidc_claims(payload: &Value, expected_issuer: Option<&str>) -> Result< Ok(()) } +/// Extracts `PlayerClaims` from an unverified OIDC token payload. pub fn extract_oidc_token_player_claims(token: &str) -> Result { let mut parts = token.split('.'); parts.next().ok_or(AuthError::InvalidTokenFormat)?; @@ -522,6 +542,7 @@ fn xuid_to_uuid(xuid: &str) -> String { uuid::Uuid::from_bytes(bytes).to_string() } +/// Extracts the client public key (cpk) from an OIDC token payload. pub fn extract_cpk_from_token(token: &str) -> Result { let mut parts = token.split('.'); parts.next().ok_or(AuthError::InvalidTokenFormat)?; @@ -538,6 +559,7 @@ pub fn extract_cpk_from_token(token: &str) -> Result { build_public_key_from_b64(cpk_b64) } +/// Generates a signed Bedrock handshake JWT containing the server's public key and salt. pub fn generate_handshake_jwt( signing_key: &p384::ecdsa::SigningKey, salt: &[u8], @@ -573,6 +595,7 @@ pub fn generate_handshake_jwt( Ok(format!("{signing_input}.{signature_b64}")) } +/// Computes an ECDH shared secret using the server's P-384 signing key and the client's public key. #[must_use] pub fn compute_shared_secret( signing_key: &p384::ecdsa::SigningKey, diff --git a/pumpkin-util/src/lib.rs b/crates/pumpkin-util/src/lib.rs similarity index 100% rename from pumpkin-util/src/lib.rs rename to crates/pumpkin-util/src/lib.rs diff --git a/pumpkin-util/src/loot_table.rs b/crates/pumpkin-util/src/loot_table.rs similarity index 100% rename from pumpkin-util/src/loot_table.rs rename to crates/pumpkin-util/src/loot_table.rs diff --git a/pumpkin-util/src/math/atomic_f32.rs b/crates/pumpkin-util/src/math/atomic_f32.rs similarity index 100% rename from pumpkin-util/src/math/atomic_f32.rs rename to crates/pumpkin-util/src/math/atomic_f32.rs diff --git a/pumpkin-util/src/math/bit_storage.rs b/crates/pumpkin-util/src/math/bit_storage.rs similarity index 100% rename from pumpkin-util/src/math/bit_storage.rs rename to crates/pumpkin-util/src/math/bit_storage.rs diff --git a/pumpkin-util/src/math/block_box.rs b/crates/pumpkin-util/src/math/block_box.rs similarity index 100% rename from pumpkin-util/src/math/block_box.rs rename to crates/pumpkin-util/src/math/block_box.rs diff --git a/pumpkin-util/src/math/boundingbox.rs b/crates/pumpkin-util/src/math/boundingbox.rs similarity index 100% rename from pumpkin-util/src/math/boundingbox.rs rename to crates/pumpkin-util/src/math/boundingbox.rs diff --git a/pumpkin-util/src/math/bounds.rs b/crates/pumpkin-util/src/math/bounds.rs similarity index 100% rename from pumpkin-util/src/math/bounds.rs rename to crates/pumpkin-util/src/math/bounds.rs diff --git a/pumpkin-util/src/math/euler_angle.rs b/crates/pumpkin-util/src/math/euler_angle.rs similarity index 100% rename from pumpkin-util/src/math/euler_angle.rs rename to crates/pumpkin-util/src/math/euler_angle.rs diff --git a/pumpkin-util/src/math/experience.rs b/crates/pumpkin-util/src/math/experience.rs similarity index 100% rename from pumpkin-util/src/math/experience.rs rename to crates/pumpkin-util/src/math/experience.rs diff --git a/pumpkin-util/src/math/float_provider.rs b/crates/pumpkin-util/src/math/float_provider.rs similarity index 100% rename from pumpkin-util/src/math/float_provider.rs rename to crates/pumpkin-util/src/math/float_provider.rs diff --git a/pumpkin-util/src/math/int_provider.rs b/crates/pumpkin-util/src/math/int_provider.rs similarity index 100% rename from pumpkin-util/src/math/int_provider.rs rename to crates/pumpkin-util/src/math/int_provider.rs diff --git a/pumpkin-util/src/math/mod.rs b/crates/pumpkin-util/src/math/mod.rs similarity index 100% rename from pumpkin-util/src/math/mod.rs rename to crates/pumpkin-util/src/math/mod.rs diff --git a/pumpkin-util/src/math/pool.rs b/crates/pumpkin-util/src/math/pool.rs similarity index 100% rename from pumpkin-util/src/math/pool.rs rename to crates/pumpkin-util/src/math/pool.rs diff --git a/pumpkin-util/src/math/position.rs b/crates/pumpkin-util/src/math/position.rs similarity index 100% rename from pumpkin-util/src/math/position.rs rename to crates/pumpkin-util/src/math/position.rs diff --git a/pumpkin-util/src/math/vector2.rs b/crates/pumpkin-util/src/math/vector2.rs similarity index 100% rename from pumpkin-util/src/math/vector2.rs rename to crates/pumpkin-util/src/math/vector2.rs diff --git a/pumpkin-util/src/math/vector3.rs b/crates/pumpkin-util/src/math/vector3.rs similarity index 100% rename from pumpkin-util/src/math/vector3.rs rename to crates/pumpkin-util/src/math/vector3.rs diff --git a/pumpkin-util/src/math/vertical_surface_type.rs b/crates/pumpkin-util/src/math/vertical_surface_type.rs similarity index 100% rename from pumpkin-util/src/math/vertical_surface_type.rs rename to crates/pumpkin-util/src/math/vertical_surface_type.rs diff --git a/pumpkin-util/src/noise/mod.rs b/crates/pumpkin-util/src/noise/mod.rs similarity index 100% rename from pumpkin-util/src/noise/mod.rs rename to crates/pumpkin-util/src/noise/mod.rs diff --git a/pumpkin-util/src/noise/perlin.rs b/crates/pumpkin-util/src/noise/perlin.rs similarity index 100% rename from pumpkin-util/src/noise/perlin.rs rename to crates/pumpkin-util/src/noise/perlin.rs diff --git a/pumpkin-util/src/noise/simplex.rs b/crates/pumpkin-util/src/noise/simplex.rs similarity index 100% rename from pumpkin-util/src/noise/simplex.rs rename to crates/pumpkin-util/src/noise/simplex.rs diff --git a/pumpkin-util/src/permission.rs b/crates/pumpkin-util/src/permission.rs similarity index 98% rename from pumpkin-util/src/permission.rs rename to crates/pumpkin-util/src/permission.rs index 8a5393fe3..b1203924a 100644 --- a/pumpkin-util/src/permission.rs +++ b/crates/pumpkin-util/src/permission.rs @@ -227,10 +227,11 @@ impl PermissionManager { /// # Returns /// An `Arc>` representing the player's attachment. pub fn get_attachment(&mut self, player_id: uuid::Uuid) -> Arc> { - self.attachments - .entry(player_id) - .or_insert_with(|| Arc::new(RwLock::new(PermissionAttachment::new()))) - .clone() + Arc::clone( + self.attachments + .entry(player_id) + .or_insert_with(|| Arc::new(RwLock::new(PermissionAttachment::new()))), + ) } /// Removes the `PermissionAttachment` for a given player. diff --git a/pumpkin-util/src/random/gaussian.rs b/crates/pumpkin-util/src/random/gaussian.rs similarity index 100% rename from pumpkin-util/src/random/gaussian.rs rename to crates/pumpkin-util/src/random/gaussian.rs diff --git a/pumpkin-util/src/random/legacy_rand.rs b/crates/pumpkin-util/src/random/legacy_rand.rs similarity index 100% rename from pumpkin-util/src/random/legacy_rand.rs rename to crates/pumpkin-util/src/random/legacy_rand.rs diff --git a/pumpkin-util/src/random/mod.rs b/crates/pumpkin-util/src/random/mod.rs similarity index 100% rename from pumpkin-util/src/random/mod.rs rename to crates/pumpkin-util/src/random/mod.rs diff --git a/pumpkin-util/src/random/xoroshiro128.rs b/crates/pumpkin-util/src/random/xoroshiro128.rs similarity index 100% rename from pumpkin-util/src/random/xoroshiro128.rs rename to crates/pumpkin-util/src/random/xoroshiro128.rs diff --git a/pumpkin-util/src/registry.rs b/crates/pumpkin-util/src/registry.rs similarity index 100% rename from pumpkin-util/src/registry.rs rename to crates/pumpkin-util/src/registry.rs diff --git a/pumpkin-util/src/resource_key.rs b/crates/pumpkin-util/src/resource_key.rs similarity index 63% rename from pumpkin-util/src/resource_key.rs rename to crates/pumpkin-util/src/resource_key.rs index 47c379db5..b1b9ec424 100644 --- a/pumpkin-util/src/resource_key.rs +++ b/crates/pumpkin-util/src/resource_key.rs @@ -1,12 +1,15 @@ use crate::identifier::Identifier; +/// A registry-scoped resource key identifying an element within a specific registry. #[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord)] pub struct ResourceKey { registry_name: Identifier, + /// The unique identifier of the resource. pub identifier: Identifier, } impl ResourceKey { + /// Creates a new `ResourceKey` associated with a specific registry name. #[must_use] pub const fn new(registry_name: Identifier, identifier: Identifier) -> Self { Self { @@ -15,6 +18,7 @@ impl ResourceKey { } } + /// Casts the resource key if its registry name matches the provided registry identifier. #[must_use] pub fn cast(&self, registry: &Identifier) -> Option<&Self> { (self.registry_name == *registry).then_some(self) diff --git a/pumpkin-util/src/resource_location.rs b/crates/pumpkin-util/src/resource_location.rs similarity index 100% rename from pumpkin-util/src/resource_location.rs rename to crates/pumpkin-util/src/resource_location.rs diff --git a/pumpkin-util/src/serde_enum_as_integer.rs b/crates/pumpkin-util/src/serde_enum_as_integer.rs similarity index 100% rename from pumpkin-util/src/serde_enum_as_integer.rs rename to crates/pumpkin-util/src/serde_enum_as_integer.rs diff --git a/pumpkin-util/src/text/click.rs b/crates/pumpkin-util/src/text/click.rs similarity index 100% rename from pumpkin-util/src/text/click.rs rename to crates/pumpkin-util/src/text/click.rs diff --git a/pumpkin-util/src/text/color.rs b/crates/pumpkin-util/src/text/color.rs similarity index 100% rename from pumpkin-util/src/text/color.rs rename to crates/pumpkin-util/src/text/color.rs diff --git a/pumpkin-util/src/text/hover.rs b/crates/pumpkin-util/src/text/hover.rs similarity index 100% rename from pumpkin-util/src/text/hover.rs rename to crates/pumpkin-util/src/text/hover.rs diff --git a/pumpkin-util/src/text/legacy.rs b/crates/pumpkin-util/src/text/legacy.rs similarity index 100% rename from pumpkin-util/src/text/legacy.rs rename to crates/pumpkin-util/src/text/legacy.rs diff --git a/pumpkin-util/src/text/mod.rs b/crates/pumpkin-util/src/text/mod.rs similarity index 100% rename from pumpkin-util/src/text/mod.rs rename to crates/pumpkin-util/src/text/mod.rs diff --git a/pumpkin-util/src/text/style.rs b/crates/pumpkin-util/src/text/style.rs similarity index 100% rename from pumpkin-util/src/text/style.rs rename to crates/pumpkin-util/src/text/style.rs diff --git a/pumpkin-util/src/translation.rs b/crates/pumpkin-util/src/translation.rs similarity index 91% rename from pumpkin-util/src/translation.rs rename to crates/pumpkin-util/src/translation.rs index 57fa26a9a..07007748c 100644 --- a/pumpkin-util/src/translation.rs +++ b/crates/pumpkin-util/src/translation.rs @@ -14,33 +14,33 @@ use std::{ /// - Try to optimize code of '`to_translated`' use crate::text::{TextComponentBase, TextContent, style::Style}; -static VANILLA_EN_US_JSON: &str = include_str!("../../assets/en_us_java.json"); -static PUMPKIN_EN_US_JSON: &str = include_str!("../../assets/translations/en_us.json"); -static PUMPKIN_BRB_JSON: &str = include_str!("../../assets/translations/brb.json"); -static PUMPKIN_DE_DE_JSON: &str = include_str!("../../assets/translations/de_de.json"); -static PUMPKIN_ES_ES_JSON: &str = include_str!("../../assets/translations/es_es.json"); -static PUMPKIN_FR_FR_JSON: &str = include_str!("../../assets/translations/fr_fr.json"); -static PUMPKIN_HR_HR_JSON: &str = include_str!("../../assets/translations/hr_hr.json"); -static PUMPKING_IT_IT_JSON: &str = include_str!("../../assets/translations/it_it.json"); -static PUMPKIN_JA_JP_JSON: &str = include_str!("../../assets/translations/ja_jp.json"); -static PUMPKIN_KA_GE_JSON: &str = include_str!("../../assets/translations/ka_ge.json"); -static PUMPKIN_KO_KR_JSON: &str = include_str!("../../assets/translations/ko_kr.json"); -static PUMPKIN_NDS_DE_JSON: &str = include_str!("../../assets/translations/nds_de.json"); -static PUMPKIN_NL_BE_JSON: &str = include_str!("../../assets/translations/nl_be.json"); -static PUMPKIN_NL_NL_JSON: &str = include_str!("../../assets/translations/nl_nl.json"); -static PUMPKIN_RO_RO_JSON: &str = include_str!("../../assets/translations/ro_ro.json"); -static PUMPKIN_RU_RU_JSON: &str = include_str!("../../assets/translations/ru_ru.json"); -static PUMPKIN_SQ_AL_JSON: &str = include_str!("../../assets/translations/sq_al.json"); -static PUMPKIN_ZH_CN_JSON: &str = include_str!("../../assets/translations/zh_cn.json"); -static PUMPKIN_ZH_HK_JSON: &str = include_str!("../../assets/translations/zh_hk.json"); -static PUMPKIN_ZH_TW_JSON: &str = include_str!("../../assets/translations/zh_tw.json"); -static PUMPKIN_LZH_JSON: &str = include_str!("../../assets/translations/lzh.json"); -static PUMPKIN_TR_TR_JSON: &str = include_str!("../../assets/translations/tr_tr.json"); -static PUMPKIN_UK_UA_JSON: &str = include_str!("../../assets/translations/uk_ua.json"); -static PUMPKIN_VI_VN_JSON: &str = include_str!("../../assets/translations/vi_vn.json"); -static PUMPKIN_PT_BR_JSON: &str = include_str!("../../assets/translations/pt_br.json"); -static PUMPKIN_PL_PL_JSON: &str = include_str!("../../assets/translations/pl_pl.json"); -static BEDROCK_EN_US_LANG: &str = include_str!("../../assets/en_us_bedrock.lang"); +static VANILLA_EN_US_JSON: &str = include_str!("../../../assets/en_us_java.json"); +static PUMPKIN_EN_US_JSON: &str = include_str!("../../../assets/translations/en_us.json"); +static PUMPKIN_BRB_JSON: &str = include_str!("../../../assets/translations/brb.json"); +static PUMPKIN_DE_DE_JSON: &str = include_str!("../../../assets/translations/de_de.json"); +static PUMPKIN_ES_ES_JSON: &str = include_str!("../../../assets/translations/es_es.json"); +static PUMPKIN_FR_FR_JSON: &str = include_str!("../../../assets/translations/fr_fr.json"); +static PUMPKIN_HR_HR_JSON: &str = include_str!("../../../assets/translations/hr_hr.json"); +static PUMPKING_IT_IT_JSON: &str = include_str!("../../../assets/translations/it_it.json"); +static PUMPKIN_JA_JP_JSON: &str = include_str!("../../../assets/translations/ja_jp.json"); +static PUMPKIN_KA_GE_JSON: &str = include_str!("../../../assets/translations/ka_ge.json"); +static PUMPKIN_KO_KR_JSON: &str = include_str!("../../../assets/translations/ko_kr.json"); +static PUMPKIN_NDS_DE_JSON: &str = include_str!("../../../assets/translations/nds_de.json"); +static PUMPKIN_NL_BE_JSON: &str = include_str!("../../../assets/translations/nl_be.json"); +static PUMPKIN_NL_NL_JSON: &str = include_str!("../../../assets/translations/nl_nl.json"); +static PUMPKIN_RO_RO_JSON: &str = include_str!("../../../assets/translations/ro_ro.json"); +static PUMPKIN_RU_RU_JSON: &str = include_str!("../../../assets/translations/ru_ru.json"); +static PUMPKIN_SQ_AL_JSON: &str = include_str!("../../../assets/translations/sq_al.json"); +static PUMPKIN_ZH_CN_JSON: &str = include_str!("../../../assets/translations/zh_cn.json"); +static PUMPKIN_ZH_HK_JSON: &str = include_str!("../../../assets/translations/zh_hk.json"); +static PUMPKIN_ZH_TW_JSON: &str = include_str!("../../../assets/translations/zh_tw.json"); +static PUMPKIN_LZH_JSON: &str = include_str!("../../../assets/translations/lzh.json"); +static PUMPKIN_TR_TR_JSON: &str = include_str!("../../../assets/translations/tr_tr.json"); +static PUMPKIN_UK_UA_JSON: &str = include_str!("../../../assets/translations/uk_ua.json"); +static PUMPKIN_VI_VN_JSON: &str = include_str!("../../../assets/translations/vi_vn.json"); +static PUMPKIN_PT_BR_JSON: &str = include_str!("../../../assets/translations/pt_br.json"); +static PUMPKIN_PL_PL_JSON: &str = include_str!("../../../assets/translations/pl_pl.json"); +static BEDROCK_EN_US_LANG: &str = include_str!("../../../assets/en_us_bedrock.lang"); /// A character range representing a substitution placeholder within a translation string. /// diff --git a/pumpkin-util/src/uuid.rs b/crates/pumpkin-util/src/uuid.rs similarity index 100% rename from pumpkin-util/src/uuid.rs rename to crates/pumpkin-util/src/uuid.rs diff --git a/pumpkin-util/src/version.rs b/crates/pumpkin-util/src/version.rs similarity index 100% rename from pumpkin-util/src/version.rs rename to crates/pumpkin-util/src/version.rs diff --git a/pumpkin-util/src/world_seed.rs b/crates/pumpkin-util/src/world_seed.rs similarity index 100% rename from pumpkin-util/src/world_seed.rs rename to crates/pumpkin-util/src/world_seed.rs diff --git a/pumpkin-util/src/y_offset.rs b/crates/pumpkin-util/src/y_offset.rs similarity index 100% rename from pumpkin-util/src/y_offset.rs rename to crates/pumpkin-util/src/y_offset.rs diff --git a/pumpkin-world/Cargo.toml b/crates/pumpkin-world/Cargo.toml similarity index 100% rename from pumpkin-world/Cargo.toml rename to crates/pumpkin-world/Cargo.toml diff --git a/pumpkin-world/assets/structures/ancient_city/city/entrance/entrance_connector.nbt b/crates/pumpkin-world/assets/structures/ancient_city/city/entrance/entrance_connector.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/city/entrance/entrance_connector.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/city/entrance/entrance_connector.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/city/entrance/entrance_path_1.nbt b/crates/pumpkin-world/assets/structures/ancient_city/city/entrance/entrance_path_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/city/entrance/entrance_path_1.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/city/entrance/entrance_path_1.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/city/entrance/entrance_path_2.nbt b/crates/pumpkin-world/assets/structures/ancient_city/city/entrance/entrance_path_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/city/entrance/entrance_path_2.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/city/entrance/entrance_path_2.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/city/entrance/entrance_path_3.nbt b/crates/pumpkin-world/assets/structures/ancient_city/city/entrance/entrance_path_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/city/entrance/entrance_path_3.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/city/entrance/entrance_path_3.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/city/entrance/entrance_path_4.nbt b/crates/pumpkin-world/assets/structures/ancient_city/city/entrance/entrance_path_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/city/entrance/entrance_path_4.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/city/entrance/entrance_path_4.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/city/entrance/entrance_path_5.nbt b/crates/pumpkin-world/assets/structures/ancient_city/city/entrance/entrance_path_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/city/entrance/entrance_path_5.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/city/entrance/entrance_path_5.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/city_center/city_center_1.nbt b/crates/pumpkin-world/assets/structures/ancient_city/city_center/city_center_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/city_center/city_center_1.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/city_center/city_center_1.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/city_center/city_center_2.nbt b/crates/pumpkin-world/assets/structures/ancient_city/city_center/city_center_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/city_center/city_center_2.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/city_center/city_center_2.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/city_center/city_center_3.nbt b/crates/pumpkin-world/assets/structures/ancient_city/city_center/city_center_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/city_center/city_center_3.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/city_center/city_center_3.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/city_center/walls/bottom_1.nbt b/crates/pumpkin-world/assets/structures/ancient_city/city_center/walls/bottom_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/city_center/walls/bottom_1.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/city_center/walls/bottom_1.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/city_center/walls/bottom_2.nbt b/crates/pumpkin-world/assets/structures/ancient_city/city_center/walls/bottom_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/city_center/walls/bottom_2.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/city_center/walls/bottom_2.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/city_center/walls/bottom_left_corner.nbt b/crates/pumpkin-world/assets/structures/ancient_city/city_center/walls/bottom_left_corner.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/city_center/walls/bottom_left_corner.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/city_center/walls/bottom_left_corner.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/city_center/walls/bottom_right_corner.nbt b/crates/pumpkin-world/assets/structures/ancient_city/city_center/walls/bottom_right_corner.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/city_center/walls/bottom_right_corner.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/city_center/walls/bottom_right_corner.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/city_center/walls/bottom_right_corner_1.nbt b/crates/pumpkin-world/assets/structures/ancient_city/city_center/walls/bottom_right_corner_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/city_center/walls/bottom_right_corner_1.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/city_center/walls/bottom_right_corner_1.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/city_center/walls/bottom_right_corner_2.nbt b/crates/pumpkin-world/assets/structures/ancient_city/city_center/walls/bottom_right_corner_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/city_center/walls/bottom_right_corner_2.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/city_center/walls/bottom_right_corner_2.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/city_center/walls/left.nbt b/crates/pumpkin-world/assets/structures/ancient_city/city_center/walls/left.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/city_center/walls/left.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/city_center/walls/left.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/city_center/walls/right.nbt b/crates/pumpkin-world/assets/structures/ancient_city/city_center/walls/right.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/city_center/walls/right.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/city_center/walls/right.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/city_center/walls/top.nbt b/crates/pumpkin-world/assets/structures/ancient_city/city_center/walls/top.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/city_center/walls/top.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/city_center/walls/top.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/city_center/walls/top_left_corner.nbt b/crates/pumpkin-world/assets/structures/ancient_city/city_center/walls/top_left_corner.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/city_center/walls/top_left_corner.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/city_center/walls/top_left_corner.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/city_center/walls/top_right_corner.nbt b/crates/pumpkin-world/assets/structures/ancient_city/city_center/walls/top_right_corner.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/city_center/walls/top_right_corner.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/city_center/walls/top_right_corner.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/structures/barracks.nbt b/crates/pumpkin-world/assets/structures/ancient_city/structures/barracks.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/structures/barracks.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/structures/barracks.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/structures/camp_1.nbt b/crates/pumpkin-world/assets/structures/ancient_city/structures/camp_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/structures/camp_1.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/structures/camp_1.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/structures/camp_2.nbt b/crates/pumpkin-world/assets/structures/ancient_city/structures/camp_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/structures/camp_2.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/structures/camp_2.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/structures/camp_3.nbt b/crates/pumpkin-world/assets/structures/ancient_city/structures/camp_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/structures/camp_3.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/structures/camp_3.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/structures/chamber_1.nbt b/crates/pumpkin-world/assets/structures/ancient_city/structures/chamber_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/structures/chamber_1.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/structures/chamber_1.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/structures/chamber_2.nbt b/crates/pumpkin-world/assets/structures/ancient_city/structures/chamber_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/structures/chamber_2.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/structures/chamber_2.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/structures/chamber_3.nbt b/crates/pumpkin-world/assets/structures/ancient_city/structures/chamber_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/structures/chamber_3.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/structures/chamber_3.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/structures/ice_box_1.nbt b/crates/pumpkin-world/assets/structures/ancient_city/structures/ice_box_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/structures/ice_box_1.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/structures/ice_box_1.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/structures/large_pillar_1.nbt b/crates/pumpkin-world/assets/structures/ancient_city/structures/large_pillar_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/structures/large_pillar_1.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/structures/large_pillar_1.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/structures/large_ruin_1.nbt b/crates/pumpkin-world/assets/structures/ancient_city/structures/large_ruin_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/structures/large_ruin_1.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/structures/large_ruin_1.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/structures/medium_pillar_1.nbt b/crates/pumpkin-world/assets/structures/ancient_city/structures/medium_pillar_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/structures/medium_pillar_1.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/structures/medium_pillar_1.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/structures/medium_ruin_1.nbt b/crates/pumpkin-world/assets/structures/ancient_city/structures/medium_ruin_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/structures/medium_ruin_1.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/structures/medium_ruin_1.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/structures/medium_ruin_2.nbt b/crates/pumpkin-world/assets/structures/ancient_city/structures/medium_ruin_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/structures/medium_ruin_2.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/structures/medium_ruin_2.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/structures/sauna_1.nbt b/crates/pumpkin-world/assets/structures/ancient_city/structures/sauna_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/structures/sauna_1.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/structures/sauna_1.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/structures/small_ruin_1.nbt b/crates/pumpkin-world/assets/structures/ancient_city/structures/small_ruin_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/structures/small_ruin_1.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/structures/small_ruin_1.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/structures/small_ruin_2.nbt b/crates/pumpkin-world/assets/structures/ancient_city/structures/small_ruin_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/structures/small_ruin_2.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/structures/small_ruin_2.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/structures/small_statue.nbt b/crates/pumpkin-world/assets/structures/ancient_city/structures/small_statue.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/structures/small_statue.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/structures/small_statue.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/structures/tall_ruin_1.nbt b/crates/pumpkin-world/assets/structures/ancient_city/structures/tall_ruin_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/structures/tall_ruin_1.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/structures/tall_ruin_1.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/structures/tall_ruin_2.nbt b/crates/pumpkin-world/assets/structures/ancient_city/structures/tall_ruin_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/structures/tall_ruin_2.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/structures/tall_ruin_2.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/structures/tall_ruin_3.nbt b/crates/pumpkin-world/assets/structures/ancient_city/structures/tall_ruin_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/structures/tall_ruin_3.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/structures/tall_ruin_3.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/structures/tall_ruin_4.nbt b/crates/pumpkin-world/assets/structures/ancient_city/structures/tall_ruin_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/structures/tall_ruin_4.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/structures/tall_ruin_4.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/walls/intact_corner_wall_1.nbt b/crates/pumpkin-world/assets/structures/ancient_city/walls/intact_corner_wall_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/walls/intact_corner_wall_1.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/walls/intact_corner_wall_1.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/walls/intact_horizontal_wall_1.nbt b/crates/pumpkin-world/assets/structures/ancient_city/walls/intact_horizontal_wall_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/walls/intact_horizontal_wall_1.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/walls/intact_horizontal_wall_1.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/walls/intact_horizontal_wall_2.nbt b/crates/pumpkin-world/assets/structures/ancient_city/walls/intact_horizontal_wall_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/walls/intact_horizontal_wall_2.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/walls/intact_horizontal_wall_2.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/walls/intact_horizontal_wall_bridge.nbt b/crates/pumpkin-world/assets/structures/ancient_city/walls/intact_horizontal_wall_bridge.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/walls/intact_horizontal_wall_bridge.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/walls/intact_horizontal_wall_bridge.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/walls/intact_horizontal_wall_passage_1.nbt b/crates/pumpkin-world/assets/structures/ancient_city/walls/intact_horizontal_wall_passage_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/walls/intact_horizontal_wall_passage_1.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/walls/intact_horizontal_wall_passage_1.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/walls/intact_horizontal_wall_stairs_1.nbt b/crates/pumpkin-world/assets/structures/ancient_city/walls/intact_horizontal_wall_stairs_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/walls/intact_horizontal_wall_stairs_1.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/walls/intact_horizontal_wall_stairs_1.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/walls/intact_horizontal_wall_stairs_2.nbt b/crates/pumpkin-world/assets/structures/ancient_city/walls/intact_horizontal_wall_stairs_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/walls/intact_horizontal_wall_stairs_2.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/walls/intact_horizontal_wall_stairs_2.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/walls/intact_horizontal_wall_stairs_3.nbt b/crates/pumpkin-world/assets/structures/ancient_city/walls/intact_horizontal_wall_stairs_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/walls/intact_horizontal_wall_stairs_3.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/walls/intact_horizontal_wall_stairs_3.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/walls/intact_horizontal_wall_stairs_4.nbt b/crates/pumpkin-world/assets/structures/ancient_city/walls/intact_horizontal_wall_stairs_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/walls/intact_horizontal_wall_stairs_4.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/walls/intact_horizontal_wall_stairs_4.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/walls/intact_intersection_wall_1.nbt b/crates/pumpkin-world/assets/structures/ancient_city/walls/intact_intersection_wall_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/walls/intact_intersection_wall_1.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/walls/intact_intersection_wall_1.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/walls/intact_lshape_wall_1.nbt b/crates/pumpkin-world/assets/structures/ancient_city/walls/intact_lshape_wall_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/walls/intact_lshape_wall_1.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/walls/intact_lshape_wall_1.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/walls/ruined_corner_wall_1.nbt b/crates/pumpkin-world/assets/structures/ancient_city/walls/ruined_corner_wall_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/walls/ruined_corner_wall_1.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/walls/ruined_corner_wall_1.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/walls/ruined_corner_wall_2.nbt b/crates/pumpkin-world/assets/structures/ancient_city/walls/ruined_corner_wall_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/walls/ruined_corner_wall_2.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/walls/ruined_corner_wall_2.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/walls/ruined_horizontal_wall_stairs_1.nbt b/crates/pumpkin-world/assets/structures/ancient_city/walls/ruined_horizontal_wall_stairs_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/walls/ruined_horizontal_wall_stairs_1.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/walls/ruined_horizontal_wall_stairs_1.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/walls/ruined_horizontal_wall_stairs_2.nbt b/crates/pumpkin-world/assets/structures/ancient_city/walls/ruined_horizontal_wall_stairs_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/walls/ruined_horizontal_wall_stairs_2.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/walls/ruined_horizontal_wall_stairs_2.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/walls/ruined_horizontal_wall_stairs_3.nbt b/crates/pumpkin-world/assets/structures/ancient_city/walls/ruined_horizontal_wall_stairs_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/walls/ruined_horizontal_wall_stairs_3.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/walls/ruined_horizontal_wall_stairs_3.nbt diff --git a/pumpkin-world/assets/structures/ancient_city/walls/ruined_horizontal_wall_stairs_4.nbt b/crates/pumpkin-world/assets/structures/ancient_city/walls/ruined_horizontal_wall_stairs_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/ancient_city/walls/ruined_horizontal_wall_stairs_4.nbt rename to crates/pumpkin-world/assets/structures/ancient_city/walls/ruined_horizontal_wall_stairs_4.nbt diff --git a/pumpkin-world/assets/structures/bastion/blocks/air.nbt b/crates/pumpkin-world/assets/structures/bastion/blocks/air.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/blocks/air.nbt rename to crates/pumpkin-world/assets/structures/bastion/blocks/air.nbt diff --git a/pumpkin-world/assets/structures/bastion/blocks/gold.nbt b/crates/pumpkin-world/assets/structures/bastion/blocks/gold.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/blocks/gold.nbt rename to crates/pumpkin-world/assets/structures/bastion/blocks/gold.nbt diff --git a/pumpkin-world/assets/structures/bastion/bridge/bridge_pieces/bridge.nbt b/crates/pumpkin-world/assets/structures/bastion/bridge/bridge_pieces/bridge.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/bridge/bridge_pieces/bridge.nbt rename to crates/pumpkin-world/assets/structures/bastion/bridge/bridge_pieces/bridge.nbt diff --git a/pumpkin-world/assets/structures/bastion/bridge/connectors/back_bridge_bottom.nbt b/crates/pumpkin-world/assets/structures/bastion/bridge/connectors/back_bridge_bottom.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/bridge/connectors/back_bridge_bottom.nbt rename to crates/pumpkin-world/assets/structures/bastion/bridge/connectors/back_bridge_bottom.nbt diff --git a/pumpkin-world/assets/structures/bastion/bridge/connectors/back_bridge_top.nbt b/crates/pumpkin-world/assets/structures/bastion/bridge/connectors/back_bridge_top.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/bridge/connectors/back_bridge_top.nbt rename to crates/pumpkin-world/assets/structures/bastion/bridge/connectors/back_bridge_top.nbt diff --git a/pumpkin-world/assets/structures/bastion/bridge/legs/leg_0.nbt b/crates/pumpkin-world/assets/structures/bastion/bridge/legs/leg_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/bridge/legs/leg_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/bridge/legs/leg_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/bridge/legs/leg_1.nbt b/crates/pumpkin-world/assets/structures/bastion/bridge/legs/leg_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/bridge/legs/leg_1.nbt rename to crates/pumpkin-world/assets/structures/bastion/bridge/legs/leg_1.nbt diff --git a/pumpkin-world/assets/structures/bastion/bridge/rampart_plates/plate_0.nbt b/crates/pumpkin-world/assets/structures/bastion/bridge/rampart_plates/plate_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/bridge/rampart_plates/plate_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/bridge/rampart_plates/plate_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/bridge/ramparts/rampart_0.nbt b/crates/pumpkin-world/assets/structures/bastion/bridge/ramparts/rampart_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/bridge/ramparts/rampart_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/bridge/ramparts/rampart_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/bridge/ramparts/rampart_1.nbt b/crates/pumpkin-world/assets/structures/bastion/bridge/ramparts/rampart_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/bridge/ramparts/rampart_1.nbt rename to crates/pumpkin-world/assets/structures/bastion/bridge/ramparts/rampart_1.nbt diff --git a/pumpkin-world/assets/structures/bastion/bridge/starting_pieces/entrance.nbt b/crates/pumpkin-world/assets/structures/bastion/bridge/starting_pieces/entrance.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/bridge/starting_pieces/entrance.nbt rename to crates/pumpkin-world/assets/structures/bastion/bridge/starting_pieces/entrance.nbt diff --git a/pumpkin-world/assets/structures/bastion/bridge/starting_pieces/entrance_base.nbt b/crates/pumpkin-world/assets/structures/bastion/bridge/starting_pieces/entrance_base.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/bridge/starting_pieces/entrance_base.nbt rename to crates/pumpkin-world/assets/structures/bastion/bridge/starting_pieces/entrance_base.nbt diff --git a/pumpkin-world/assets/structures/bastion/bridge/starting_pieces/entrance_face.nbt b/crates/pumpkin-world/assets/structures/bastion/bridge/starting_pieces/entrance_face.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/bridge/starting_pieces/entrance_face.nbt rename to crates/pumpkin-world/assets/structures/bastion/bridge/starting_pieces/entrance_face.nbt diff --git a/pumpkin-world/assets/structures/bastion/bridge/walls/wall_base_0.nbt b/crates/pumpkin-world/assets/structures/bastion/bridge/walls/wall_base_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/bridge/walls/wall_base_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/bridge/walls/wall_base_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/bridge/walls/wall_base_1.nbt b/crates/pumpkin-world/assets/structures/bastion/bridge/walls/wall_base_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/bridge/walls/wall_base_1.nbt rename to crates/pumpkin-world/assets/structures/bastion/bridge/walls/wall_base_1.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/air_base.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/air_base.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/air_base.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/air_base.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/connectors/end_post_connector.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/connectors/end_post_connector.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/connectors/end_post_connector.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/connectors/end_post_connector.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/inner_0.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/inner_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/inner_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/inner_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/inner_1.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/inner_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/inner_1.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/inner_1.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/inner_2.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/inner_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/inner_2.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/inner_2.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/inner_3.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/inner_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/inner_3.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/inner_3.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/inner_4.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/inner_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/inner_4.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/inner_4.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/outer_0.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/outer_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/outer_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/outer_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/outer_1.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/outer_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/outer_1.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/outer_1.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/outer_2.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/outer_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/outer_2.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/outer_2.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/outer_3.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/outer_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/outer_3.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/outer_3.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/outer_4.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/outer_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/outer_4.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/large_stables/outer_4.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/posts/end_post.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/posts/end_post.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/posts/end_post.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/posts/end_post.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/posts/stair_post.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/posts/stair_post.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/posts/stair_post.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/posts/stair_post.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/rampart_plates/rampart_plate_1.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/rampart_plates/rampart_plate_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/rampart_plates/rampart_plate_1.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/rampart_plates/rampart_plate_1.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/ramparts/ramparts_1.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/ramparts/ramparts_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/ramparts/ramparts_1.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/ramparts/ramparts_1.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/ramparts/ramparts_2.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/ramparts/ramparts_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/ramparts/ramparts_2.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/ramparts/ramparts_2.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/ramparts/ramparts_3.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/ramparts/ramparts_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/ramparts/ramparts_3.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/ramparts/ramparts_3.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/small_stables/inner_0.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/small_stables/inner_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/small_stables/inner_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/small_stables/inner_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/small_stables/inner_1.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/small_stables/inner_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/small_stables/inner_1.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/small_stables/inner_1.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/small_stables/inner_2.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/small_stables/inner_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/small_stables/inner_2.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/small_stables/inner_2.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/small_stables/inner_3.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/small_stables/inner_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/small_stables/inner_3.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/small_stables/inner_3.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/small_stables/outer_0.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/small_stables/outer_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/small_stables/outer_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/small_stables/outer_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/small_stables/outer_1.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/small_stables/outer_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/small_stables/outer_1.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/small_stables/outer_1.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/small_stables/outer_2.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/small_stables/outer_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/small_stables/outer_2.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/small_stables/outer_2.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/small_stables/outer_3.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/small_stables/outer_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/small_stables/outer_3.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/small_stables/outer_3.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_1_0.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_1_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_1_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_1_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_1_1.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_1_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_1_1.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_1_1.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_1_2.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_1_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_1_2.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_1_2.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_1_3.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_1_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_1_3.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_1_3.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_1_4.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_1_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_1_4.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_1_4.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_2_0.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_2_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_2_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_2_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_2_1.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_2_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_2_1.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_2_1.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_2_2.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_2_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_2_2.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_2_2.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_2_3.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_2_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_2_3.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_2_3.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_2_4.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_2_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_2_4.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_2_4.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_3_0.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_3_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_3_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_3_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_3_1.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_3_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_3_1.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_3_1.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_3_2.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_3_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_3_2.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_3_2.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_3_3.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_3_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_3_3.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_3_3.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_3_4.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_3_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_3_4.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/stairs/stairs_3_4.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/stairs_0_mirrored.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/stairs_0_mirrored.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/stairs_0_mirrored.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/stairs_0_mirrored.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/stairs_1_mirrored.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/stairs_1_mirrored.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/stairs_1_mirrored.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/stairs_1_mirrored.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/stairs_2_mirrored.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/stairs_2_mirrored.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/stairs_2_mirrored.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/stairs_2_mirrored.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/stairs_3_mirrored.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/stairs_3_mirrored.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/stairs_3_mirrored.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/stairs_3_mirrored.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/stairs_4_mirrored.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/stairs_4_mirrored.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/stairs_4_mirrored.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/stairs_4_mirrored.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/starting_stairs_0.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/starting_stairs_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/starting_stairs_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/starting_stairs_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/starting_stairs_1.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/starting_stairs_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/starting_stairs_1.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/starting_stairs_1.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/starting_stairs_2.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/starting_stairs_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/starting_stairs_2.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/starting_stairs_2.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/starting_stairs_3.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/starting_stairs_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/starting_stairs_3.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/starting_stairs_3.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/starting_stairs_4.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/starting_stairs_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/starting_stairs_4.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/starting_pieces/starting_stairs_4.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/walls/side_wall_0.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/walls/side_wall_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/walls/side_wall_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/walls/side_wall_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/walls/side_wall_1.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/walls/side_wall_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/walls/side_wall_1.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/walls/side_wall_1.nbt diff --git a/pumpkin-world/assets/structures/bastion/hoglin_stable/walls/wall_base.nbt b/crates/pumpkin-world/assets/structures/bastion/hoglin_stable/walls/wall_base.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/hoglin_stable/walls/wall_base.nbt rename to crates/pumpkin-world/assets/structures/bastion/hoglin_stable/walls/wall_base.nbt diff --git a/pumpkin-world/assets/structures/bastion/mobs/crossbow_piglin.nbt b/crates/pumpkin-world/assets/structures/bastion/mobs/crossbow_piglin.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/mobs/crossbow_piglin.nbt rename to crates/pumpkin-world/assets/structures/bastion/mobs/crossbow_piglin.nbt diff --git a/pumpkin-world/assets/structures/bastion/mobs/empty.nbt b/crates/pumpkin-world/assets/structures/bastion/mobs/empty.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/mobs/empty.nbt rename to crates/pumpkin-world/assets/structures/bastion/mobs/empty.nbt diff --git a/pumpkin-world/assets/structures/bastion/mobs/hoglin.nbt b/crates/pumpkin-world/assets/structures/bastion/mobs/hoglin.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/mobs/hoglin.nbt rename to crates/pumpkin-world/assets/structures/bastion/mobs/hoglin.nbt diff --git a/pumpkin-world/assets/structures/bastion/mobs/melee_piglin.nbt b/crates/pumpkin-world/assets/structures/bastion/mobs/melee_piglin.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/mobs/melee_piglin.nbt rename to crates/pumpkin-world/assets/structures/bastion/mobs/melee_piglin.nbt diff --git a/pumpkin-world/assets/structures/bastion/mobs/melee_piglin_always.nbt b/crates/pumpkin-world/assets/structures/bastion/mobs/melee_piglin_always.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/mobs/melee_piglin_always.nbt rename to crates/pumpkin-world/assets/structures/bastion/mobs/melee_piglin_always.nbt diff --git a/pumpkin-world/assets/structures/bastion/mobs/sword_piglin.nbt b/crates/pumpkin-world/assets/structures/bastion/mobs/sword_piglin.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/mobs/sword_piglin.nbt rename to crates/pumpkin-world/assets/structures/bastion/mobs/sword_piglin.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/bases/centers/center_0.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/bases/centers/center_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/bases/centers/center_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/bases/centers/center_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/bases/centers/center_1.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/bases/centers/center_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/bases/centers/center_1.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/bases/centers/center_1.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/bases/centers/center_2.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/bases/centers/center_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/bases/centers/center_2.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/bases/centers/center_2.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/bases/centers/center_3.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/bases/centers/center_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/bases/centers/center_3.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/bases/centers/center_3.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/bases/lava_basin.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/bases/lava_basin.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/bases/lava_basin.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/bases/lava_basin.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/big_air_full.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/big_air_full.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/big_air_full.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/big_air_full.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/brains/center_brain.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/brains/center_brain.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/brains/center_brain.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/brains/center_brain.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/connectors/center_to_wall_middle.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/connectors/center_to_wall_middle.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/connectors/center_to_wall_middle.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/connectors/center_to_wall_middle.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/connectors/center_to_wall_top.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/connectors/center_to_wall_top.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/connectors/center_to_wall_top.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/connectors/center_to_wall_top.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/connectors/center_to_wall_top_entrance.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/connectors/center_to_wall_top_entrance.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/connectors/center_to_wall_top_entrance.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/connectors/center_to_wall_top_entrance.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/corners/bottom/corner_0.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/corners/bottom/corner_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/corners/bottom/corner_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/corners/bottom/corner_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/corners/bottom/corner_1.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/corners/bottom/corner_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/corners/bottom/corner_1.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/corners/bottom/corner_1.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/corners/edges/bottom.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/corners/edges/bottom.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/corners/edges/bottom.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/corners/edges/bottom.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/corners/edges/middle.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/corners/edges/middle.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/corners/edges/middle.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/corners/edges/middle.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/corners/edges/top.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/corners/edges/top.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/corners/edges/top.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/corners/edges/top.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/corners/middle/corner_0.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/corners/middle/corner_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/corners/middle/corner_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/corners/middle/corner_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/corners/middle/corner_1.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/corners/middle/corner_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/corners/middle/corner_1.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/corners/middle/corner_1.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/corners/top/corner_0.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/corners/top/corner_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/corners/top/corner_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/corners/top/corner_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/corners/top/corner_1.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/corners/top/corner_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/corners/top/corner_1.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/corners/top/corner_1.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/entrances/entrance_0.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/entrances/entrance_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/entrances/entrance_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/entrances/entrance_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/extensions/empty.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/extensions/empty.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/extensions/empty.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/extensions/empty.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/extensions/fire_room.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/extensions/fire_room.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/extensions/fire_room.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/extensions/fire_room.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/extensions/house_0.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/extensions/house_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/extensions/house_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/extensions/house_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/extensions/house_1.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/extensions/house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/extensions/house_1.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/extensions/house_1.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/extensions/large_bridge_0.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/extensions/large_bridge_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/extensions/large_bridge_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/extensions/large_bridge_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/extensions/large_bridge_1.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/extensions/large_bridge_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/extensions/large_bridge_1.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/extensions/large_bridge_1.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/extensions/large_bridge_2.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/extensions/large_bridge_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/extensions/large_bridge_2.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/extensions/large_bridge_2.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/extensions/large_bridge_3.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/extensions/large_bridge_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/extensions/large_bridge_3.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/extensions/large_bridge_3.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/extensions/roofed_bridge.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/extensions/roofed_bridge.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/extensions/roofed_bridge.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/extensions/roofed_bridge.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/extensions/small_bridge_0.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/extensions/small_bridge_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/extensions/small_bridge_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/extensions/small_bridge_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/extensions/small_bridge_1.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/extensions/small_bridge_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/extensions/small_bridge_1.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/extensions/small_bridge_1.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/extensions/small_bridge_2.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/extensions/small_bridge_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/extensions/small_bridge_2.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/extensions/small_bridge_2.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/extensions/small_bridge_3.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/extensions/small_bridge_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/extensions/small_bridge_3.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/extensions/small_bridge_3.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/ramparts/bottom_wall_0.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/ramparts/bottom_wall_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/ramparts/bottom_wall_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/ramparts/bottom_wall_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/ramparts/lava_basin_main.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/ramparts/lava_basin_main.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/ramparts/lava_basin_main.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/ramparts/lava_basin_main.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/ramparts/lava_basin_side.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/ramparts/lava_basin_side.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/ramparts/lava_basin_side.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/ramparts/lava_basin_side.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/ramparts/mid_wall_main.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/ramparts/mid_wall_main.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/ramparts/mid_wall_main.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/ramparts/mid_wall_main.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/ramparts/mid_wall_side.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/ramparts/mid_wall_side.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/ramparts/mid_wall_side.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/ramparts/mid_wall_side.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/ramparts/top_wall.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/ramparts/top_wall.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/ramparts/top_wall.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/ramparts/top_wall.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/roofs/center_roof.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/roofs/center_roof.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/roofs/center_roof.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/roofs/center_roof.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/roofs/corner_roof.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/roofs/corner_roof.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/roofs/corner_roof.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/roofs/corner_roof.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/roofs/wall_roof.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/roofs/wall_roof.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/roofs/wall_roof.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/roofs/wall_roof.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/stairs/lower_stairs.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/stairs/lower_stairs.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/stairs/lower_stairs.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/stairs/lower_stairs.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/walls/bottom/wall_0.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/walls/bottom/wall_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/walls/bottom/wall_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/walls/bottom/wall_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/walls/bottom/wall_1.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/walls/bottom/wall_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/walls/bottom/wall_1.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/walls/bottom/wall_1.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/walls/bottom/wall_2.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/walls/bottom/wall_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/walls/bottom/wall_2.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/walls/bottom/wall_2.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/walls/bottom/wall_3.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/walls/bottom/wall_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/walls/bottom/wall_3.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/walls/bottom/wall_3.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/walls/entrance_wall.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/walls/entrance_wall.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/walls/entrance_wall.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/walls/entrance_wall.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/walls/lava_wall.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/walls/lava_wall.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/walls/lava_wall.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/walls/lava_wall.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/walls/mid/wall_0.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/walls/mid/wall_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/walls/mid/wall_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/walls/mid/wall_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/walls/mid/wall_1.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/walls/mid/wall_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/walls/mid/wall_1.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/walls/mid/wall_1.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/walls/mid/wall_2.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/walls/mid/wall_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/walls/mid/wall_2.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/walls/mid/wall_2.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/walls/outer/bottom_corner.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/walls/outer/bottom_corner.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/walls/outer/bottom_corner.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/walls/outer/bottom_corner.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/walls/outer/medium_outer_wall.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/walls/outer/medium_outer_wall.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/walls/outer/medium_outer_wall.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/walls/outer/medium_outer_wall.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/walls/outer/mid_corner.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/walls/outer/mid_corner.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/walls/outer/mid_corner.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/walls/outer/mid_corner.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/walls/outer/outer_wall.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/walls/outer/outer_wall.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/walls/outer/outer_wall.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/walls/outer/outer_wall.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/walls/outer/tall_outer_wall.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/walls/outer/tall_outer_wall.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/walls/outer/tall_outer_wall.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/walls/outer/tall_outer_wall.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/walls/outer/top_corner.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/walls/outer/top_corner.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/walls/outer/top_corner.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/walls/outer/top_corner.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/walls/top/main_entrance.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/walls/top/main_entrance.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/walls/top/main_entrance.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/walls/top/main_entrance.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/walls/top/wall_0.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/walls/top/wall_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/walls/top/wall_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/walls/top/wall_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/treasure/walls/top/wall_1.nbt b/crates/pumpkin-world/assets/structures/bastion/treasure/walls/top/wall_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/treasure/walls/top/wall_1.nbt rename to crates/pumpkin-world/assets/structures/bastion/treasure/walls/top/wall_1.nbt diff --git a/pumpkin-world/assets/structures/bastion/units/air_base.nbt b/crates/pumpkin-world/assets/structures/bastion/units/air_base.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/units/air_base.nbt rename to crates/pumpkin-world/assets/structures/bastion/units/air_base.nbt diff --git a/pumpkin-world/assets/structures/bastion/units/center_pieces/center_0.nbt b/crates/pumpkin-world/assets/structures/bastion/units/center_pieces/center_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/units/center_pieces/center_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/units/center_pieces/center_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/units/center_pieces/center_1.nbt b/crates/pumpkin-world/assets/structures/bastion/units/center_pieces/center_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/units/center_pieces/center_1.nbt rename to crates/pumpkin-world/assets/structures/bastion/units/center_pieces/center_1.nbt diff --git a/pumpkin-world/assets/structures/bastion/units/center_pieces/center_2.nbt b/crates/pumpkin-world/assets/structures/bastion/units/center_pieces/center_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/units/center_pieces/center_2.nbt rename to crates/pumpkin-world/assets/structures/bastion/units/center_pieces/center_2.nbt diff --git a/pumpkin-world/assets/structures/bastion/units/edges/edge_0.nbt b/crates/pumpkin-world/assets/structures/bastion/units/edges/edge_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/units/edges/edge_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/units/edges/edge_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/units/fillers/stage_0.nbt b/crates/pumpkin-world/assets/structures/bastion/units/fillers/stage_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/units/fillers/stage_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/units/fillers/stage_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/units/pathways/pathway_0.nbt b/crates/pumpkin-world/assets/structures/bastion/units/pathways/pathway_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/units/pathways/pathway_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/units/pathways/pathway_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/units/pathways/pathway_wall_0.nbt b/crates/pumpkin-world/assets/structures/bastion/units/pathways/pathway_wall_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/units/pathways/pathway_wall_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/units/pathways/pathway_wall_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/units/rampart_plates/plate_0.nbt b/crates/pumpkin-world/assets/structures/bastion/units/rampart_plates/plate_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/units/rampart_plates/plate_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/units/rampart_plates/plate_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/units/ramparts/ramparts_0.nbt b/crates/pumpkin-world/assets/structures/bastion/units/ramparts/ramparts_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/units/ramparts/ramparts_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/units/ramparts/ramparts_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/units/ramparts/ramparts_1.nbt b/crates/pumpkin-world/assets/structures/bastion/units/ramparts/ramparts_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/units/ramparts/ramparts_1.nbt rename to crates/pumpkin-world/assets/structures/bastion/units/ramparts/ramparts_1.nbt diff --git a/pumpkin-world/assets/structures/bastion/units/ramparts/ramparts_2.nbt b/crates/pumpkin-world/assets/structures/bastion/units/ramparts/ramparts_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/units/ramparts/ramparts_2.nbt rename to crates/pumpkin-world/assets/structures/bastion/units/ramparts/ramparts_2.nbt diff --git a/pumpkin-world/assets/structures/bastion/units/stages/rot/stage_1_0.nbt b/crates/pumpkin-world/assets/structures/bastion/units/stages/rot/stage_1_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/units/stages/rot/stage_1_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/units/stages/rot/stage_1_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/units/stages/stage_0_0.nbt b/crates/pumpkin-world/assets/structures/bastion/units/stages/stage_0_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/units/stages/stage_0_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/units/stages/stage_0_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/units/stages/stage_0_1.nbt b/crates/pumpkin-world/assets/structures/bastion/units/stages/stage_0_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/units/stages/stage_0_1.nbt rename to crates/pumpkin-world/assets/structures/bastion/units/stages/stage_0_1.nbt diff --git a/pumpkin-world/assets/structures/bastion/units/stages/stage_0_2.nbt b/crates/pumpkin-world/assets/structures/bastion/units/stages/stage_0_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/units/stages/stage_0_2.nbt rename to crates/pumpkin-world/assets/structures/bastion/units/stages/stage_0_2.nbt diff --git a/pumpkin-world/assets/structures/bastion/units/stages/stage_0_3.nbt b/crates/pumpkin-world/assets/structures/bastion/units/stages/stage_0_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/units/stages/stage_0_3.nbt rename to crates/pumpkin-world/assets/structures/bastion/units/stages/stage_0_3.nbt diff --git a/pumpkin-world/assets/structures/bastion/units/stages/stage_1_0.nbt b/crates/pumpkin-world/assets/structures/bastion/units/stages/stage_1_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/units/stages/stage_1_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/units/stages/stage_1_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/units/stages/stage_1_1.nbt b/crates/pumpkin-world/assets/structures/bastion/units/stages/stage_1_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/units/stages/stage_1_1.nbt rename to crates/pumpkin-world/assets/structures/bastion/units/stages/stage_1_1.nbt diff --git a/pumpkin-world/assets/structures/bastion/units/stages/stage_1_2.nbt b/crates/pumpkin-world/assets/structures/bastion/units/stages/stage_1_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/units/stages/stage_1_2.nbt rename to crates/pumpkin-world/assets/structures/bastion/units/stages/stage_1_2.nbt diff --git a/pumpkin-world/assets/structures/bastion/units/stages/stage_1_3.nbt b/crates/pumpkin-world/assets/structures/bastion/units/stages/stage_1_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/units/stages/stage_1_3.nbt rename to crates/pumpkin-world/assets/structures/bastion/units/stages/stage_1_3.nbt diff --git a/pumpkin-world/assets/structures/bastion/units/stages/stage_2_0.nbt b/crates/pumpkin-world/assets/structures/bastion/units/stages/stage_2_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/units/stages/stage_2_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/units/stages/stage_2_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/units/stages/stage_2_1.nbt b/crates/pumpkin-world/assets/structures/bastion/units/stages/stage_2_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/units/stages/stage_2_1.nbt rename to crates/pumpkin-world/assets/structures/bastion/units/stages/stage_2_1.nbt diff --git a/pumpkin-world/assets/structures/bastion/units/stages/stage_3_0.nbt b/crates/pumpkin-world/assets/structures/bastion/units/stages/stage_3_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/units/stages/stage_3_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/units/stages/stage_3_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/units/stages/stage_3_1.nbt b/crates/pumpkin-world/assets/structures/bastion/units/stages/stage_3_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/units/stages/stage_3_1.nbt rename to crates/pumpkin-world/assets/structures/bastion/units/stages/stage_3_1.nbt diff --git a/pumpkin-world/assets/structures/bastion/units/stages/stage_3_2.nbt b/crates/pumpkin-world/assets/structures/bastion/units/stages/stage_3_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/units/stages/stage_3_2.nbt rename to crates/pumpkin-world/assets/structures/bastion/units/stages/stage_3_2.nbt diff --git a/pumpkin-world/assets/structures/bastion/units/stages/stage_3_3.nbt b/crates/pumpkin-world/assets/structures/bastion/units/stages/stage_3_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/units/stages/stage_3_3.nbt rename to crates/pumpkin-world/assets/structures/bastion/units/stages/stage_3_3.nbt diff --git a/pumpkin-world/assets/structures/bastion/units/wall_units/edge_0_large.nbt b/crates/pumpkin-world/assets/structures/bastion/units/wall_units/edge_0_large.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/units/wall_units/edge_0_large.nbt rename to crates/pumpkin-world/assets/structures/bastion/units/wall_units/edge_0_large.nbt diff --git a/pumpkin-world/assets/structures/bastion/units/wall_units/unit_0.nbt b/crates/pumpkin-world/assets/structures/bastion/units/wall_units/unit_0.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/units/wall_units/unit_0.nbt rename to crates/pumpkin-world/assets/structures/bastion/units/wall_units/unit_0.nbt diff --git a/pumpkin-world/assets/structures/bastion/units/walls/connected_wall.nbt b/crates/pumpkin-world/assets/structures/bastion/units/walls/connected_wall.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/units/walls/connected_wall.nbt rename to crates/pumpkin-world/assets/structures/bastion/units/walls/connected_wall.nbt diff --git a/pumpkin-world/assets/structures/bastion/units/walls/wall_base.nbt b/crates/pumpkin-world/assets/structures/bastion/units/walls/wall_base.nbt similarity index 100% rename from pumpkin-world/assets/structures/bastion/units/walls/wall_base.nbt rename to crates/pumpkin-world/assets/structures/bastion/units/walls/wall_base.nbt diff --git a/pumpkin-world/assets/structures/empty.nbt b/crates/pumpkin-world/assets/structures/empty.nbt similarity index 100% rename from pumpkin-world/assets/structures/empty.nbt rename to crates/pumpkin-world/assets/structures/empty.nbt diff --git a/pumpkin-world/assets/structures/end_city/base_floor.nbt b/crates/pumpkin-world/assets/structures/end_city/base_floor.nbt similarity index 100% rename from pumpkin-world/assets/structures/end_city/base_floor.nbt rename to crates/pumpkin-world/assets/structures/end_city/base_floor.nbt diff --git a/pumpkin-world/assets/structures/end_city/base_roof.nbt b/crates/pumpkin-world/assets/structures/end_city/base_roof.nbt similarity index 100% rename from pumpkin-world/assets/structures/end_city/base_roof.nbt rename to crates/pumpkin-world/assets/structures/end_city/base_roof.nbt diff --git a/pumpkin-world/assets/structures/end_city/bridge_end.nbt b/crates/pumpkin-world/assets/structures/end_city/bridge_end.nbt similarity index 100% rename from pumpkin-world/assets/structures/end_city/bridge_end.nbt rename to crates/pumpkin-world/assets/structures/end_city/bridge_end.nbt diff --git a/pumpkin-world/assets/structures/end_city/bridge_gentle_stairs.nbt b/crates/pumpkin-world/assets/structures/end_city/bridge_gentle_stairs.nbt similarity index 100% rename from pumpkin-world/assets/structures/end_city/bridge_gentle_stairs.nbt rename to crates/pumpkin-world/assets/structures/end_city/bridge_gentle_stairs.nbt diff --git a/pumpkin-world/assets/structures/end_city/bridge_piece.nbt b/crates/pumpkin-world/assets/structures/end_city/bridge_piece.nbt similarity index 100% rename from pumpkin-world/assets/structures/end_city/bridge_piece.nbt rename to crates/pumpkin-world/assets/structures/end_city/bridge_piece.nbt diff --git a/pumpkin-world/assets/structures/end_city/bridge_steep_stairs.nbt b/crates/pumpkin-world/assets/structures/end_city/bridge_steep_stairs.nbt similarity index 100% rename from pumpkin-world/assets/structures/end_city/bridge_steep_stairs.nbt rename to crates/pumpkin-world/assets/structures/end_city/bridge_steep_stairs.nbt diff --git a/pumpkin-world/assets/structures/end_city/fat_tower_base.nbt b/crates/pumpkin-world/assets/structures/end_city/fat_tower_base.nbt similarity index 100% rename from pumpkin-world/assets/structures/end_city/fat_tower_base.nbt rename to crates/pumpkin-world/assets/structures/end_city/fat_tower_base.nbt diff --git a/pumpkin-world/assets/structures/end_city/fat_tower_middle.nbt b/crates/pumpkin-world/assets/structures/end_city/fat_tower_middle.nbt similarity index 100% rename from pumpkin-world/assets/structures/end_city/fat_tower_middle.nbt rename to crates/pumpkin-world/assets/structures/end_city/fat_tower_middle.nbt diff --git a/pumpkin-world/assets/structures/end_city/fat_tower_top.nbt b/crates/pumpkin-world/assets/structures/end_city/fat_tower_top.nbt similarity index 100% rename from pumpkin-world/assets/structures/end_city/fat_tower_top.nbt rename to crates/pumpkin-world/assets/structures/end_city/fat_tower_top.nbt diff --git a/pumpkin-world/assets/structures/end_city/second_floor_1.nbt b/crates/pumpkin-world/assets/structures/end_city/second_floor_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/end_city/second_floor_1.nbt rename to crates/pumpkin-world/assets/structures/end_city/second_floor_1.nbt diff --git a/pumpkin-world/assets/structures/end_city/second_floor_2.nbt b/crates/pumpkin-world/assets/structures/end_city/second_floor_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/end_city/second_floor_2.nbt rename to crates/pumpkin-world/assets/structures/end_city/second_floor_2.nbt diff --git a/pumpkin-world/assets/structures/end_city/second_roof.nbt b/crates/pumpkin-world/assets/structures/end_city/second_roof.nbt similarity index 100% rename from pumpkin-world/assets/structures/end_city/second_roof.nbt rename to crates/pumpkin-world/assets/structures/end_city/second_roof.nbt diff --git a/pumpkin-world/assets/structures/end_city/ship.nbt b/crates/pumpkin-world/assets/structures/end_city/ship.nbt similarity index 100% rename from pumpkin-world/assets/structures/end_city/ship.nbt rename to crates/pumpkin-world/assets/structures/end_city/ship.nbt diff --git a/pumpkin-world/assets/structures/end_city/third_floor_1.nbt b/crates/pumpkin-world/assets/structures/end_city/third_floor_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/end_city/third_floor_1.nbt rename to crates/pumpkin-world/assets/structures/end_city/third_floor_1.nbt diff --git a/pumpkin-world/assets/structures/end_city/third_floor_2.nbt b/crates/pumpkin-world/assets/structures/end_city/third_floor_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/end_city/third_floor_2.nbt rename to crates/pumpkin-world/assets/structures/end_city/third_floor_2.nbt diff --git a/pumpkin-world/assets/structures/end_city/third_roof.nbt b/crates/pumpkin-world/assets/structures/end_city/third_roof.nbt similarity index 100% rename from pumpkin-world/assets/structures/end_city/third_roof.nbt rename to crates/pumpkin-world/assets/structures/end_city/third_roof.nbt diff --git a/pumpkin-world/assets/structures/end_city/tower_base.nbt b/crates/pumpkin-world/assets/structures/end_city/tower_base.nbt similarity index 100% rename from pumpkin-world/assets/structures/end_city/tower_base.nbt rename to crates/pumpkin-world/assets/structures/end_city/tower_base.nbt diff --git a/pumpkin-world/assets/structures/end_city/tower_floor.nbt b/crates/pumpkin-world/assets/structures/end_city/tower_floor.nbt similarity index 100% rename from pumpkin-world/assets/structures/end_city/tower_floor.nbt rename to crates/pumpkin-world/assets/structures/end_city/tower_floor.nbt diff --git a/pumpkin-world/assets/structures/end_city/tower_piece.nbt b/crates/pumpkin-world/assets/structures/end_city/tower_piece.nbt similarity index 100% rename from pumpkin-world/assets/structures/end_city/tower_piece.nbt rename to crates/pumpkin-world/assets/structures/end_city/tower_piece.nbt diff --git a/pumpkin-world/assets/structures/end_city/tower_top.nbt b/crates/pumpkin-world/assets/structures/end_city/tower_top.nbt similarity index 100% rename from pumpkin-world/assets/structures/end_city/tower_top.nbt rename to crates/pumpkin-world/assets/structures/end_city/tower_top.nbt diff --git a/pumpkin-world/assets/structures/fossil/skull_1.nbt b/crates/pumpkin-world/assets/structures/fossil/skull_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/fossil/skull_1.nbt rename to crates/pumpkin-world/assets/structures/fossil/skull_1.nbt diff --git a/pumpkin-world/assets/structures/fossil/skull_1_coal.nbt b/crates/pumpkin-world/assets/structures/fossil/skull_1_coal.nbt similarity index 100% rename from pumpkin-world/assets/structures/fossil/skull_1_coal.nbt rename to crates/pumpkin-world/assets/structures/fossil/skull_1_coal.nbt diff --git a/pumpkin-world/assets/structures/fossil/skull_2.nbt b/crates/pumpkin-world/assets/structures/fossil/skull_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/fossil/skull_2.nbt rename to crates/pumpkin-world/assets/structures/fossil/skull_2.nbt diff --git a/pumpkin-world/assets/structures/fossil/skull_2_coal.nbt b/crates/pumpkin-world/assets/structures/fossil/skull_2_coal.nbt similarity index 100% rename from pumpkin-world/assets/structures/fossil/skull_2_coal.nbt rename to crates/pumpkin-world/assets/structures/fossil/skull_2_coal.nbt diff --git a/pumpkin-world/assets/structures/fossil/skull_3.nbt b/crates/pumpkin-world/assets/structures/fossil/skull_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/fossil/skull_3.nbt rename to crates/pumpkin-world/assets/structures/fossil/skull_3.nbt diff --git a/pumpkin-world/assets/structures/fossil/skull_3_coal.nbt b/crates/pumpkin-world/assets/structures/fossil/skull_3_coal.nbt similarity index 100% rename from pumpkin-world/assets/structures/fossil/skull_3_coal.nbt rename to crates/pumpkin-world/assets/structures/fossil/skull_3_coal.nbt diff --git a/pumpkin-world/assets/structures/fossil/skull_4.nbt b/crates/pumpkin-world/assets/structures/fossil/skull_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/fossil/skull_4.nbt rename to crates/pumpkin-world/assets/structures/fossil/skull_4.nbt diff --git a/pumpkin-world/assets/structures/fossil/skull_4_coal.nbt b/crates/pumpkin-world/assets/structures/fossil/skull_4_coal.nbt similarity index 100% rename from pumpkin-world/assets/structures/fossil/skull_4_coal.nbt rename to crates/pumpkin-world/assets/structures/fossil/skull_4_coal.nbt diff --git a/pumpkin-world/assets/structures/fossil/spine_1.nbt b/crates/pumpkin-world/assets/structures/fossil/spine_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/fossil/spine_1.nbt rename to crates/pumpkin-world/assets/structures/fossil/spine_1.nbt diff --git a/pumpkin-world/assets/structures/fossil/spine_1_coal.nbt b/crates/pumpkin-world/assets/structures/fossil/spine_1_coal.nbt similarity index 100% rename from pumpkin-world/assets/structures/fossil/spine_1_coal.nbt rename to crates/pumpkin-world/assets/structures/fossil/spine_1_coal.nbt diff --git a/pumpkin-world/assets/structures/fossil/spine_2.nbt b/crates/pumpkin-world/assets/structures/fossil/spine_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/fossil/spine_2.nbt rename to crates/pumpkin-world/assets/structures/fossil/spine_2.nbt diff --git a/pumpkin-world/assets/structures/fossil/spine_2_coal.nbt b/crates/pumpkin-world/assets/structures/fossil/spine_2_coal.nbt similarity index 100% rename from pumpkin-world/assets/structures/fossil/spine_2_coal.nbt rename to crates/pumpkin-world/assets/structures/fossil/spine_2_coal.nbt diff --git a/pumpkin-world/assets/structures/fossil/spine_3.nbt b/crates/pumpkin-world/assets/structures/fossil/spine_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/fossil/spine_3.nbt rename to crates/pumpkin-world/assets/structures/fossil/spine_3.nbt diff --git a/pumpkin-world/assets/structures/fossil/spine_3_coal.nbt b/crates/pumpkin-world/assets/structures/fossil/spine_3_coal.nbt similarity index 100% rename from pumpkin-world/assets/structures/fossil/spine_3_coal.nbt rename to crates/pumpkin-world/assets/structures/fossil/spine_3_coal.nbt diff --git a/pumpkin-world/assets/structures/fossil/spine_4.nbt b/crates/pumpkin-world/assets/structures/fossil/spine_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/fossil/spine_4.nbt rename to crates/pumpkin-world/assets/structures/fossil/spine_4.nbt diff --git a/pumpkin-world/assets/structures/fossil/spine_4_coal.nbt b/crates/pumpkin-world/assets/structures/fossil/spine_4_coal.nbt similarity index 100% rename from pumpkin-world/assets/structures/fossil/spine_4_coal.nbt rename to crates/pumpkin-world/assets/structures/fossil/spine_4_coal.nbt diff --git a/pumpkin-world/assets/structures/igloo/bottom.nbt b/crates/pumpkin-world/assets/structures/igloo/bottom.nbt similarity index 100% rename from pumpkin-world/assets/structures/igloo/bottom.nbt rename to crates/pumpkin-world/assets/structures/igloo/bottom.nbt diff --git a/pumpkin-world/assets/structures/igloo/middle.nbt b/crates/pumpkin-world/assets/structures/igloo/middle.nbt similarity index 100% rename from pumpkin-world/assets/structures/igloo/middle.nbt rename to crates/pumpkin-world/assets/structures/igloo/middle.nbt diff --git a/pumpkin-world/assets/structures/igloo/top.nbt b/crates/pumpkin-world/assets/structures/igloo/top.nbt similarity index 100% rename from pumpkin-world/assets/structures/igloo/top.nbt rename to crates/pumpkin-world/assets/structures/igloo/top.nbt diff --git a/pumpkin-world/assets/structures/nether_fossils/fossil_1.nbt b/crates/pumpkin-world/assets/structures/nether_fossils/fossil_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/nether_fossils/fossil_1.nbt rename to crates/pumpkin-world/assets/structures/nether_fossils/fossil_1.nbt diff --git a/pumpkin-world/assets/structures/nether_fossils/fossil_10.nbt b/crates/pumpkin-world/assets/structures/nether_fossils/fossil_10.nbt similarity index 100% rename from pumpkin-world/assets/structures/nether_fossils/fossil_10.nbt rename to crates/pumpkin-world/assets/structures/nether_fossils/fossil_10.nbt diff --git a/pumpkin-world/assets/structures/nether_fossils/fossil_11.nbt b/crates/pumpkin-world/assets/structures/nether_fossils/fossil_11.nbt similarity index 100% rename from pumpkin-world/assets/structures/nether_fossils/fossil_11.nbt rename to crates/pumpkin-world/assets/structures/nether_fossils/fossil_11.nbt diff --git a/pumpkin-world/assets/structures/nether_fossils/fossil_12.nbt b/crates/pumpkin-world/assets/structures/nether_fossils/fossil_12.nbt similarity index 100% rename from pumpkin-world/assets/structures/nether_fossils/fossil_12.nbt rename to crates/pumpkin-world/assets/structures/nether_fossils/fossil_12.nbt diff --git a/pumpkin-world/assets/structures/nether_fossils/fossil_13.nbt b/crates/pumpkin-world/assets/structures/nether_fossils/fossil_13.nbt similarity index 100% rename from pumpkin-world/assets/structures/nether_fossils/fossil_13.nbt rename to crates/pumpkin-world/assets/structures/nether_fossils/fossil_13.nbt diff --git a/pumpkin-world/assets/structures/nether_fossils/fossil_14.nbt b/crates/pumpkin-world/assets/structures/nether_fossils/fossil_14.nbt similarity index 100% rename from pumpkin-world/assets/structures/nether_fossils/fossil_14.nbt rename to crates/pumpkin-world/assets/structures/nether_fossils/fossil_14.nbt diff --git a/pumpkin-world/assets/structures/nether_fossils/fossil_2.nbt b/crates/pumpkin-world/assets/structures/nether_fossils/fossil_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/nether_fossils/fossil_2.nbt rename to crates/pumpkin-world/assets/structures/nether_fossils/fossil_2.nbt diff --git a/pumpkin-world/assets/structures/nether_fossils/fossil_3.nbt b/crates/pumpkin-world/assets/structures/nether_fossils/fossil_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/nether_fossils/fossil_3.nbt rename to crates/pumpkin-world/assets/structures/nether_fossils/fossil_3.nbt diff --git a/pumpkin-world/assets/structures/nether_fossils/fossil_4.nbt b/crates/pumpkin-world/assets/structures/nether_fossils/fossil_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/nether_fossils/fossil_4.nbt rename to crates/pumpkin-world/assets/structures/nether_fossils/fossil_4.nbt diff --git a/pumpkin-world/assets/structures/nether_fossils/fossil_5.nbt b/crates/pumpkin-world/assets/structures/nether_fossils/fossil_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/nether_fossils/fossil_5.nbt rename to crates/pumpkin-world/assets/structures/nether_fossils/fossil_5.nbt diff --git a/pumpkin-world/assets/structures/nether_fossils/fossil_6.nbt b/crates/pumpkin-world/assets/structures/nether_fossils/fossil_6.nbt similarity index 100% rename from pumpkin-world/assets/structures/nether_fossils/fossil_6.nbt rename to crates/pumpkin-world/assets/structures/nether_fossils/fossil_6.nbt diff --git a/pumpkin-world/assets/structures/nether_fossils/fossil_7.nbt b/crates/pumpkin-world/assets/structures/nether_fossils/fossil_7.nbt similarity index 100% rename from pumpkin-world/assets/structures/nether_fossils/fossil_7.nbt rename to crates/pumpkin-world/assets/structures/nether_fossils/fossil_7.nbt diff --git a/pumpkin-world/assets/structures/nether_fossils/fossil_8.nbt b/crates/pumpkin-world/assets/structures/nether_fossils/fossil_8.nbt similarity index 100% rename from pumpkin-world/assets/structures/nether_fossils/fossil_8.nbt rename to crates/pumpkin-world/assets/structures/nether_fossils/fossil_8.nbt diff --git a/pumpkin-world/assets/structures/nether_fossils/fossil_9.nbt b/crates/pumpkin-world/assets/structures/nether_fossils/fossil_9.nbt similarity index 100% rename from pumpkin-world/assets/structures/nether_fossils/fossil_9.nbt rename to crates/pumpkin-world/assets/structures/nether_fossils/fossil_9.nbt diff --git a/pumpkin-world/assets/structures/pillager_outpost/base_plate.nbt b/crates/pumpkin-world/assets/structures/pillager_outpost/base_plate.nbt similarity index 100% rename from pumpkin-world/assets/structures/pillager_outpost/base_plate.nbt rename to crates/pumpkin-world/assets/structures/pillager_outpost/base_plate.nbt diff --git a/pumpkin-world/assets/structures/pillager_outpost/feature_cage1.nbt b/crates/pumpkin-world/assets/structures/pillager_outpost/feature_cage1.nbt similarity index 100% rename from pumpkin-world/assets/structures/pillager_outpost/feature_cage1.nbt rename to crates/pumpkin-world/assets/structures/pillager_outpost/feature_cage1.nbt diff --git a/pumpkin-world/assets/structures/pillager_outpost/feature_cage2.nbt b/crates/pumpkin-world/assets/structures/pillager_outpost/feature_cage2.nbt similarity index 100% rename from pumpkin-world/assets/structures/pillager_outpost/feature_cage2.nbt rename to crates/pumpkin-world/assets/structures/pillager_outpost/feature_cage2.nbt diff --git a/pumpkin-world/assets/structures/pillager_outpost/feature_cage_with_allays.nbt b/crates/pumpkin-world/assets/structures/pillager_outpost/feature_cage_with_allays.nbt similarity index 100% rename from pumpkin-world/assets/structures/pillager_outpost/feature_cage_with_allays.nbt rename to crates/pumpkin-world/assets/structures/pillager_outpost/feature_cage_with_allays.nbt diff --git a/pumpkin-world/assets/structures/pillager_outpost/feature_logs.nbt b/crates/pumpkin-world/assets/structures/pillager_outpost/feature_logs.nbt similarity index 100% rename from pumpkin-world/assets/structures/pillager_outpost/feature_logs.nbt rename to crates/pumpkin-world/assets/structures/pillager_outpost/feature_logs.nbt diff --git a/pumpkin-world/assets/structures/pillager_outpost/feature_plate.nbt b/crates/pumpkin-world/assets/structures/pillager_outpost/feature_plate.nbt similarity index 100% rename from pumpkin-world/assets/structures/pillager_outpost/feature_plate.nbt rename to crates/pumpkin-world/assets/structures/pillager_outpost/feature_plate.nbt diff --git a/pumpkin-world/assets/structures/pillager_outpost/feature_targets.nbt b/crates/pumpkin-world/assets/structures/pillager_outpost/feature_targets.nbt similarity index 100% rename from pumpkin-world/assets/structures/pillager_outpost/feature_targets.nbt rename to crates/pumpkin-world/assets/structures/pillager_outpost/feature_targets.nbt diff --git a/pumpkin-world/assets/structures/pillager_outpost/feature_tent1.nbt b/crates/pumpkin-world/assets/structures/pillager_outpost/feature_tent1.nbt similarity index 100% rename from pumpkin-world/assets/structures/pillager_outpost/feature_tent1.nbt rename to crates/pumpkin-world/assets/structures/pillager_outpost/feature_tent1.nbt diff --git a/pumpkin-world/assets/structures/pillager_outpost/feature_tent2.nbt b/crates/pumpkin-world/assets/structures/pillager_outpost/feature_tent2.nbt similarity index 100% rename from pumpkin-world/assets/structures/pillager_outpost/feature_tent2.nbt rename to crates/pumpkin-world/assets/structures/pillager_outpost/feature_tent2.nbt diff --git a/pumpkin-world/assets/structures/pillager_outpost/watchtower.nbt b/crates/pumpkin-world/assets/structures/pillager_outpost/watchtower.nbt similarity index 100% rename from pumpkin-world/assets/structures/pillager_outpost/watchtower.nbt rename to crates/pumpkin-world/assets/structures/pillager_outpost/watchtower.nbt diff --git a/pumpkin-world/assets/structures/pillager_outpost/watchtower_overgrown.nbt b/crates/pumpkin-world/assets/structures/pillager_outpost/watchtower_overgrown.nbt similarity index 100% rename from pumpkin-world/assets/structures/pillager_outpost/watchtower_overgrown.nbt rename to crates/pumpkin-world/assets/structures/pillager_outpost/watchtower_overgrown.nbt diff --git a/pumpkin-world/assets/structures/ruined_portal/giant_portal_1.nbt b/crates/pumpkin-world/assets/structures/ruined_portal/giant_portal_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/ruined_portal/giant_portal_1.nbt rename to crates/pumpkin-world/assets/structures/ruined_portal/giant_portal_1.nbt diff --git a/pumpkin-world/assets/structures/ruined_portal/giant_portal_2.nbt b/crates/pumpkin-world/assets/structures/ruined_portal/giant_portal_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/ruined_portal/giant_portal_2.nbt rename to crates/pumpkin-world/assets/structures/ruined_portal/giant_portal_2.nbt diff --git a/pumpkin-world/assets/structures/ruined_portal/giant_portal_3.nbt b/crates/pumpkin-world/assets/structures/ruined_portal/giant_portal_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/ruined_portal/giant_portal_3.nbt rename to crates/pumpkin-world/assets/structures/ruined_portal/giant_portal_3.nbt diff --git a/pumpkin-world/assets/structures/ruined_portal/portal_1.nbt b/crates/pumpkin-world/assets/structures/ruined_portal/portal_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/ruined_portal/portal_1.nbt rename to crates/pumpkin-world/assets/structures/ruined_portal/portal_1.nbt diff --git a/pumpkin-world/assets/structures/ruined_portal/portal_10.nbt b/crates/pumpkin-world/assets/structures/ruined_portal/portal_10.nbt similarity index 100% rename from pumpkin-world/assets/structures/ruined_portal/portal_10.nbt rename to crates/pumpkin-world/assets/structures/ruined_portal/portal_10.nbt diff --git a/pumpkin-world/assets/structures/ruined_portal/portal_2.nbt b/crates/pumpkin-world/assets/structures/ruined_portal/portal_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/ruined_portal/portal_2.nbt rename to crates/pumpkin-world/assets/structures/ruined_portal/portal_2.nbt diff --git a/pumpkin-world/assets/structures/ruined_portal/portal_3.nbt b/crates/pumpkin-world/assets/structures/ruined_portal/portal_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/ruined_portal/portal_3.nbt rename to crates/pumpkin-world/assets/structures/ruined_portal/portal_3.nbt diff --git a/pumpkin-world/assets/structures/ruined_portal/portal_4.nbt b/crates/pumpkin-world/assets/structures/ruined_portal/portal_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/ruined_portal/portal_4.nbt rename to crates/pumpkin-world/assets/structures/ruined_portal/portal_4.nbt diff --git a/pumpkin-world/assets/structures/ruined_portal/portal_5.nbt b/crates/pumpkin-world/assets/structures/ruined_portal/portal_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/ruined_portal/portal_5.nbt rename to crates/pumpkin-world/assets/structures/ruined_portal/portal_5.nbt diff --git a/pumpkin-world/assets/structures/ruined_portal/portal_6.nbt b/crates/pumpkin-world/assets/structures/ruined_portal/portal_6.nbt similarity index 100% rename from pumpkin-world/assets/structures/ruined_portal/portal_6.nbt rename to crates/pumpkin-world/assets/structures/ruined_portal/portal_6.nbt diff --git a/pumpkin-world/assets/structures/ruined_portal/portal_7.nbt b/crates/pumpkin-world/assets/structures/ruined_portal/portal_7.nbt similarity index 100% rename from pumpkin-world/assets/structures/ruined_portal/portal_7.nbt rename to crates/pumpkin-world/assets/structures/ruined_portal/portal_7.nbt diff --git a/pumpkin-world/assets/structures/ruined_portal/portal_8.nbt b/crates/pumpkin-world/assets/structures/ruined_portal/portal_8.nbt similarity index 100% rename from pumpkin-world/assets/structures/ruined_portal/portal_8.nbt rename to crates/pumpkin-world/assets/structures/ruined_portal/portal_8.nbt diff --git a/pumpkin-world/assets/structures/ruined_portal/portal_9.nbt b/crates/pumpkin-world/assets/structures/ruined_portal/portal_9.nbt similarity index 100% rename from pumpkin-world/assets/structures/ruined_portal/portal_9.nbt rename to crates/pumpkin-world/assets/structures/ruined_portal/portal_9.nbt diff --git a/pumpkin-world/assets/structures/shipwreck/rightsideup_backhalf.nbt b/crates/pumpkin-world/assets/structures/shipwreck/rightsideup_backhalf.nbt similarity index 100% rename from pumpkin-world/assets/structures/shipwreck/rightsideup_backhalf.nbt rename to crates/pumpkin-world/assets/structures/shipwreck/rightsideup_backhalf.nbt diff --git a/pumpkin-world/assets/structures/shipwreck/rightsideup_backhalf_degraded.nbt b/crates/pumpkin-world/assets/structures/shipwreck/rightsideup_backhalf_degraded.nbt similarity index 100% rename from pumpkin-world/assets/structures/shipwreck/rightsideup_backhalf_degraded.nbt rename to crates/pumpkin-world/assets/structures/shipwreck/rightsideup_backhalf_degraded.nbt diff --git a/pumpkin-world/assets/structures/shipwreck/rightsideup_fronthalf.nbt b/crates/pumpkin-world/assets/structures/shipwreck/rightsideup_fronthalf.nbt similarity index 100% rename from pumpkin-world/assets/structures/shipwreck/rightsideup_fronthalf.nbt rename to crates/pumpkin-world/assets/structures/shipwreck/rightsideup_fronthalf.nbt diff --git a/pumpkin-world/assets/structures/shipwreck/rightsideup_fronthalf_degraded.nbt b/crates/pumpkin-world/assets/structures/shipwreck/rightsideup_fronthalf_degraded.nbt similarity index 100% rename from pumpkin-world/assets/structures/shipwreck/rightsideup_fronthalf_degraded.nbt rename to crates/pumpkin-world/assets/structures/shipwreck/rightsideup_fronthalf_degraded.nbt diff --git a/pumpkin-world/assets/structures/shipwreck/rightsideup_full.nbt b/crates/pumpkin-world/assets/structures/shipwreck/rightsideup_full.nbt similarity index 100% rename from pumpkin-world/assets/structures/shipwreck/rightsideup_full.nbt rename to crates/pumpkin-world/assets/structures/shipwreck/rightsideup_full.nbt diff --git a/pumpkin-world/assets/structures/shipwreck/rightsideup_full_degraded.nbt b/crates/pumpkin-world/assets/structures/shipwreck/rightsideup_full_degraded.nbt similarity index 100% rename from pumpkin-world/assets/structures/shipwreck/rightsideup_full_degraded.nbt rename to crates/pumpkin-world/assets/structures/shipwreck/rightsideup_full_degraded.nbt diff --git a/pumpkin-world/assets/structures/shipwreck/sideways_backhalf.nbt b/crates/pumpkin-world/assets/structures/shipwreck/sideways_backhalf.nbt similarity index 100% rename from pumpkin-world/assets/structures/shipwreck/sideways_backhalf.nbt rename to crates/pumpkin-world/assets/structures/shipwreck/sideways_backhalf.nbt diff --git a/pumpkin-world/assets/structures/shipwreck/sideways_backhalf_degraded.nbt b/crates/pumpkin-world/assets/structures/shipwreck/sideways_backhalf_degraded.nbt similarity index 100% rename from pumpkin-world/assets/structures/shipwreck/sideways_backhalf_degraded.nbt rename to crates/pumpkin-world/assets/structures/shipwreck/sideways_backhalf_degraded.nbt diff --git a/pumpkin-world/assets/structures/shipwreck/sideways_fronthalf.nbt b/crates/pumpkin-world/assets/structures/shipwreck/sideways_fronthalf.nbt similarity index 100% rename from pumpkin-world/assets/structures/shipwreck/sideways_fronthalf.nbt rename to crates/pumpkin-world/assets/structures/shipwreck/sideways_fronthalf.nbt diff --git a/pumpkin-world/assets/structures/shipwreck/sideways_fronthalf_degraded.nbt b/crates/pumpkin-world/assets/structures/shipwreck/sideways_fronthalf_degraded.nbt similarity index 100% rename from pumpkin-world/assets/structures/shipwreck/sideways_fronthalf_degraded.nbt rename to crates/pumpkin-world/assets/structures/shipwreck/sideways_fronthalf_degraded.nbt diff --git a/pumpkin-world/assets/structures/shipwreck/sideways_full.nbt b/crates/pumpkin-world/assets/structures/shipwreck/sideways_full.nbt similarity index 100% rename from pumpkin-world/assets/structures/shipwreck/sideways_full.nbt rename to crates/pumpkin-world/assets/structures/shipwreck/sideways_full.nbt diff --git a/pumpkin-world/assets/structures/shipwreck/sideways_full_degraded.nbt b/crates/pumpkin-world/assets/structures/shipwreck/sideways_full_degraded.nbt similarity index 100% rename from pumpkin-world/assets/structures/shipwreck/sideways_full_degraded.nbt rename to crates/pumpkin-world/assets/structures/shipwreck/sideways_full_degraded.nbt diff --git a/pumpkin-world/assets/structures/shipwreck/upsidedown_backhalf.nbt b/crates/pumpkin-world/assets/structures/shipwreck/upsidedown_backhalf.nbt similarity index 100% rename from pumpkin-world/assets/structures/shipwreck/upsidedown_backhalf.nbt rename to crates/pumpkin-world/assets/structures/shipwreck/upsidedown_backhalf.nbt diff --git a/pumpkin-world/assets/structures/shipwreck/upsidedown_backhalf_degraded.nbt b/crates/pumpkin-world/assets/structures/shipwreck/upsidedown_backhalf_degraded.nbt similarity index 100% rename from pumpkin-world/assets/structures/shipwreck/upsidedown_backhalf_degraded.nbt rename to crates/pumpkin-world/assets/structures/shipwreck/upsidedown_backhalf_degraded.nbt diff --git a/pumpkin-world/assets/structures/shipwreck/upsidedown_fronthalf.nbt b/crates/pumpkin-world/assets/structures/shipwreck/upsidedown_fronthalf.nbt similarity index 100% rename from pumpkin-world/assets/structures/shipwreck/upsidedown_fronthalf.nbt rename to crates/pumpkin-world/assets/structures/shipwreck/upsidedown_fronthalf.nbt diff --git a/pumpkin-world/assets/structures/shipwreck/upsidedown_fronthalf_degraded.nbt b/crates/pumpkin-world/assets/structures/shipwreck/upsidedown_fronthalf_degraded.nbt similarity index 100% rename from pumpkin-world/assets/structures/shipwreck/upsidedown_fronthalf_degraded.nbt rename to crates/pumpkin-world/assets/structures/shipwreck/upsidedown_fronthalf_degraded.nbt diff --git a/pumpkin-world/assets/structures/shipwreck/upsidedown_full.nbt b/crates/pumpkin-world/assets/structures/shipwreck/upsidedown_full.nbt similarity index 100% rename from pumpkin-world/assets/structures/shipwreck/upsidedown_full.nbt rename to crates/pumpkin-world/assets/structures/shipwreck/upsidedown_full.nbt diff --git a/pumpkin-world/assets/structures/shipwreck/upsidedown_full_degraded.nbt b/crates/pumpkin-world/assets/structures/shipwreck/upsidedown_full_degraded.nbt similarity index 100% rename from pumpkin-world/assets/structures/shipwreck/upsidedown_full_degraded.nbt rename to crates/pumpkin-world/assets/structures/shipwreck/upsidedown_full_degraded.nbt diff --git a/pumpkin-world/assets/structures/shipwreck/with_mast.nbt b/crates/pumpkin-world/assets/structures/shipwreck/with_mast.nbt similarity index 100% rename from pumpkin-world/assets/structures/shipwreck/with_mast.nbt rename to crates/pumpkin-world/assets/structures/shipwreck/with_mast.nbt diff --git a/pumpkin-world/assets/structures/shipwreck/with_mast_degraded.nbt b/crates/pumpkin-world/assets/structures/shipwreck/with_mast_degraded.nbt similarity index 100% rename from pumpkin-world/assets/structures/shipwreck/with_mast_degraded.nbt rename to crates/pumpkin-world/assets/structures/shipwreck/with_mast_degraded.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/buildings/group_full_1.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_full_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/buildings/group_full_1.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_full_1.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/buildings/group_full_2.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_full_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/buildings/group_full_2.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_full_2.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/buildings/group_full_3.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_full_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/buildings/group_full_3.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_full_3.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/buildings/group_full_4.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_full_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/buildings/group_full_4.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_full_4.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/buildings/group_full_5.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_full_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/buildings/group_full_5.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_full_5.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/buildings/group_hall_1.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_hall_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/buildings/group_hall_1.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_hall_1.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/buildings/group_hall_2.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_hall_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/buildings/group_hall_2.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_hall_2.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/buildings/group_hall_3.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_hall_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/buildings/group_hall_3.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_hall_3.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/buildings/group_hall_4.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_hall_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/buildings/group_hall_4.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_hall_4.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/buildings/group_hall_5.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_hall_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/buildings/group_hall_5.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_hall_5.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/buildings/group_lower_1.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_lower_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/buildings/group_lower_1.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_lower_1.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/buildings/group_lower_2.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_lower_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/buildings/group_lower_2.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_lower_2.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/buildings/group_lower_3.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_lower_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/buildings/group_lower_3.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_lower_3.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/buildings/group_lower_4.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_lower_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/buildings/group_lower_4.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_lower_4.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/buildings/group_lower_5.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_lower_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/buildings/group_lower_5.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_lower_5.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/buildings/group_room_1.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_room_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/buildings/group_room_1.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_room_1.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/buildings/group_room_2.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_room_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/buildings/group_room_2.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_room_2.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/buildings/group_room_3.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_room_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/buildings/group_room_3.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_room_3.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/buildings/group_room_4.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_room_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/buildings/group_room_4.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_room_4.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/buildings/group_room_5.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_room_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/buildings/group_room_5.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_room_5.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/buildings/group_upper_1.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_upper_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/buildings/group_upper_1.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_upper_1.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/buildings/group_upper_2.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_upper_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/buildings/group_upper_2.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_upper_2.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/buildings/group_upper_3.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_upper_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/buildings/group_upper_3.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_upper_3.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/buildings/group_upper_4.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_upper_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/buildings/group_upper_4.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_upper_4.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/buildings/group_upper_5.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_upper_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/buildings/group_upper_5.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/buildings/group_upper_5.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/buildings/large_room_1.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/buildings/large_room_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/buildings/large_room_1.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/buildings/large_room_1.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/buildings/large_room_2.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/buildings/large_room_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/buildings/large_room_2.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/buildings/large_room_2.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/buildings/large_room_3.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/buildings/large_room_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/buildings/large_room_3.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/buildings/large_room_3.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/buildings/large_room_4.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/buildings/large_room_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/buildings/large_room_4.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/buildings/large_room_4.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/buildings/large_room_5.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/buildings/large_room_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/buildings/large_room_5.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/buildings/large_room_5.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/buildings/one_room_1.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/buildings/one_room_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/buildings/one_room_1.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/buildings/one_room_1.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/buildings/one_room_2.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/buildings/one_room_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/buildings/one_room_2.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/buildings/one_room_2.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/buildings/one_room_3.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/buildings/one_room_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/buildings/one_room_3.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/buildings/one_room_3.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/buildings/one_room_4.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/buildings/one_room_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/buildings/one_room_4.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/buildings/one_room_4.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/buildings/one_room_5.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/buildings/one_room_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/buildings/one_room_5.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/buildings/one_room_5.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/decor/decor_1.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/decor/decor_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/decor/decor_1.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/decor/decor_1.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/decor/decor_2.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/decor/decor_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/decor/decor_2.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/decor/decor_2.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/decor/decor_3.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/decor/decor_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/decor/decor_3.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/decor/decor_3.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/decor/decor_4.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/decor/decor_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/decor/decor_4.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/decor/decor_4.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/decor/decor_5.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/decor/decor_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/decor/decor_5.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/decor/decor_5.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/decor/decor_6.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/decor/decor_6.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/decor/decor_6.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/decor/decor_6.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/decor/decor_7.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/decor/decor_7.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/decor/decor_7.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/decor/decor_7.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/roads/long_road_end.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/roads/long_road_end.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/roads/long_road_end.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/roads/long_road_end.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/roads/road_end_1.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/roads/road_end_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/roads/road_end_1.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/roads/road_end_1.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/roads/road_section_1.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/roads/road_section_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/roads/road_section_1.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/roads/road_section_1.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/roads/road_section_2.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/roads/road_section_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/roads/road_section_2.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/roads/road_section_2.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/roads/road_section_3.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/roads/road_section_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/roads/road_section_3.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/roads/road_section_3.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/roads/road_section_4.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/roads/road_section_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/roads/road_section_4.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/roads/road_section_4.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/roads/road_spacer_1.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/roads/road_spacer_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/roads/road_spacer_1.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/roads/road_spacer_1.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/tower/hall_1.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/tower/hall_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/tower/hall_1.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/tower/hall_1.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/tower/hall_2.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/tower/hall_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/tower/hall_2.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/tower/hall_2.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/tower/hall_3.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/tower/hall_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/tower/hall_3.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/tower/hall_3.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/tower/hall_4.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/tower/hall_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/tower/hall_4.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/tower/hall_4.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/tower/hall_5.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/tower/hall_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/tower/hall_5.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/tower/hall_5.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/tower/large_hall_1.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/tower/large_hall_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/tower/large_hall_1.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/tower/large_hall_1.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/tower/large_hall_2.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/tower/large_hall_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/tower/large_hall_2.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/tower/large_hall_2.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/tower/large_hall_3.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/tower/large_hall_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/tower/large_hall_3.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/tower/large_hall_3.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/tower/large_hall_4.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/tower/large_hall_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/tower/large_hall_4.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/tower/large_hall_4.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/tower/large_hall_5.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/tower/large_hall_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/tower/large_hall_5.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/tower/large_hall_5.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/tower/one_room_1.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/tower/one_room_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/tower/one_room_1.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/tower/one_room_1.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/tower/one_room_2.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/tower/one_room_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/tower/one_room_2.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/tower/one_room_2.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/tower/one_room_3.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/tower/one_room_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/tower/one_room_3.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/tower/one_room_3.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/tower/one_room_4.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/tower/one_room_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/tower/one_room_4.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/tower/one_room_4.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/tower/one_room_5.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/tower/one_room_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/tower/one_room_5.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/tower/one_room_5.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/tower/platform_1.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/tower/platform_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/tower/platform_1.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/tower/platform_1.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/tower/platform_2.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/tower/platform_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/tower/platform_2.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/tower/platform_2.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/tower/platform_3.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/tower/platform_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/tower/platform_3.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/tower/platform_3.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/tower/platform_4.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/tower/platform_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/tower/platform_4.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/tower/platform_4.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/tower/platform_5.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/tower/platform_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/tower/platform_5.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/tower/platform_5.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/tower/stable_1.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/tower/stable_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/tower/stable_1.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/tower/stable_1.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/tower/stable_2.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/tower/stable_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/tower/stable_2.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/tower/stable_2.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/tower/stable_3.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/tower/stable_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/tower/stable_3.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/tower/stable_3.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/tower/stable_4.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/tower/stable_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/tower/stable_4.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/tower/stable_4.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/tower/stable_5.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/tower/stable_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/tower/stable_5.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/tower/stable_5.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/tower/tower_1.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/tower/tower_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/tower/tower_1.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/tower/tower_1.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/tower/tower_2.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/tower/tower_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/tower/tower_2.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/tower/tower_2.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/tower/tower_3.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/tower/tower_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/tower/tower_3.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/tower/tower_3.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/tower/tower_4.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/tower/tower_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/tower/tower_4.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/tower/tower_4.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/tower/tower_5.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/tower/tower_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/tower/tower_5.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/tower/tower_5.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/tower/tower_top_1.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/tower/tower_top_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/tower/tower_top_1.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/tower/tower_top_1.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/tower/tower_top_2.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/tower/tower_top_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/tower/tower_top_2.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/tower/tower_top_2.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/tower/tower_top_3.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/tower/tower_top_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/tower/tower_top_3.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/tower/tower_top_3.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/tower/tower_top_4.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/tower/tower_top_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/tower/tower_top_4.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/tower/tower_top_4.nbt diff --git a/pumpkin-world/assets/structures/trail_ruins/tower/tower_top_5.nbt b/crates/pumpkin-world/assets/structures/trail_ruins/tower/tower_top_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/trail_ruins/tower/tower_top_5.nbt rename to crates/pumpkin-world/assets/structures/trail_ruins/tower/tower_top_5.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/addon/c1_breeze.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/addon/c1_breeze.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/addon/c1_breeze.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/addon/c1_breeze.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/addon/full_corner_column.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/addon/full_corner_column.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/addon/full_corner_column.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/addon/full_corner_column.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/addon/full_stacked_walkway.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/addon/full_stacked_walkway.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/addon/full_stacked_walkway.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/addon/full_stacked_walkway.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/addon/full_stacked_walkway_2.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/addon/full_stacked_walkway_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/addon/full_stacked_walkway_2.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/addon/full_stacked_walkway_2.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/addon/grate_bridge.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/addon/grate_bridge.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/addon/grate_bridge.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/addon/grate_bridge.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/addon/hanging_platform.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/addon/hanging_platform.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/addon/hanging_platform.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/addon/hanging_platform.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/addon/lower_staircase_down.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/addon/lower_staircase_down.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/addon/lower_staircase_down.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/addon/lower_staircase_down.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/addon/short_grate_platform.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/addon/short_grate_platform.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/addon/short_grate_platform.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/addon/short_grate_platform.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/addon/short_platform.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/addon/short_platform.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/addon/short_platform.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/addon/short_platform.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/addon/walkway_with_bridge_1.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/addon/walkway_with_bridge_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/addon/walkway_with_bridge_1.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/addon/walkway_with_bridge_1.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/assembly.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/assembly.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/cover_1.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/cover_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/assembly/cover_1.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/cover_1.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/cover_2.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/cover_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/assembly/cover_2.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/cover_2.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/cover_3.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/cover_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/assembly/cover_3.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/cover_3.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/cover_4.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/cover_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/assembly/cover_4.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/cover_4.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/cover_5.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/cover_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/assembly/cover_5.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/cover_5.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/cover_6.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/cover_6.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/assembly/cover_6.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/cover_6.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/cover_7.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/cover_7.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/assembly/cover_7.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/cover_7.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/full_column.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/full_column.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/assembly/full_column.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/full_column.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/hanging_1.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/hanging_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/assembly/hanging_1.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/hanging_1.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/hanging_2.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/hanging_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/assembly/hanging_2.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/hanging_2.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/hanging_3.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/hanging_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/assembly/hanging_3.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/hanging_3.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/hanging_4.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/hanging_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/assembly/hanging_4.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/hanging_4.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/hanging_5.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/hanging_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/assembly/hanging_5.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/hanging_5.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/left_staircase_1.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/left_staircase_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/assembly/left_staircase_1.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/left_staircase_1.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/left_staircase_2.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/left_staircase_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/assembly/left_staircase_2.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/left_staircase_2.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/left_staircase_3.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/left_staircase_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/assembly/left_staircase_3.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/left_staircase_3.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/platform_1.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/platform_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/assembly/platform_1.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/platform_1.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/right_staircase_1.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/right_staircase_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/assembly/right_staircase_1.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/right_staircase_1.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/right_staircase_2.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/right_staircase_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/assembly/right_staircase_2.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/right_staircase_2.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/right_staircase_3.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/right_staircase_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/assembly/right_staircase_3.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/right_staircase_3.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/spawner_1.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/spawner_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/assembly/spawner_1.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/assembly/spawner_1.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/chamber_1.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/chamber_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/chamber_1.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/chamber_1.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/chamber_2.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/chamber_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/chamber_2.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/chamber_2.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/chamber_4.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/chamber_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/chamber_4.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/chamber_4.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/chamber_8.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/chamber_8.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/chamber_8.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/chamber_8.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/entrance_cap.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/entrance_cap.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/entrance_cap.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/entrance_cap.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/eruption.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/eruption.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/eruption.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/eruption.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/eruption/breeze_slice_1.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/eruption/breeze_slice_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/eruption/breeze_slice_1.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/eruption/breeze_slice_1.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/eruption/center_1.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/eruption/center_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/eruption/center_1.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/eruption/center_1.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/eruption/quadrant_1.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/eruption/quadrant_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/eruption/quadrant_1.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/eruption/quadrant_1.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/eruption/quadrant_2.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/eruption/quadrant_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/eruption/quadrant_2.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/eruption/quadrant_2.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/eruption/quadrant_3.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/eruption/quadrant_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/eruption/quadrant_3.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/eruption/quadrant_3.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/eruption/quadrant_4.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/eruption/quadrant_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/eruption/quadrant_4.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/eruption/quadrant_4.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/eruption/quadrant_5.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/eruption/quadrant_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/eruption/quadrant_5.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/eruption/quadrant_5.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/eruption/slice_1.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/eruption/slice_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/eruption/slice_1.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/eruption/slice_1.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/eruption/slice_2.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/eruption/slice_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/eruption/slice_2.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/eruption/slice_2.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/eruption/slice_3.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/eruption/slice_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/eruption/slice_3.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/eruption/slice_3.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/pedestal.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/pedestal.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/pedestal.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/pedestal.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/center_1.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/center_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/center_1.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/center_1.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/ominous_slice_1.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/ominous_slice_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/ominous_slice_1.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/ominous_slice_1.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/quadrant_1.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/quadrant_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/quadrant_1.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/quadrant_1.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/quadrant_2.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/quadrant_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/quadrant_2.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/quadrant_2.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/quadrant_3.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/quadrant_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/quadrant_3.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/quadrant_3.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/slice_1.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/slice_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/slice_1.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/slice_1.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/slice_2.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/slice_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/slice_2.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/slice_2.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/slice_3.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/slice_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/slice_3.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/slice_3.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/slice_4.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/slice_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/slice_4.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/slice_4.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/slice_5.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/slice_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/slice_5.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/pedestal/slice_5.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/slanted.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/slanted.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/slanted.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/slanted.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/center.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/center.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/slanted/center.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/center.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/hallway_1.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/hallway_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/slanted/hallway_1.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/hallway_1.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/hallway_2.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/hallway_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/slanted/hallway_2.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/hallway_2.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/hallway_3.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/hallway_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/slanted/hallway_3.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/hallway_3.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/ominous_upper_arm_1.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/ominous_upper_arm_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/slanted/ominous_upper_arm_1.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/ominous_upper_arm_1.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/quadrant_1.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/quadrant_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/slanted/quadrant_1.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/quadrant_1.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/quadrant_2.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/quadrant_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/slanted/quadrant_2.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/quadrant_2.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/quadrant_3.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/quadrant_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/slanted/quadrant_3.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/quadrant_3.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/quadrant_4.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/quadrant_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/slanted/quadrant_4.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/quadrant_4.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/ramp_1.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/ramp_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/slanted/ramp_1.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/ramp_1.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/ramp_2.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/ramp_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/slanted/ramp_2.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/ramp_2.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/ramp_3.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/ramp_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/slanted/ramp_3.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/ramp_3.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/ramp_4.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/ramp_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chamber/slanted/ramp_4.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chamber/slanted/ramp_4.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chests/connectors/supply.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chests/connectors/supply.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chests/connectors/supply.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chests/connectors/supply.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/chests/supply.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/chests/supply.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/chests/supply.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/chests/supply.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/addon/arrow_dispenser.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/addon/arrow_dispenser.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/addon/arrow_dispenser.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/addon/arrow_dispenser.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/addon/bridge_lower.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/addon/bridge_lower.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/addon/bridge_lower.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/addon/bridge_lower.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/addon/chandelier_upper.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/addon/chandelier_upper.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/addon/chandelier_upper.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/addon/chandelier_upper.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/addon/decoration_upper.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/addon/decoration_upper.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/addon/decoration_upper.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/addon/decoration_upper.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/addon/display_1.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/addon/display_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/addon/display_1.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/addon/display_1.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/addon/display_2.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/addon/display_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/addon/display_2.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/addon/display_2.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/addon/display_3.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/addon/display_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/addon/display_3.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/addon/display_3.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/addon/head_upper.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/addon/head_upper.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/addon/head_upper.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/addon/head_upper.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/addon/ladder_to_middle.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/addon/ladder_to_middle.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/addon/ladder_to_middle.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/addon/ladder_to_middle.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/addon/open_walkway.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/addon/open_walkway.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/addon/open_walkway.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/addon/open_walkway.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/addon/open_walkway_upper.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/addon/open_walkway_upper.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/addon/open_walkway_upper.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/addon/open_walkway_upper.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/addon/reward_upper.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/addon/reward_upper.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/addon/reward_upper.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/addon/reward_upper.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/addon/staircase.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/addon/staircase.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/addon/staircase.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/addon/staircase.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/addon/wall.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/addon/wall.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/addon/wall.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/addon/wall.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/addon/walled_walkway.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/addon/walled_walkway.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/addon/walled_walkway.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/addon/walled_walkway.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/atrium/bogged_relief.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/atrium/bogged_relief.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/atrium/bogged_relief.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/atrium/bogged_relief.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/atrium/breeze_relief.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/atrium/breeze_relief.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/atrium/breeze_relief.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/atrium/breeze_relief.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/atrium/grand_staircase_1.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/atrium/grand_staircase_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/atrium/grand_staircase_1.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/atrium/grand_staircase_1.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/atrium/grand_staircase_2.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/atrium/grand_staircase_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/atrium/grand_staircase_2.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/atrium/grand_staircase_2.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/atrium/grand_staircase_3.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/atrium/grand_staircase_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/atrium/grand_staircase_3.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/atrium/grand_staircase_3.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/atrium/spider_relief.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/atrium/spider_relief.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/atrium/spider_relief.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/atrium/spider_relief.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/atrium/spiral_relief.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/atrium/spiral_relief.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/atrium/spiral_relief.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/atrium/spiral_relief.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/atrium_1.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/atrium_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/atrium_1.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/atrium_1.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/end_1.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/end_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/end_1.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/end_1.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/end_2.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/end_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/end_2.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/end_2.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/entrance_1.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/entrance_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/entrance_1.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/entrance_1.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/entrance_2.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/entrance_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/entrance_2.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/entrance_2.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/entrance_3.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/entrance_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/entrance_3.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/entrance_3.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/first_plate.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/first_plate.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/first_plate.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/first_plate.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/second_plate.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/second_plate.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/second_plate.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/second_plate.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/straight_1.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/straight_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/straight_1.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/straight_1.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/straight_2.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/straight_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/straight_2.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/straight_2.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/straight_3.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/straight_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/straight_3.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/straight_3.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/straight_4.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/straight_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/straight_4.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/straight_4.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/straight_5.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/straight_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/straight_5.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/straight_5.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/straight_6.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/straight_6.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/straight_6.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/straight_6.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/straight_7.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/straight_7.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/straight_7.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/straight_7.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/corridor/straight_8.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/corridor/straight_8.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/corridor/straight_8.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/corridor/straight_8.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/decor/barrel.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/decor/barrel.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/decor/barrel.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/decor/barrel.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/decor/black_bed.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/decor/black_bed.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/decor/black_bed.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/decor/black_bed.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/decor/blue_bed.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/decor/blue_bed.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/decor/blue_bed.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/decor/blue_bed.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/decor/brown_bed.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/decor/brown_bed.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/decor/brown_bed.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/decor/brown_bed.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/decor/candle_1.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/decor/candle_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/decor/candle_1.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/decor/candle_1.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/decor/candle_2.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/decor/candle_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/decor/candle_2.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/decor/candle_2.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/decor/candle_3.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/decor/candle_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/decor/candle_3.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/decor/candle_3.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/decor/candle_4.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/decor/candle_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/decor/candle_4.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/decor/candle_4.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/decor/cyan_bed.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/decor/cyan_bed.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/decor/cyan_bed.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/decor/cyan_bed.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/decor/dead_bush_pot.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/decor/dead_bush_pot.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/decor/dead_bush_pot.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/decor/dead_bush_pot.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/decor/disposal.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/decor/disposal.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/decor/disposal.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/decor/disposal.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/decor/empty_pot.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/decor/empty_pot.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/decor/empty_pot.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/decor/empty_pot.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/decor/flow_pot.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/decor/flow_pot.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/decor/flow_pot.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/decor/flow_pot.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/decor/gray_bed.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/decor/gray_bed.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/decor/gray_bed.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/decor/gray_bed.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/decor/green_bed.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/decor/green_bed.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/decor/green_bed.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/decor/green_bed.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/decor/guster_pot.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/decor/guster_pot.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/decor/guster_pot.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/decor/guster_pot.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/decor/light_blue_bed.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/decor/light_blue_bed.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/decor/light_blue_bed.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/decor/light_blue_bed.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/decor/light_gray_bed.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/decor/light_gray_bed.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/decor/light_gray_bed.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/decor/light_gray_bed.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/decor/lime_bed.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/decor/lime_bed.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/decor/lime_bed.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/decor/lime_bed.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/decor/magenta_bed.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/decor/magenta_bed.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/decor/magenta_bed.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/decor/magenta_bed.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/decor/orange_bed.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/decor/orange_bed.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/decor/orange_bed.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/decor/orange_bed.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/decor/pink_bed.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/decor/pink_bed.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/decor/pink_bed.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/decor/pink_bed.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/decor/purple_bed.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/decor/purple_bed.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/decor/purple_bed.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/decor/purple_bed.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/decor/red_bed.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/decor/red_bed.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/decor/red_bed.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/decor/red_bed.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/decor/scrape_pot.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/decor/scrape_pot.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/decor/scrape_pot.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/decor/scrape_pot.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/decor/undecorated_pot.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/decor/undecorated_pot.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/decor/undecorated_pot.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/decor/undecorated_pot.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/decor/white_bed.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/decor/white_bed.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/decor/white_bed.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/decor/white_bed.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/decor/yellow_bed.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/decor/yellow_bed.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/decor/yellow_bed.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/decor/yellow_bed.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/dispensers/chamber.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/dispensers/chamber.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/dispensers/chamber.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/dispensers/chamber.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/dispensers/floor_dispenser.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/dispensers/floor_dispenser.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/dispensers/floor_dispenser.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/dispensers/floor_dispenser.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/dispensers/wall_dispenser.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/dispensers/wall_dispenser.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/dispensers/wall_dispenser.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/dispensers/wall_dispenser.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/hallway/cache_1.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/hallway/cache_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/hallway/cache_1.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/hallway/cache_1.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/hallway/corner_staircase.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/hallway/corner_staircase.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/hallway/corner_staircase.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/hallway/corner_staircase.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/hallway/corner_staircase_down.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/hallway/corner_staircase_down.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/hallway/corner_staircase_down.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/hallway/corner_staircase_down.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/hallway/corridor_connector_1.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/hallway/corridor_connector_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/hallway/corridor_connector_1.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/hallway/corridor_connector_1.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/hallway/encounter_1.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/hallway/encounter_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/hallway/encounter_1.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/hallway/encounter_1.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/hallway/encounter_2.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/hallway/encounter_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/hallway/encounter_2.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/hallway/encounter_2.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/hallway/encounter_3.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/hallway/encounter_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/hallway/encounter_3.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/hallway/encounter_3.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/hallway/encounter_4.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/hallway/encounter_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/hallway/encounter_4.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/hallway/encounter_4.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/hallway/encounter_5.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/hallway/encounter_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/hallway/encounter_5.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/hallway/encounter_5.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/hallway/left_corner.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/hallway/left_corner.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/hallway/left_corner.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/hallway/left_corner.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/hallway/long_straight_staircase.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/hallway/long_straight_staircase.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/hallway/long_straight_staircase.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/hallway/long_straight_staircase.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/hallway/long_straight_staircase_down.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/hallway/long_straight_staircase_down.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/hallway/long_straight_staircase_down.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/hallway/long_straight_staircase_down.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/hallway/lower_hallway_connector.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/hallway/lower_hallway_connector.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/hallway/lower_hallway_connector.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/hallway/lower_hallway_connector.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/hallway/right_corner.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/hallway/right_corner.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/hallway/right_corner.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/hallway/right_corner.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/hallway/rubble.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/hallway/rubble.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/hallway/rubble.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/hallway/rubble.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/hallway/rubble_chamber.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/hallway/rubble_chamber.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/hallway/rubble_chamber.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/hallway/rubble_chamber.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/hallway/rubble_chamber_thin.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/hallway/rubble_chamber_thin.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/hallway/rubble_chamber_thin.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/hallway/rubble_chamber_thin.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/hallway/rubble_thin.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/hallway/rubble_thin.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/hallway/rubble_thin.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/hallway/rubble_thin.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/hallway/straight.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/hallway/straight.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/hallway/straight.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/hallway/straight.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/hallway/straight_staircase.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/hallway/straight_staircase.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/hallway/straight_staircase.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/hallway/straight_staircase.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/hallway/straight_staircase_down.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/hallway/straight_staircase_down.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/hallway/straight_staircase_down.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/hallway/straight_staircase_down.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/hallway/trapped_staircase.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/hallway/trapped_staircase.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/hallway/trapped_staircase.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/hallway/trapped_staircase.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/hallway/upper_hallway_connector.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/hallway/upper_hallway_connector.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/hallway/upper_hallway_connector.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/hallway/upper_hallway_connector.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/intersection/intersection_1.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/intersection/intersection_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/intersection/intersection_1.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/intersection/intersection_1.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/intersection/intersection_2.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/intersection/intersection_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/intersection/intersection_2.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/intersection/intersection_2.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/intersection/intersection_3.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/intersection/intersection_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/intersection/intersection_3.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/intersection/intersection_3.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/reward/ominous_vault.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/reward/ominous_vault.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/reward/ominous_vault.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/reward/ominous_vault.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/reward/vault.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/reward/vault.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/reward/vault.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/reward/vault.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/spawner/breeze/breeze.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/spawner/breeze/breeze.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/spawner/breeze/breeze.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/spawner/breeze/breeze.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/spawner/connectors/breeze.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/spawner/connectors/breeze.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/spawner/connectors/breeze.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/spawner/connectors/breeze.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/spawner/connectors/melee.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/spawner/connectors/melee.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/spawner/connectors/melee.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/spawner/connectors/melee.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/spawner/connectors/ranged.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/spawner/connectors/ranged.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/spawner/connectors/ranged.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/spawner/connectors/ranged.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/spawner/connectors/slow_ranged.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/spawner/connectors/slow_ranged.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/spawner/connectors/slow_ranged.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/spawner/connectors/slow_ranged.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/spawner/connectors/small_melee.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/spawner/connectors/small_melee.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/spawner/connectors/small_melee.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/spawner/connectors/small_melee.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/spawner/melee/husk.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/spawner/melee/husk.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/spawner/melee/husk.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/spawner/melee/husk.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/spawner/melee/spider.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/spawner/melee/spider.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/spawner/melee/spider.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/spawner/melee/spider.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/spawner/melee/zombie.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/spawner/melee/zombie.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/spawner/melee/zombie.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/spawner/melee/zombie.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/spawner/ranged/poison_skeleton.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/spawner/ranged/poison_skeleton.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/spawner/ranged/poison_skeleton.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/spawner/ranged/poison_skeleton.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/spawner/ranged/skeleton.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/spawner/ranged/skeleton.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/spawner/ranged/skeleton.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/spawner/ranged/skeleton.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/spawner/ranged/stray.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/spawner/ranged/stray.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/spawner/ranged/stray.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/spawner/ranged/stray.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/spawner/slow_ranged/poison_skeleton.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/spawner/slow_ranged/poison_skeleton.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/spawner/slow_ranged/poison_skeleton.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/spawner/slow_ranged/poison_skeleton.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/spawner/slow_ranged/skeleton.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/spawner/slow_ranged/skeleton.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/spawner/slow_ranged/skeleton.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/spawner/slow_ranged/skeleton.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/spawner/slow_ranged/stray.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/spawner/slow_ranged/stray.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/spawner/slow_ranged/stray.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/spawner/slow_ranged/stray.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/spawner/small_melee/baby_zombie.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/spawner/small_melee/baby_zombie.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/spawner/small_melee/baby_zombie.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/spawner/small_melee/baby_zombie.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/spawner/small_melee/cave_spider.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/spawner/small_melee/cave_spider.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/spawner/small_melee/cave_spider.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/spawner/small_melee/cave_spider.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/spawner/small_melee/silverfish.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/spawner/small_melee/silverfish.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/spawner/small_melee/silverfish.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/spawner/small_melee/silverfish.nbt diff --git a/pumpkin-world/assets/structures/trial_chambers/spawner/small_melee/slime.nbt b/crates/pumpkin-world/assets/structures/trial_chambers/spawner/small_melee/slime.nbt similarity index 100% rename from pumpkin-world/assets/structures/trial_chambers/spawner/small_melee/slime.nbt rename to crates/pumpkin-world/assets/structures/trial_chambers/spawner/small_melee/slime.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/big_brick_1.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/big_brick_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/big_brick_1.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/big_brick_1.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/big_brick_2.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/big_brick_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/big_brick_2.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/big_brick_2.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/big_brick_3.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/big_brick_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/big_brick_3.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/big_brick_3.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/big_brick_8.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/big_brick_8.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/big_brick_8.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/big_brick_8.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/big_cracked_1.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/big_cracked_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/big_cracked_1.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/big_cracked_1.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/big_cracked_2.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/big_cracked_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/big_cracked_2.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/big_cracked_2.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/big_cracked_3.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/big_cracked_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/big_cracked_3.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/big_cracked_3.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/big_cracked_8.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/big_cracked_8.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/big_cracked_8.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/big_cracked_8.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/big_mossy_1.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/big_mossy_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/big_mossy_1.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/big_mossy_1.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/big_mossy_2.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/big_mossy_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/big_mossy_2.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/big_mossy_2.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/big_mossy_3.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/big_mossy_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/big_mossy_3.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/big_mossy_3.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/big_mossy_8.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/big_mossy_8.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/big_mossy_8.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/big_mossy_8.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/big_warm_4.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/big_warm_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/big_warm_4.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/big_warm_4.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/big_warm_5.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/big_warm_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/big_warm_5.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/big_warm_5.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/big_warm_6.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/big_warm_6.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/big_warm_6.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/big_warm_6.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/big_warm_7.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/big_warm_7.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/big_warm_7.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/big_warm_7.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/brick_1.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/brick_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/brick_1.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/brick_1.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/brick_2.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/brick_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/brick_2.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/brick_2.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/brick_3.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/brick_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/brick_3.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/brick_3.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/brick_4.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/brick_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/brick_4.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/brick_4.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/brick_5.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/brick_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/brick_5.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/brick_5.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/brick_6.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/brick_6.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/brick_6.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/brick_6.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/brick_7.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/brick_7.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/brick_7.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/brick_7.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/brick_8.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/brick_8.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/brick_8.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/brick_8.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/cracked_1.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/cracked_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/cracked_1.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/cracked_1.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/cracked_2.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/cracked_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/cracked_2.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/cracked_2.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/cracked_3.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/cracked_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/cracked_3.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/cracked_3.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/cracked_4.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/cracked_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/cracked_4.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/cracked_4.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/cracked_5.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/cracked_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/cracked_5.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/cracked_5.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/cracked_6.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/cracked_6.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/cracked_6.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/cracked_6.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/cracked_7.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/cracked_7.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/cracked_7.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/cracked_7.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/cracked_8.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/cracked_8.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/cracked_8.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/cracked_8.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/mossy_1.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/mossy_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/mossy_1.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/mossy_1.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/mossy_2.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/mossy_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/mossy_2.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/mossy_2.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/mossy_3.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/mossy_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/mossy_3.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/mossy_3.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/mossy_4.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/mossy_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/mossy_4.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/mossy_4.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/mossy_5.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/mossy_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/mossy_5.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/mossy_5.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/mossy_6.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/mossy_6.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/mossy_6.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/mossy_6.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/mossy_7.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/mossy_7.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/mossy_7.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/mossy_7.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/mossy_8.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/mossy_8.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/mossy_8.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/mossy_8.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/warm_1.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/warm_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/warm_1.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/warm_1.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/warm_2.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/warm_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/warm_2.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/warm_2.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/warm_3.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/warm_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/warm_3.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/warm_3.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/warm_4.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/warm_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/warm_4.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/warm_4.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/warm_5.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/warm_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/warm_5.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/warm_5.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/warm_6.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/warm_6.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/warm_6.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/warm_6.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/warm_7.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/warm_7.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/warm_7.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/warm_7.nbt diff --git a/pumpkin-world/assets/structures/underwater_ruin/warm_8.nbt b/crates/pumpkin-world/assets/structures/underwater_ruin/warm_8.nbt similarity index 100% rename from pumpkin-world/assets/structures/underwater_ruin/warm_8.nbt rename to crates/pumpkin-world/assets/structures/underwater_ruin/warm_8.nbt diff --git a/pumpkin-world/assets/structures/village/common/animals/cat_black.nbt b/crates/pumpkin-world/assets/structures/village/common/animals/cat_black.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/common/animals/cat_black.nbt rename to crates/pumpkin-world/assets/structures/village/common/animals/cat_black.nbt diff --git a/pumpkin-world/assets/structures/village/common/animals/cat_british.nbt b/crates/pumpkin-world/assets/structures/village/common/animals/cat_british.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/common/animals/cat_british.nbt rename to crates/pumpkin-world/assets/structures/village/common/animals/cat_british.nbt diff --git a/pumpkin-world/assets/structures/village/common/animals/cat_calico.nbt b/crates/pumpkin-world/assets/structures/village/common/animals/cat_calico.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/common/animals/cat_calico.nbt rename to crates/pumpkin-world/assets/structures/village/common/animals/cat_calico.nbt diff --git a/pumpkin-world/assets/structures/village/common/animals/cat_jellie.nbt b/crates/pumpkin-world/assets/structures/village/common/animals/cat_jellie.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/common/animals/cat_jellie.nbt rename to crates/pumpkin-world/assets/structures/village/common/animals/cat_jellie.nbt diff --git a/pumpkin-world/assets/structures/village/common/animals/cat_persian.nbt b/crates/pumpkin-world/assets/structures/village/common/animals/cat_persian.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/common/animals/cat_persian.nbt rename to crates/pumpkin-world/assets/structures/village/common/animals/cat_persian.nbt diff --git a/pumpkin-world/assets/structures/village/common/animals/cat_ragdoll.nbt b/crates/pumpkin-world/assets/structures/village/common/animals/cat_ragdoll.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/common/animals/cat_ragdoll.nbt rename to crates/pumpkin-world/assets/structures/village/common/animals/cat_ragdoll.nbt diff --git a/pumpkin-world/assets/structures/village/common/animals/cat_red.nbt b/crates/pumpkin-world/assets/structures/village/common/animals/cat_red.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/common/animals/cat_red.nbt rename to crates/pumpkin-world/assets/structures/village/common/animals/cat_red.nbt diff --git a/pumpkin-world/assets/structures/village/common/animals/cat_siamese.nbt b/crates/pumpkin-world/assets/structures/village/common/animals/cat_siamese.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/common/animals/cat_siamese.nbt rename to crates/pumpkin-world/assets/structures/village/common/animals/cat_siamese.nbt diff --git a/pumpkin-world/assets/structures/village/common/animals/cat_tabby.nbt b/crates/pumpkin-world/assets/structures/village/common/animals/cat_tabby.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/common/animals/cat_tabby.nbt rename to crates/pumpkin-world/assets/structures/village/common/animals/cat_tabby.nbt diff --git a/pumpkin-world/assets/structures/village/common/animals/cat_white.nbt b/crates/pumpkin-world/assets/structures/village/common/animals/cat_white.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/common/animals/cat_white.nbt rename to crates/pumpkin-world/assets/structures/village/common/animals/cat_white.nbt diff --git a/pumpkin-world/assets/structures/village/common/animals/cows_1.nbt b/crates/pumpkin-world/assets/structures/village/common/animals/cows_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/common/animals/cows_1.nbt rename to crates/pumpkin-world/assets/structures/village/common/animals/cows_1.nbt diff --git a/pumpkin-world/assets/structures/village/common/animals/horses_1.nbt b/crates/pumpkin-world/assets/structures/village/common/animals/horses_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/common/animals/horses_1.nbt rename to crates/pumpkin-world/assets/structures/village/common/animals/horses_1.nbt diff --git a/pumpkin-world/assets/structures/village/common/animals/horses_2.nbt b/crates/pumpkin-world/assets/structures/village/common/animals/horses_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/common/animals/horses_2.nbt rename to crates/pumpkin-world/assets/structures/village/common/animals/horses_2.nbt diff --git a/pumpkin-world/assets/structures/village/common/animals/horses_3.nbt b/crates/pumpkin-world/assets/structures/village/common/animals/horses_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/common/animals/horses_3.nbt rename to crates/pumpkin-world/assets/structures/village/common/animals/horses_3.nbt diff --git a/pumpkin-world/assets/structures/village/common/animals/horses_4.nbt b/crates/pumpkin-world/assets/structures/village/common/animals/horses_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/common/animals/horses_4.nbt rename to crates/pumpkin-world/assets/structures/village/common/animals/horses_4.nbt diff --git a/pumpkin-world/assets/structures/village/common/animals/horses_5.nbt b/crates/pumpkin-world/assets/structures/village/common/animals/horses_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/common/animals/horses_5.nbt rename to crates/pumpkin-world/assets/structures/village/common/animals/horses_5.nbt diff --git a/pumpkin-world/assets/structures/village/common/animals/pigs_1.nbt b/crates/pumpkin-world/assets/structures/village/common/animals/pigs_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/common/animals/pigs_1.nbt rename to crates/pumpkin-world/assets/structures/village/common/animals/pigs_1.nbt diff --git a/pumpkin-world/assets/structures/village/common/animals/sheep_1.nbt b/crates/pumpkin-world/assets/structures/village/common/animals/sheep_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/common/animals/sheep_1.nbt rename to crates/pumpkin-world/assets/structures/village/common/animals/sheep_1.nbt diff --git a/pumpkin-world/assets/structures/village/common/animals/sheep_2.nbt b/crates/pumpkin-world/assets/structures/village/common/animals/sheep_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/common/animals/sheep_2.nbt rename to crates/pumpkin-world/assets/structures/village/common/animals/sheep_2.nbt diff --git a/pumpkin-world/assets/structures/village/common/iron_golem.nbt b/crates/pumpkin-world/assets/structures/village/common/iron_golem.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/common/iron_golem.nbt rename to crates/pumpkin-world/assets/structures/village/common/iron_golem.nbt diff --git a/pumpkin-world/assets/structures/village/common/well_bottom.nbt b/crates/pumpkin-world/assets/structures/village/common/well_bottom.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/common/well_bottom.nbt rename to crates/pumpkin-world/assets/structures/village/common/well_bottom.nbt diff --git a/pumpkin-world/assets/structures/village/decays/grass_11x13.nbt b/crates/pumpkin-world/assets/structures/village/decays/grass_11x13.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/decays/grass_11x13.nbt rename to crates/pumpkin-world/assets/structures/village/decays/grass_11x13.nbt diff --git a/pumpkin-world/assets/structures/village/decays/grass_16x16.nbt b/crates/pumpkin-world/assets/structures/village/decays/grass_16x16.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/decays/grass_16x16.nbt rename to crates/pumpkin-world/assets/structures/village/decays/grass_16x16.nbt diff --git a/pumpkin-world/assets/structures/village/decays/grass_9x9.nbt b/crates/pumpkin-world/assets/structures/village/decays/grass_9x9.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/decays/grass_9x9.nbt rename to crates/pumpkin-world/assets/structures/village/decays/grass_9x9.nbt diff --git a/pumpkin-world/assets/structures/village/desert/camel_spawn.nbt b/crates/pumpkin-world/assets/structures/village/desert/camel_spawn.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/camel_spawn.nbt rename to crates/pumpkin-world/assets/structures/village/desert/camel_spawn.nbt diff --git a/pumpkin-world/assets/structures/village/desert/desert_lamp_1.nbt b/crates/pumpkin-world/assets/structures/village/desert/desert_lamp_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/desert_lamp_1.nbt rename to crates/pumpkin-world/assets/structures/village/desert/desert_lamp_1.nbt diff --git a/pumpkin-world/assets/structures/village/desert/houses/desert_animal_pen_1.nbt b/crates/pumpkin-world/assets/structures/village/desert/houses/desert_animal_pen_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/houses/desert_animal_pen_1.nbt rename to crates/pumpkin-world/assets/structures/village/desert/houses/desert_animal_pen_1.nbt diff --git a/pumpkin-world/assets/structures/village/desert/houses/desert_animal_pen_2.nbt b/crates/pumpkin-world/assets/structures/village/desert/houses/desert_animal_pen_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/houses/desert_animal_pen_2.nbt rename to crates/pumpkin-world/assets/structures/village/desert/houses/desert_animal_pen_2.nbt diff --git a/pumpkin-world/assets/structures/village/desert/houses/desert_armorer_1.nbt b/crates/pumpkin-world/assets/structures/village/desert/houses/desert_armorer_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/houses/desert_armorer_1.nbt rename to crates/pumpkin-world/assets/structures/village/desert/houses/desert_armorer_1.nbt diff --git a/pumpkin-world/assets/structures/village/desert/houses/desert_butcher_shop_1.nbt b/crates/pumpkin-world/assets/structures/village/desert/houses/desert_butcher_shop_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/houses/desert_butcher_shop_1.nbt rename to crates/pumpkin-world/assets/structures/village/desert/houses/desert_butcher_shop_1.nbt diff --git a/pumpkin-world/assets/structures/village/desert/houses/desert_cartographer_house_1.nbt b/crates/pumpkin-world/assets/structures/village/desert/houses/desert_cartographer_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/houses/desert_cartographer_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/desert/houses/desert_cartographer_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/desert/houses/desert_farm_1.nbt b/crates/pumpkin-world/assets/structures/village/desert/houses/desert_farm_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/houses/desert_farm_1.nbt rename to crates/pumpkin-world/assets/structures/village/desert/houses/desert_farm_1.nbt diff --git a/pumpkin-world/assets/structures/village/desert/houses/desert_farm_2.nbt b/crates/pumpkin-world/assets/structures/village/desert/houses/desert_farm_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/houses/desert_farm_2.nbt rename to crates/pumpkin-world/assets/structures/village/desert/houses/desert_farm_2.nbt diff --git a/pumpkin-world/assets/structures/village/desert/houses/desert_fisher_1.nbt b/crates/pumpkin-world/assets/structures/village/desert/houses/desert_fisher_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/houses/desert_fisher_1.nbt rename to crates/pumpkin-world/assets/structures/village/desert/houses/desert_fisher_1.nbt diff --git a/pumpkin-world/assets/structures/village/desert/houses/desert_fletcher_house_1.nbt b/crates/pumpkin-world/assets/structures/village/desert/houses/desert_fletcher_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/houses/desert_fletcher_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/desert/houses/desert_fletcher_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/desert/houses/desert_large_farm_1.nbt b/crates/pumpkin-world/assets/structures/village/desert/houses/desert_large_farm_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/houses/desert_large_farm_1.nbt rename to crates/pumpkin-world/assets/structures/village/desert/houses/desert_large_farm_1.nbt diff --git a/pumpkin-world/assets/structures/village/desert/houses/desert_library_1.nbt b/crates/pumpkin-world/assets/structures/village/desert/houses/desert_library_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/houses/desert_library_1.nbt rename to crates/pumpkin-world/assets/structures/village/desert/houses/desert_library_1.nbt diff --git a/pumpkin-world/assets/structures/village/desert/houses/desert_mason_1.nbt b/crates/pumpkin-world/assets/structures/village/desert/houses/desert_mason_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/houses/desert_mason_1.nbt rename to crates/pumpkin-world/assets/structures/village/desert/houses/desert_mason_1.nbt diff --git a/pumpkin-world/assets/structures/village/desert/houses/desert_medium_house_1.nbt b/crates/pumpkin-world/assets/structures/village/desert/houses/desert_medium_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/houses/desert_medium_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/desert/houses/desert_medium_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/desert/houses/desert_medium_house_2.nbt b/crates/pumpkin-world/assets/structures/village/desert/houses/desert_medium_house_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/houses/desert_medium_house_2.nbt rename to crates/pumpkin-world/assets/structures/village/desert/houses/desert_medium_house_2.nbt diff --git a/pumpkin-world/assets/structures/village/desert/houses/desert_shepherd_house_1.nbt b/crates/pumpkin-world/assets/structures/village/desert/houses/desert_shepherd_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/houses/desert_shepherd_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/desert/houses/desert_shepherd_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/desert/houses/desert_small_house_1.nbt b/crates/pumpkin-world/assets/structures/village/desert/houses/desert_small_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/houses/desert_small_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/desert/houses/desert_small_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/desert/houses/desert_small_house_2.nbt b/crates/pumpkin-world/assets/structures/village/desert/houses/desert_small_house_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/houses/desert_small_house_2.nbt rename to crates/pumpkin-world/assets/structures/village/desert/houses/desert_small_house_2.nbt diff --git a/pumpkin-world/assets/structures/village/desert/houses/desert_small_house_3.nbt b/crates/pumpkin-world/assets/structures/village/desert/houses/desert_small_house_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/houses/desert_small_house_3.nbt rename to crates/pumpkin-world/assets/structures/village/desert/houses/desert_small_house_3.nbt diff --git a/pumpkin-world/assets/structures/village/desert/houses/desert_small_house_4.nbt b/crates/pumpkin-world/assets/structures/village/desert/houses/desert_small_house_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/houses/desert_small_house_4.nbt rename to crates/pumpkin-world/assets/structures/village/desert/houses/desert_small_house_4.nbt diff --git a/pumpkin-world/assets/structures/village/desert/houses/desert_small_house_5.nbt b/crates/pumpkin-world/assets/structures/village/desert/houses/desert_small_house_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/houses/desert_small_house_5.nbt rename to crates/pumpkin-world/assets/structures/village/desert/houses/desert_small_house_5.nbt diff --git a/pumpkin-world/assets/structures/village/desert/houses/desert_small_house_6.nbt b/crates/pumpkin-world/assets/structures/village/desert/houses/desert_small_house_6.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/houses/desert_small_house_6.nbt rename to crates/pumpkin-world/assets/structures/village/desert/houses/desert_small_house_6.nbt diff --git a/pumpkin-world/assets/structures/village/desert/houses/desert_small_house_7.nbt b/crates/pumpkin-world/assets/structures/village/desert/houses/desert_small_house_7.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/houses/desert_small_house_7.nbt rename to crates/pumpkin-world/assets/structures/village/desert/houses/desert_small_house_7.nbt diff --git a/pumpkin-world/assets/structures/village/desert/houses/desert_small_house_8.nbt b/crates/pumpkin-world/assets/structures/village/desert/houses/desert_small_house_8.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/houses/desert_small_house_8.nbt rename to crates/pumpkin-world/assets/structures/village/desert/houses/desert_small_house_8.nbt diff --git a/pumpkin-world/assets/structures/village/desert/houses/desert_tannery_1.nbt b/crates/pumpkin-world/assets/structures/village/desert/houses/desert_tannery_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/houses/desert_tannery_1.nbt rename to crates/pumpkin-world/assets/structures/village/desert/houses/desert_tannery_1.nbt diff --git a/pumpkin-world/assets/structures/village/desert/houses/desert_temple_1.nbt b/crates/pumpkin-world/assets/structures/village/desert/houses/desert_temple_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/houses/desert_temple_1.nbt rename to crates/pumpkin-world/assets/structures/village/desert/houses/desert_temple_1.nbt diff --git a/pumpkin-world/assets/structures/village/desert/houses/desert_temple_2.nbt b/crates/pumpkin-world/assets/structures/village/desert/houses/desert_temple_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/houses/desert_temple_2.nbt rename to crates/pumpkin-world/assets/structures/village/desert/houses/desert_temple_2.nbt diff --git a/pumpkin-world/assets/structures/village/desert/houses/desert_tool_smith_1.nbt b/crates/pumpkin-world/assets/structures/village/desert/houses/desert_tool_smith_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/houses/desert_tool_smith_1.nbt rename to crates/pumpkin-world/assets/structures/village/desert/houses/desert_tool_smith_1.nbt diff --git a/pumpkin-world/assets/structures/village/desert/houses/desert_weaponsmith_1.nbt b/crates/pumpkin-world/assets/structures/village/desert/houses/desert_weaponsmith_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/houses/desert_weaponsmith_1.nbt rename to crates/pumpkin-world/assets/structures/village/desert/houses/desert_weaponsmith_1.nbt diff --git a/pumpkin-world/assets/structures/village/desert/streets/corner_01.nbt b/crates/pumpkin-world/assets/structures/village/desert/streets/corner_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/streets/corner_01.nbt rename to crates/pumpkin-world/assets/structures/village/desert/streets/corner_01.nbt diff --git a/pumpkin-world/assets/structures/village/desert/streets/corner_02.nbt b/crates/pumpkin-world/assets/structures/village/desert/streets/corner_02.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/streets/corner_02.nbt rename to crates/pumpkin-world/assets/structures/village/desert/streets/corner_02.nbt diff --git a/pumpkin-world/assets/structures/village/desert/streets/crossroad_01.nbt b/crates/pumpkin-world/assets/structures/village/desert/streets/crossroad_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/streets/crossroad_01.nbt rename to crates/pumpkin-world/assets/structures/village/desert/streets/crossroad_01.nbt diff --git a/pumpkin-world/assets/structures/village/desert/streets/crossroad_02.nbt b/crates/pumpkin-world/assets/structures/village/desert/streets/crossroad_02.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/streets/crossroad_02.nbt rename to crates/pumpkin-world/assets/structures/village/desert/streets/crossroad_02.nbt diff --git a/pumpkin-world/assets/structures/village/desert/streets/crossroad_03.nbt b/crates/pumpkin-world/assets/structures/village/desert/streets/crossroad_03.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/streets/crossroad_03.nbt rename to crates/pumpkin-world/assets/structures/village/desert/streets/crossroad_03.nbt diff --git a/pumpkin-world/assets/structures/village/desert/streets/square_01.nbt b/crates/pumpkin-world/assets/structures/village/desert/streets/square_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/streets/square_01.nbt rename to crates/pumpkin-world/assets/structures/village/desert/streets/square_01.nbt diff --git a/pumpkin-world/assets/structures/village/desert/streets/square_02.nbt b/crates/pumpkin-world/assets/structures/village/desert/streets/square_02.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/streets/square_02.nbt rename to crates/pumpkin-world/assets/structures/village/desert/streets/square_02.nbt diff --git a/pumpkin-world/assets/structures/village/desert/streets/straight_01.nbt b/crates/pumpkin-world/assets/structures/village/desert/streets/straight_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/streets/straight_01.nbt rename to crates/pumpkin-world/assets/structures/village/desert/streets/straight_01.nbt diff --git a/pumpkin-world/assets/structures/village/desert/streets/straight_02.nbt b/crates/pumpkin-world/assets/structures/village/desert/streets/straight_02.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/streets/straight_02.nbt rename to crates/pumpkin-world/assets/structures/village/desert/streets/straight_02.nbt diff --git a/pumpkin-world/assets/structures/village/desert/streets/straight_03.nbt b/crates/pumpkin-world/assets/structures/village/desert/streets/straight_03.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/streets/straight_03.nbt rename to crates/pumpkin-world/assets/structures/village/desert/streets/straight_03.nbt diff --git a/pumpkin-world/assets/structures/village/desert/streets/turn_01.nbt b/crates/pumpkin-world/assets/structures/village/desert/streets/turn_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/streets/turn_01.nbt rename to crates/pumpkin-world/assets/structures/village/desert/streets/turn_01.nbt diff --git a/pumpkin-world/assets/structures/village/desert/terminators/terminator_01.nbt b/crates/pumpkin-world/assets/structures/village/desert/terminators/terminator_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/terminators/terminator_01.nbt rename to crates/pumpkin-world/assets/structures/village/desert/terminators/terminator_01.nbt diff --git a/pumpkin-world/assets/structures/village/desert/terminators/terminator_02.nbt b/crates/pumpkin-world/assets/structures/village/desert/terminators/terminator_02.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/terminators/terminator_02.nbt rename to crates/pumpkin-world/assets/structures/village/desert/terminators/terminator_02.nbt diff --git a/pumpkin-world/assets/structures/village/desert/town_centers/desert_meeting_point_1.nbt b/crates/pumpkin-world/assets/structures/village/desert/town_centers/desert_meeting_point_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/town_centers/desert_meeting_point_1.nbt rename to crates/pumpkin-world/assets/structures/village/desert/town_centers/desert_meeting_point_1.nbt diff --git a/pumpkin-world/assets/structures/village/desert/town_centers/desert_meeting_point_2.nbt b/crates/pumpkin-world/assets/structures/village/desert/town_centers/desert_meeting_point_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/town_centers/desert_meeting_point_2.nbt rename to crates/pumpkin-world/assets/structures/village/desert/town_centers/desert_meeting_point_2.nbt diff --git a/pumpkin-world/assets/structures/village/desert/town_centers/desert_meeting_point_3.nbt b/crates/pumpkin-world/assets/structures/village/desert/town_centers/desert_meeting_point_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/town_centers/desert_meeting_point_3.nbt rename to crates/pumpkin-world/assets/structures/village/desert/town_centers/desert_meeting_point_3.nbt diff --git a/pumpkin-world/assets/structures/village/desert/villagers/baby.nbt b/crates/pumpkin-world/assets/structures/village/desert/villagers/baby.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/villagers/baby.nbt rename to crates/pumpkin-world/assets/structures/village/desert/villagers/baby.nbt diff --git a/pumpkin-world/assets/structures/village/desert/villagers/nitwit.nbt b/crates/pumpkin-world/assets/structures/village/desert/villagers/nitwit.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/villagers/nitwit.nbt rename to crates/pumpkin-world/assets/structures/village/desert/villagers/nitwit.nbt diff --git a/pumpkin-world/assets/structures/village/desert/villagers/unemployed.nbt b/crates/pumpkin-world/assets/structures/village/desert/villagers/unemployed.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/villagers/unemployed.nbt rename to crates/pumpkin-world/assets/structures/village/desert/villagers/unemployed.nbt diff --git a/pumpkin-world/assets/structures/village/desert/zombie/houses/desert_medium_house_1.nbt b/crates/pumpkin-world/assets/structures/village/desert/zombie/houses/desert_medium_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/zombie/houses/desert_medium_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/desert/zombie/houses/desert_medium_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/desert/zombie/houses/desert_medium_house_2.nbt b/crates/pumpkin-world/assets/structures/village/desert/zombie/houses/desert_medium_house_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/zombie/houses/desert_medium_house_2.nbt rename to crates/pumpkin-world/assets/structures/village/desert/zombie/houses/desert_medium_house_2.nbt diff --git a/pumpkin-world/assets/structures/village/desert/zombie/houses/desert_small_house_1.nbt b/crates/pumpkin-world/assets/structures/village/desert/zombie/houses/desert_small_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/zombie/houses/desert_small_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/desert/zombie/houses/desert_small_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/desert/zombie/houses/desert_small_house_2.nbt b/crates/pumpkin-world/assets/structures/village/desert/zombie/houses/desert_small_house_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/zombie/houses/desert_small_house_2.nbt rename to crates/pumpkin-world/assets/structures/village/desert/zombie/houses/desert_small_house_2.nbt diff --git a/pumpkin-world/assets/structures/village/desert/zombie/houses/desert_small_house_3.nbt b/crates/pumpkin-world/assets/structures/village/desert/zombie/houses/desert_small_house_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/zombie/houses/desert_small_house_3.nbt rename to crates/pumpkin-world/assets/structures/village/desert/zombie/houses/desert_small_house_3.nbt diff --git a/pumpkin-world/assets/structures/village/desert/zombie/houses/desert_small_house_4.nbt b/crates/pumpkin-world/assets/structures/village/desert/zombie/houses/desert_small_house_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/zombie/houses/desert_small_house_4.nbt rename to crates/pumpkin-world/assets/structures/village/desert/zombie/houses/desert_small_house_4.nbt diff --git a/pumpkin-world/assets/structures/village/desert/zombie/houses/desert_small_house_5.nbt b/crates/pumpkin-world/assets/structures/village/desert/zombie/houses/desert_small_house_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/zombie/houses/desert_small_house_5.nbt rename to crates/pumpkin-world/assets/structures/village/desert/zombie/houses/desert_small_house_5.nbt diff --git a/pumpkin-world/assets/structures/village/desert/zombie/houses/desert_small_house_6.nbt b/crates/pumpkin-world/assets/structures/village/desert/zombie/houses/desert_small_house_6.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/zombie/houses/desert_small_house_6.nbt rename to crates/pumpkin-world/assets/structures/village/desert/zombie/houses/desert_small_house_6.nbt diff --git a/pumpkin-world/assets/structures/village/desert/zombie/houses/desert_small_house_7.nbt b/crates/pumpkin-world/assets/structures/village/desert/zombie/houses/desert_small_house_7.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/zombie/houses/desert_small_house_7.nbt rename to crates/pumpkin-world/assets/structures/village/desert/zombie/houses/desert_small_house_7.nbt diff --git a/pumpkin-world/assets/structures/village/desert/zombie/houses/desert_small_house_8.nbt b/crates/pumpkin-world/assets/structures/village/desert/zombie/houses/desert_small_house_8.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/zombie/houses/desert_small_house_8.nbt rename to crates/pumpkin-world/assets/structures/village/desert/zombie/houses/desert_small_house_8.nbt diff --git a/pumpkin-world/assets/structures/village/desert/zombie/streets/corner_01.nbt b/crates/pumpkin-world/assets/structures/village/desert/zombie/streets/corner_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/zombie/streets/corner_01.nbt rename to crates/pumpkin-world/assets/structures/village/desert/zombie/streets/corner_01.nbt diff --git a/pumpkin-world/assets/structures/village/desert/zombie/streets/corner_02.nbt b/crates/pumpkin-world/assets/structures/village/desert/zombie/streets/corner_02.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/zombie/streets/corner_02.nbt rename to crates/pumpkin-world/assets/structures/village/desert/zombie/streets/corner_02.nbt diff --git a/pumpkin-world/assets/structures/village/desert/zombie/streets/crossroad_01.nbt b/crates/pumpkin-world/assets/structures/village/desert/zombie/streets/crossroad_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/zombie/streets/crossroad_01.nbt rename to crates/pumpkin-world/assets/structures/village/desert/zombie/streets/crossroad_01.nbt diff --git a/pumpkin-world/assets/structures/village/desert/zombie/streets/crossroad_02.nbt b/crates/pumpkin-world/assets/structures/village/desert/zombie/streets/crossroad_02.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/zombie/streets/crossroad_02.nbt rename to crates/pumpkin-world/assets/structures/village/desert/zombie/streets/crossroad_02.nbt diff --git a/pumpkin-world/assets/structures/village/desert/zombie/streets/crossroad_03.nbt b/crates/pumpkin-world/assets/structures/village/desert/zombie/streets/crossroad_03.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/zombie/streets/crossroad_03.nbt rename to crates/pumpkin-world/assets/structures/village/desert/zombie/streets/crossroad_03.nbt diff --git a/pumpkin-world/assets/structures/village/desert/zombie/streets/square_01.nbt b/crates/pumpkin-world/assets/structures/village/desert/zombie/streets/square_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/zombie/streets/square_01.nbt rename to crates/pumpkin-world/assets/structures/village/desert/zombie/streets/square_01.nbt diff --git a/pumpkin-world/assets/structures/village/desert/zombie/streets/square_02.nbt b/crates/pumpkin-world/assets/structures/village/desert/zombie/streets/square_02.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/zombie/streets/square_02.nbt rename to crates/pumpkin-world/assets/structures/village/desert/zombie/streets/square_02.nbt diff --git a/pumpkin-world/assets/structures/village/desert/zombie/streets/straight_01.nbt b/crates/pumpkin-world/assets/structures/village/desert/zombie/streets/straight_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/zombie/streets/straight_01.nbt rename to crates/pumpkin-world/assets/structures/village/desert/zombie/streets/straight_01.nbt diff --git a/pumpkin-world/assets/structures/village/desert/zombie/streets/straight_02.nbt b/crates/pumpkin-world/assets/structures/village/desert/zombie/streets/straight_02.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/zombie/streets/straight_02.nbt rename to crates/pumpkin-world/assets/structures/village/desert/zombie/streets/straight_02.nbt diff --git a/pumpkin-world/assets/structures/village/desert/zombie/streets/straight_03.nbt b/crates/pumpkin-world/assets/structures/village/desert/zombie/streets/straight_03.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/zombie/streets/straight_03.nbt rename to crates/pumpkin-world/assets/structures/village/desert/zombie/streets/straight_03.nbt diff --git a/pumpkin-world/assets/structures/village/desert/zombie/streets/turn_01.nbt b/crates/pumpkin-world/assets/structures/village/desert/zombie/streets/turn_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/zombie/streets/turn_01.nbt rename to crates/pumpkin-world/assets/structures/village/desert/zombie/streets/turn_01.nbt diff --git a/pumpkin-world/assets/structures/village/desert/zombie/terminators/terminator_02.nbt b/crates/pumpkin-world/assets/structures/village/desert/zombie/terminators/terminator_02.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/zombie/terminators/terminator_02.nbt rename to crates/pumpkin-world/assets/structures/village/desert/zombie/terminators/terminator_02.nbt diff --git a/pumpkin-world/assets/structures/village/desert/zombie/town_centers/desert_meeting_point_1.nbt b/crates/pumpkin-world/assets/structures/village/desert/zombie/town_centers/desert_meeting_point_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/zombie/town_centers/desert_meeting_point_1.nbt rename to crates/pumpkin-world/assets/structures/village/desert/zombie/town_centers/desert_meeting_point_1.nbt diff --git a/pumpkin-world/assets/structures/village/desert/zombie/town_centers/desert_meeting_point_2.nbt b/crates/pumpkin-world/assets/structures/village/desert/zombie/town_centers/desert_meeting_point_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/zombie/town_centers/desert_meeting_point_2.nbt rename to crates/pumpkin-world/assets/structures/village/desert/zombie/town_centers/desert_meeting_point_2.nbt diff --git a/pumpkin-world/assets/structures/village/desert/zombie/town_centers/desert_meeting_point_3.nbt b/crates/pumpkin-world/assets/structures/village/desert/zombie/town_centers/desert_meeting_point_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/zombie/town_centers/desert_meeting_point_3.nbt rename to crates/pumpkin-world/assets/structures/village/desert/zombie/town_centers/desert_meeting_point_3.nbt diff --git a/pumpkin-world/assets/structures/village/desert/zombie/villagers/nitwit.nbt b/crates/pumpkin-world/assets/structures/village/desert/zombie/villagers/nitwit.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/zombie/villagers/nitwit.nbt rename to crates/pumpkin-world/assets/structures/village/desert/zombie/villagers/nitwit.nbt diff --git a/pumpkin-world/assets/structures/village/desert/zombie/villagers/unemployed.nbt b/crates/pumpkin-world/assets/structures/village/desert/zombie/villagers/unemployed.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/desert/zombie/villagers/unemployed.nbt rename to crates/pumpkin-world/assets/structures/village/desert/zombie/villagers/unemployed.nbt diff --git a/pumpkin-world/assets/structures/village/plains/houses/plains_accessory_1.nbt b/crates/pumpkin-world/assets/structures/village/plains/houses/plains_accessory_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/houses/plains_accessory_1.nbt rename to crates/pumpkin-world/assets/structures/village/plains/houses/plains_accessory_1.nbt diff --git a/pumpkin-world/assets/structures/village/plains/houses/plains_animal_pen_1.nbt b/crates/pumpkin-world/assets/structures/village/plains/houses/plains_animal_pen_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/houses/plains_animal_pen_1.nbt rename to crates/pumpkin-world/assets/structures/village/plains/houses/plains_animal_pen_1.nbt diff --git a/pumpkin-world/assets/structures/village/plains/houses/plains_animal_pen_2.nbt b/crates/pumpkin-world/assets/structures/village/plains/houses/plains_animal_pen_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/houses/plains_animal_pen_2.nbt rename to crates/pumpkin-world/assets/structures/village/plains/houses/plains_animal_pen_2.nbt diff --git a/pumpkin-world/assets/structures/village/plains/houses/plains_animal_pen_3.nbt b/crates/pumpkin-world/assets/structures/village/plains/houses/plains_animal_pen_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/houses/plains_animal_pen_3.nbt rename to crates/pumpkin-world/assets/structures/village/plains/houses/plains_animal_pen_3.nbt diff --git a/pumpkin-world/assets/structures/village/plains/houses/plains_armorer_house_1.nbt b/crates/pumpkin-world/assets/structures/village/plains/houses/plains_armorer_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/houses/plains_armorer_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/plains/houses/plains_armorer_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/plains/houses/plains_big_house_1.nbt b/crates/pumpkin-world/assets/structures/village/plains/houses/plains_big_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/houses/plains_big_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/plains/houses/plains_big_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/plains/houses/plains_butcher_shop_1.nbt b/crates/pumpkin-world/assets/structures/village/plains/houses/plains_butcher_shop_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/houses/plains_butcher_shop_1.nbt rename to crates/pumpkin-world/assets/structures/village/plains/houses/plains_butcher_shop_1.nbt diff --git a/pumpkin-world/assets/structures/village/plains/houses/plains_butcher_shop_2.nbt b/crates/pumpkin-world/assets/structures/village/plains/houses/plains_butcher_shop_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/houses/plains_butcher_shop_2.nbt rename to crates/pumpkin-world/assets/structures/village/plains/houses/plains_butcher_shop_2.nbt diff --git a/pumpkin-world/assets/structures/village/plains/houses/plains_cartographer_1.nbt b/crates/pumpkin-world/assets/structures/village/plains/houses/plains_cartographer_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/houses/plains_cartographer_1.nbt rename to crates/pumpkin-world/assets/structures/village/plains/houses/plains_cartographer_1.nbt diff --git a/pumpkin-world/assets/structures/village/plains/houses/plains_fisher_cottage_1.nbt b/crates/pumpkin-world/assets/structures/village/plains/houses/plains_fisher_cottage_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/houses/plains_fisher_cottage_1.nbt rename to crates/pumpkin-world/assets/structures/village/plains/houses/plains_fisher_cottage_1.nbt diff --git a/pumpkin-world/assets/structures/village/plains/houses/plains_fletcher_house_1.nbt b/crates/pumpkin-world/assets/structures/village/plains/houses/plains_fletcher_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/houses/plains_fletcher_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/plains/houses/plains_fletcher_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/plains/houses/plains_large_farm_1.nbt b/crates/pumpkin-world/assets/structures/village/plains/houses/plains_large_farm_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/houses/plains_large_farm_1.nbt rename to crates/pumpkin-world/assets/structures/village/plains/houses/plains_large_farm_1.nbt diff --git a/pumpkin-world/assets/structures/village/plains/houses/plains_library_1.nbt b/crates/pumpkin-world/assets/structures/village/plains/houses/plains_library_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/houses/plains_library_1.nbt rename to crates/pumpkin-world/assets/structures/village/plains/houses/plains_library_1.nbt diff --git a/pumpkin-world/assets/structures/village/plains/houses/plains_library_2.nbt b/crates/pumpkin-world/assets/structures/village/plains/houses/plains_library_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/houses/plains_library_2.nbt rename to crates/pumpkin-world/assets/structures/village/plains/houses/plains_library_2.nbt diff --git a/pumpkin-world/assets/structures/village/plains/houses/plains_masons_house_1.nbt b/crates/pumpkin-world/assets/structures/village/plains/houses/plains_masons_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/houses/plains_masons_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/plains/houses/plains_masons_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/plains/houses/plains_medium_house_1.nbt b/crates/pumpkin-world/assets/structures/village/plains/houses/plains_medium_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/houses/plains_medium_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/plains/houses/plains_medium_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/plains/houses/plains_medium_house_2.nbt b/crates/pumpkin-world/assets/structures/village/plains/houses/plains_medium_house_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/houses/plains_medium_house_2.nbt rename to crates/pumpkin-world/assets/structures/village/plains/houses/plains_medium_house_2.nbt diff --git a/pumpkin-world/assets/structures/village/plains/houses/plains_meeting_point_4.nbt b/crates/pumpkin-world/assets/structures/village/plains/houses/plains_meeting_point_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/houses/plains_meeting_point_4.nbt rename to crates/pumpkin-world/assets/structures/village/plains/houses/plains_meeting_point_4.nbt diff --git a/pumpkin-world/assets/structures/village/plains/houses/plains_meeting_point_5.nbt b/crates/pumpkin-world/assets/structures/village/plains/houses/plains_meeting_point_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/houses/plains_meeting_point_5.nbt rename to crates/pumpkin-world/assets/structures/village/plains/houses/plains_meeting_point_5.nbt diff --git a/pumpkin-world/assets/structures/village/plains/houses/plains_shepherds_house_1.nbt b/crates/pumpkin-world/assets/structures/village/plains/houses/plains_shepherds_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/houses/plains_shepherds_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/plains/houses/plains_shepherds_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/plains/houses/plains_small_farm_1.nbt b/crates/pumpkin-world/assets/structures/village/plains/houses/plains_small_farm_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/houses/plains_small_farm_1.nbt rename to crates/pumpkin-world/assets/structures/village/plains/houses/plains_small_farm_1.nbt diff --git a/pumpkin-world/assets/structures/village/plains/houses/plains_small_house_1.nbt b/crates/pumpkin-world/assets/structures/village/plains/houses/plains_small_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/houses/plains_small_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/plains/houses/plains_small_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/plains/houses/plains_small_house_2.nbt b/crates/pumpkin-world/assets/structures/village/plains/houses/plains_small_house_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/houses/plains_small_house_2.nbt rename to crates/pumpkin-world/assets/structures/village/plains/houses/plains_small_house_2.nbt diff --git a/pumpkin-world/assets/structures/village/plains/houses/plains_small_house_3.nbt b/crates/pumpkin-world/assets/structures/village/plains/houses/plains_small_house_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/houses/plains_small_house_3.nbt rename to crates/pumpkin-world/assets/structures/village/plains/houses/plains_small_house_3.nbt diff --git a/pumpkin-world/assets/structures/village/plains/houses/plains_small_house_4.nbt b/crates/pumpkin-world/assets/structures/village/plains/houses/plains_small_house_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/houses/plains_small_house_4.nbt rename to crates/pumpkin-world/assets/structures/village/plains/houses/plains_small_house_4.nbt diff --git a/pumpkin-world/assets/structures/village/plains/houses/plains_small_house_5.nbt b/crates/pumpkin-world/assets/structures/village/plains/houses/plains_small_house_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/houses/plains_small_house_5.nbt rename to crates/pumpkin-world/assets/structures/village/plains/houses/plains_small_house_5.nbt diff --git a/pumpkin-world/assets/structures/village/plains/houses/plains_small_house_6.nbt b/crates/pumpkin-world/assets/structures/village/plains/houses/plains_small_house_6.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/houses/plains_small_house_6.nbt rename to crates/pumpkin-world/assets/structures/village/plains/houses/plains_small_house_6.nbt diff --git a/pumpkin-world/assets/structures/village/plains/houses/plains_small_house_7.nbt b/crates/pumpkin-world/assets/structures/village/plains/houses/plains_small_house_7.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/houses/plains_small_house_7.nbt rename to crates/pumpkin-world/assets/structures/village/plains/houses/plains_small_house_7.nbt diff --git a/pumpkin-world/assets/structures/village/plains/houses/plains_small_house_8.nbt b/crates/pumpkin-world/assets/structures/village/plains/houses/plains_small_house_8.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/houses/plains_small_house_8.nbt rename to crates/pumpkin-world/assets/structures/village/plains/houses/plains_small_house_8.nbt diff --git a/pumpkin-world/assets/structures/village/plains/houses/plains_stable_1.nbt b/crates/pumpkin-world/assets/structures/village/plains/houses/plains_stable_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/houses/plains_stable_1.nbt rename to crates/pumpkin-world/assets/structures/village/plains/houses/plains_stable_1.nbt diff --git a/pumpkin-world/assets/structures/village/plains/houses/plains_stable_2.nbt b/crates/pumpkin-world/assets/structures/village/plains/houses/plains_stable_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/houses/plains_stable_2.nbt rename to crates/pumpkin-world/assets/structures/village/plains/houses/plains_stable_2.nbt diff --git a/pumpkin-world/assets/structures/village/plains/houses/plains_tannery_1.nbt b/crates/pumpkin-world/assets/structures/village/plains/houses/plains_tannery_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/houses/plains_tannery_1.nbt rename to crates/pumpkin-world/assets/structures/village/plains/houses/plains_tannery_1.nbt diff --git a/pumpkin-world/assets/structures/village/plains/houses/plains_temple_3.nbt b/crates/pumpkin-world/assets/structures/village/plains/houses/plains_temple_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/houses/plains_temple_3.nbt rename to crates/pumpkin-world/assets/structures/village/plains/houses/plains_temple_3.nbt diff --git a/pumpkin-world/assets/structures/village/plains/houses/plains_temple_4.nbt b/crates/pumpkin-world/assets/structures/village/plains/houses/plains_temple_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/houses/plains_temple_4.nbt rename to crates/pumpkin-world/assets/structures/village/plains/houses/plains_temple_4.nbt diff --git a/pumpkin-world/assets/structures/village/plains/houses/plains_tool_smith_1.nbt b/crates/pumpkin-world/assets/structures/village/plains/houses/plains_tool_smith_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/houses/plains_tool_smith_1.nbt rename to crates/pumpkin-world/assets/structures/village/plains/houses/plains_tool_smith_1.nbt diff --git a/pumpkin-world/assets/structures/village/plains/houses/plains_weaponsmith_1.nbt b/crates/pumpkin-world/assets/structures/village/plains/houses/plains_weaponsmith_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/houses/plains_weaponsmith_1.nbt rename to crates/pumpkin-world/assets/structures/village/plains/houses/plains_weaponsmith_1.nbt diff --git a/pumpkin-world/assets/structures/village/plains/plains_lamp_1.nbt b/crates/pumpkin-world/assets/structures/village/plains/plains_lamp_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/plains_lamp_1.nbt rename to crates/pumpkin-world/assets/structures/village/plains/plains_lamp_1.nbt diff --git a/pumpkin-world/assets/structures/village/plains/streets/corner_01.nbt b/crates/pumpkin-world/assets/structures/village/plains/streets/corner_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/streets/corner_01.nbt rename to crates/pumpkin-world/assets/structures/village/plains/streets/corner_01.nbt diff --git a/pumpkin-world/assets/structures/village/plains/streets/corner_02.nbt b/crates/pumpkin-world/assets/structures/village/plains/streets/corner_02.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/streets/corner_02.nbt rename to crates/pumpkin-world/assets/structures/village/plains/streets/corner_02.nbt diff --git a/pumpkin-world/assets/structures/village/plains/streets/corner_03.nbt b/crates/pumpkin-world/assets/structures/village/plains/streets/corner_03.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/streets/corner_03.nbt rename to crates/pumpkin-world/assets/structures/village/plains/streets/corner_03.nbt diff --git a/pumpkin-world/assets/structures/village/plains/streets/crossroad_01.nbt b/crates/pumpkin-world/assets/structures/village/plains/streets/crossroad_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/streets/crossroad_01.nbt rename to crates/pumpkin-world/assets/structures/village/plains/streets/crossroad_01.nbt diff --git a/pumpkin-world/assets/structures/village/plains/streets/crossroad_02.nbt b/crates/pumpkin-world/assets/structures/village/plains/streets/crossroad_02.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/streets/crossroad_02.nbt rename to crates/pumpkin-world/assets/structures/village/plains/streets/crossroad_02.nbt diff --git a/pumpkin-world/assets/structures/village/plains/streets/crossroad_03.nbt b/crates/pumpkin-world/assets/structures/village/plains/streets/crossroad_03.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/streets/crossroad_03.nbt rename to crates/pumpkin-world/assets/structures/village/plains/streets/crossroad_03.nbt diff --git a/pumpkin-world/assets/structures/village/plains/streets/crossroad_04.nbt b/crates/pumpkin-world/assets/structures/village/plains/streets/crossroad_04.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/streets/crossroad_04.nbt rename to crates/pumpkin-world/assets/structures/village/plains/streets/crossroad_04.nbt diff --git a/pumpkin-world/assets/structures/village/plains/streets/crossroad_05.nbt b/crates/pumpkin-world/assets/structures/village/plains/streets/crossroad_05.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/streets/crossroad_05.nbt rename to crates/pumpkin-world/assets/structures/village/plains/streets/crossroad_05.nbt diff --git a/pumpkin-world/assets/structures/village/plains/streets/crossroad_06.nbt b/crates/pumpkin-world/assets/structures/village/plains/streets/crossroad_06.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/streets/crossroad_06.nbt rename to crates/pumpkin-world/assets/structures/village/plains/streets/crossroad_06.nbt diff --git a/pumpkin-world/assets/structures/village/plains/streets/straight_01.nbt b/crates/pumpkin-world/assets/structures/village/plains/streets/straight_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/streets/straight_01.nbt rename to crates/pumpkin-world/assets/structures/village/plains/streets/straight_01.nbt diff --git a/pumpkin-world/assets/structures/village/plains/streets/straight_02.nbt b/crates/pumpkin-world/assets/structures/village/plains/streets/straight_02.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/streets/straight_02.nbt rename to crates/pumpkin-world/assets/structures/village/plains/streets/straight_02.nbt diff --git a/pumpkin-world/assets/structures/village/plains/streets/straight_03.nbt b/crates/pumpkin-world/assets/structures/village/plains/streets/straight_03.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/streets/straight_03.nbt rename to crates/pumpkin-world/assets/structures/village/plains/streets/straight_03.nbt diff --git a/pumpkin-world/assets/structures/village/plains/streets/straight_04.nbt b/crates/pumpkin-world/assets/structures/village/plains/streets/straight_04.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/streets/straight_04.nbt rename to crates/pumpkin-world/assets/structures/village/plains/streets/straight_04.nbt diff --git a/pumpkin-world/assets/structures/village/plains/streets/straight_05.nbt b/crates/pumpkin-world/assets/structures/village/plains/streets/straight_05.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/streets/straight_05.nbt rename to crates/pumpkin-world/assets/structures/village/plains/streets/straight_05.nbt diff --git a/pumpkin-world/assets/structures/village/plains/streets/straight_06.nbt b/crates/pumpkin-world/assets/structures/village/plains/streets/straight_06.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/streets/straight_06.nbt rename to crates/pumpkin-world/assets/structures/village/plains/streets/straight_06.nbt diff --git a/pumpkin-world/assets/structures/village/plains/streets/turn_01.nbt b/crates/pumpkin-world/assets/structures/village/plains/streets/turn_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/streets/turn_01.nbt rename to crates/pumpkin-world/assets/structures/village/plains/streets/turn_01.nbt diff --git a/pumpkin-world/assets/structures/village/plains/terminators/terminator_01.nbt b/crates/pumpkin-world/assets/structures/village/plains/terminators/terminator_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/terminators/terminator_01.nbt rename to crates/pumpkin-world/assets/structures/village/plains/terminators/terminator_01.nbt diff --git a/pumpkin-world/assets/structures/village/plains/terminators/terminator_02.nbt b/crates/pumpkin-world/assets/structures/village/plains/terminators/terminator_02.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/terminators/terminator_02.nbt rename to crates/pumpkin-world/assets/structures/village/plains/terminators/terminator_02.nbt diff --git a/pumpkin-world/assets/structures/village/plains/terminators/terminator_03.nbt b/crates/pumpkin-world/assets/structures/village/plains/terminators/terminator_03.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/terminators/terminator_03.nbt rename to crates/pumpkin-world/assets/structures/village/plains/terminators/terminator_03.nbt diff --git a/pumpkin-world/assets/structures/village/plains/terminators/terminator_04.nbt b/crates/pumpkin-world/assets/structures/village/plains/terminators/terminator_04.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/terminators/terminator_04.nbt rename to crates/pumpkin-world/assets/structures/village/plains/terminators/terminator_04.nbt diff --git a/pumpkin-world/assets/structures/village/plains/town_centers/plains_fountain_01.nbt b/crates/pumpkin-world/assets/structures/village/plains/town_centers/plains_fountain_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/town_centers/plains_fountain_01.nbt rename to crates/pumpkin-world/assets/structures/village/plains/town_centers/plains_fountain_01.nbt diff --git a/pumpkin-world/assets/structures/village/plains/town_centers/plains_meeting_point_1.nbt b/crates/pumpkin-world/assets/structures/village/plains/town_centers/plains_meeting_point_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/town_centers/plains_meeting_point_1.nbt rename to crates/pumpkin-world/assets/structures/village/plains/town_centers/plains_meeting_point_1.nbt diff --git a/pumpkin-world/assets/structures/village/plains/town_centers/plains_meeting_point_2.nbt b/crates/pumpkin-world/assets/structures/village/plains/town_centers/plains_meeting_point_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/town_centers/plains_meeting_point_2.nbt rename to crates/pumpkin-world/assets/structures/village/plains/town_centers/plains_meeting_point_2.nbt diff --git a/pumpkin-world/assets/structures/village/plains/town_centers/plains_meeting_point_3.nbt b/crates/pumpkin-world/assets/structures/village/plains/town_centers/plains_meeting_point_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/town_centers/plains_meeting_point_3.nbt rename to crates/pumpkin-world/assets/structures/village/plains/town_centers/plains_meeting_point_3.nbt diff --git a/pumpkin-world/assets/structures/village/plains/villagers/baby.nbt b/crates/pumpkin-world/assets/structures/village/plains/villagers/baby.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/villagers/baby.nbt rename to crates/pumpkin-world/assets/structures/village/plains/villagers/baby.nbt diff --git a/pumpkin-world/assets/structures/village/plains/villagers/nitwit.nbt b/crates/pumpkin-world/assets/structures/village/plains/villagers/nitwit.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/villagers/nitwit.nbt rename to crates/pumpkin-world/assets/structures/village/plains/villagers/nitwit.nbt diff --git a/pumpkin-world/assets/structures/village/plains/villagers/unemployed.nbt b/crates/pumpkin-world/assets/structures/village/plains/villagers/unemployed.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/villagers/unemployed.nbt rename to crates/pumpkin-world/assets/structures/village/plains/villagers/unemployed.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_animal_pen_3.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_animal_pen_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/houses/plains_animal_pen_3.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_animal_pen_3.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_big_house_1.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_big_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/houses/plains_big_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_big_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_butcher_shop_2.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_butcher_shop_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/houses/plains_butcher_shop_2.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_butcher_shop_2.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_fletcher_house_1.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_fletcher_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/houses/plains_fletcher_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_fletcher_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_medium_house_1.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_medium_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/houses/plains_medium_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_medium_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_medium_house_2.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_medium_house_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/houses/plains_medium_house_2.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_medium_house_2.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_meeting_point_4.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_meeting_point_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/houses/plains_meeting_point_4.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_meeting_point_4.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_meeting_point_5.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_meeting_point_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/houses/plains_meeting_point_5.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_meeting_point_5.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_shepherds_house_1.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_shepherds_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/houses/plains_shepherds_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_shepherds_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_small_house_1.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_small_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/houses/plains_small_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_small_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_small_house_2.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_small_house_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/houses/plains_small_house_2.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_small_house_2.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_small_house_3.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_small_house_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/houses/plains_small_house_3.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_small_house_3.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_small_house_4.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_small_house_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/houses/plains_small_house_4.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_small_house_4.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_small_house_5.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_small_house_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/houses/plains_small_house_5.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_small_house_5.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_small_house_6.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_small_house_6.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/houses/plains_small_house_6.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_small_house_6.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_small_house_7.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_small_house_7.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/houses/plains_small_house_7.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_small_house_7.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_small_house_8.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_small_house_8.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/houses/plains_small_house_8.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_small_house_8.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_stable_1.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_stable_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/houses/plains_stable_1.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/houses/plains_stable_1.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/streets/corner_01.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/streets/corner_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/streets/corner_01.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/streets/corner_01.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/streets/corner_02.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/streets/corner_02.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/streets/corner_02.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/streets/corner_02.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/streets/corner_03.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/streets/corner_03.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/streets/corner_03.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/streets/corner_03.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/streets/crossroad_01.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/streets/crossroad_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/streets/crossroad_01.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/streets/crossroad_01.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/streets/crossroad_02.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/streets/crossroad_02.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/streets/crossroad_02.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/streets/crossroad_02.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/streets/crossroad_03.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/streets/crossroad_03.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/streets/crossroad_03.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/streets/crossroad_03.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/streets/crossroad_04.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/streets/crossroad_04.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/streets/crossroad_04.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/streets/crossroad_04.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/streets/crossroad_05.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/streets/crossroad_05.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/streets/crossroad_05.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/streets/crossroad_05.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/streets/crossroad_06.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/streets/crossroad_06.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/streets/crossroad_06.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/streets/crossroad_06.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/streets/straight_01.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/streets/straight_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/streets/straight_01.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/streets/straight_01.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/streets/straight_02.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/streets/straight_02.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/streets/straight_02.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/streets/straight_02.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/streets/straight_03.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/streets/straight_03.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/streets/straight_03.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/streets/straight_03.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/streets/straight_04.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/streets/straight_04.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/streets/straight_04.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/streets/straight_04.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/streets/straight_05.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/streets/straight_05.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/streets/straight_05.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/streets/straight_05.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/streets/straight_06.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/streets/straight_06.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/streets/straight_06.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/streets/straight_06.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/streets/turn_01.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/streets/turn_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/streets/turn_01.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/streets/turn_01.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/town_centers/plains_fountain_01.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/town_centers/plains_fountain_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/town_centers/plains_fountain_01.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/town_centers/plains_fountain_01.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/town_centers/plains_meeting_point_1.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/town_centers/plains_meeting_point_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/town_centers/plains_meeting_point_1.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/town_centers/plains_meeting_point_1.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/town_centers/plains_meeting_point_2.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/town_centers/plains_meeting_point_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/town_centers/plains_meeting_point_2.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/town_centers/plains_meeting_point_2.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/town_centers/plains_meeting_point_3.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/town_centers/plains_meeting_point_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/town_centers/plains_meeting_point_3.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/town_centers/plains_meeting_point_3.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/villagers/nitwit.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/villagers/nitwit.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/villagers/nitwit.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/villagers/nitwit.nbt diff --git a/pumpkin-world/assets/structures/village/plains/zombie/villagers/unemployed.nbt b/crates/pumpkin-world/assets/structures/village/plains/zombie/villagers/unemployed.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/plains/zombie/villagers/unemployed.nbt rename to crates/pumpkin-world/assets/structures/village/plains/zombie/villagers/unemployed.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/houses/savanna_animal_pen_1.nbt b/crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_animal_pen_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/houses/savanna_animal_pen_1.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_animal_pen_1.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/houses/savanna_animal_pen_2.nbt b/crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_animal_pen_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/houses/savanna_animal_pen_2.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_animal_pen_2.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/houses/savanna_animal_pen_3.nbt b/crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_animal_pen_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/houses/savanna_animal_pen_3.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_animal_pen_3.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/houses/savanna_armorer_1.nbt b/crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_armorer_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/houses/savanna_armorer_1.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_armorer_1.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/houses/savanna_butchers_shop_1.nbt b/crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_butchers_shop_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/houses/savanna_butchers_shop_1.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_butchers_shop_1.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/houses/savanna_butchers_shop_2.nbt b/crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_butchers_shop_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/houses/savanna_butchers_shop_2.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_butchers_shop_2.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/houses/savanna_cartographer_1.nbt b/crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_cartographer_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/houses/savanna_cartographer_1.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_cartographer_1.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/houses/savanna_fisher_cottage_1.nbt b/crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_fisher_cottage_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/houses/savanna_fisher_cottage_1.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_fisher_cottage_1.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/houses/savanna_fletcher_house_1.nbt b/crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_fletcher_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/houses/savanna_fletcher_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_fletcher_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/houses/savanna_large_farm_1.nbt b/crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_large_farm_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/houses/savanna_large_farm_1.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_large_farm_1.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/houses/savanna_large_farm_2.nbt b/crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_large_farm_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/houses/savanna_large_farm_2.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_large_farm_2.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/houses/savanna_library_1.nbt b/crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_library_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/houses/savanna_library_1.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_library_1.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/houses/savanna_mason_1.nbt b/crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_mason_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/houses/savanna_mason_1.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_mason_1.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/houses/savanna_medium_house_1.nbt b/crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_medium_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/houses/savanna_medium_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_medium_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/houses/savanna_medium_house_2.nbt b/crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_medium_house_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/houses/savanna_medium_house_2.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_medium_house_2.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/houses/savanna_shepherd_1.nbt b/crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_shepherd_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/houses/savanna_shepherd_1.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_shepherd_1.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/houses/savanna_small_farm.nbt b/crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_small_farm.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/houses/savanna_small_farm.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_small_farm.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/houses/savanna_small_house_1.nbt b/crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_small_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/houses/savanna_small_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_small_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/houses/savanna_small_house_2.nbt b/crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_small_house_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/houses/savanna_small_house_2.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_small_house_2.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/houses/savanna_small_house_3.nbt b/crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_small_house_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/houses/savanna_small_house_3.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_small_house_3.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/houses/savanna_small_house_4.nbt b/crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_small_house_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/houses/savanna_small_house_4.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_small_house_4.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/houses/savanna_small_house_5.nbt b/crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_small_house_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/houses/savanna_small_house_5.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_small_house_5.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/houses/savanna_small_house_6.nbt b/crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_small_house_6.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/houses/savanna_small_house_6.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_small_house_6.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/houses/savanna_small_house_7.nbt b/crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_small_house_7.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/houses/savanna_small_house_7.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_small_house_7.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/houses/savanna_small_house_8.nbt b/crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_small_house_8.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/houses/savanna_small_house_8.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_small_house_8.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/houses/savanna_tannery_1.nbt b/crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_tannery_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/houses/savanna_tannery_1.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_tannery_1.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/houses/savanna_temple_1.nbt b/crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_temple_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/houses/savanna_temple_1.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_temple_1.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/houses/savanna_temple_2.nbt b/crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_temple_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/houses/savanna_temple_2.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_temple_2.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/houses/savanna_tool_smith_1.nbt b/crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_tool_smith_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/houses/savanna_tool_smith_1.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_tool_smith_1.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/houses/savanna_weaponsmith_1.nbt b/crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_weaponsmith_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/houses/savanna_weaponsmith_1.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_weaponsmith_1.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/houses/savanna_weaponsmith_2.nbt b/crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_weaponsmith_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/houses/savanna_weaponsmith_2.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/houses/savanna_weaponsmith_2.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/savanna_lamp_post_01.nbt b/crates/pumpkin-world/assets/structures/village/savanna/savanna_lamp_post_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/savanna_lamp_post_01.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/savanna_lamp_post_01.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/streets/corner_01.nbt b/crates/pumpkin-world/assets/structures/village/savanna/streets/corner_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/streets/corner_01.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/streets/corner_01.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/streets/corner_03.nbt b/crates/pumpkin-world/assets/structures/village/savanna/streets/corner_03.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/streets/corner_03.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/streets/corner_03.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/streets/crossroad_02.nbt b/crates/pumpkin-world/assets/structures/village/savanna/streets/crossroad_02.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/streets/crossroad_02.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/streets/crossroad_02.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/streets/crossroad_03.nbt b/crates/pumpkin-world/assets/structures/village/savanna/streets/crossroad_03.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/streets/crossroad_03.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/streets/crossroad_03.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/streets/crossroad_04.nbt b/crates/pumpkin-world/assets/structures/village/savanna/streets/crossroad_04.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/streets/crossroad_04.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/streets/crossroad_04.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/streets/crossroad_05.nbt b/crates/pumpkin-world/assets/structures/village/savanna/streets/crossroad_05.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/streets/crossroad_05.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/streets/crossroad_05.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/streets/crossroad_06.nbt b/crates/pumpkin-world/assets/structures/village/savanna/streets/crossroad_06.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/streets/crossroad_06.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/streets/crossroad_06.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/streets/crossroad_07.nbt b/crates/pumpkin-world/assets/structures/village/savanna/streets/crossroad_07.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/streets/crossroad_07.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/streets/crossroad_07.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/streets/split_01.nbt b/crates/pumpkin-world/assets/structures/village/savanna/streets/split_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/streets/split_01.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/streets/split_01.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/streets/split_02.nbt b/crates/pumpkin-world/assets/structures/village/savanna/streets/split_02.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/streets/split_02.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/streets/split_02.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/streets/straight_02.nbt b/crates/pumpkin-world/assets/structures/village/savanna/streets/straight_02.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/streets/straight_02.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/streets/straight_02.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/streets/straight_04.nbt b/crates/pumpkin-world/assets/structures/village/savanna/streets/straight_04.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/streets/straight_04.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/streets/straight_04.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/streets/straight_05.nbt b/crates/pumpkin-world/assets/structures/village/savanna/streets/straight_05.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/streets/straight_05.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/streets/straight_05.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/streets/straight_06.nbt b/crates/pumpkin-world/assets/structures/village/savanna/streets/straight_06.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/streets/straight_06.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/streets/straight_06.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/streets/straight_08.nbt b/crates/pumpkin-world/assets/structures/village/savanna/streets/straight_08.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/streets/straight_08.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/streets/straight_08.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/streets/straight_09.nbt b/crates/pumpkin-world/assets/structures/village/savanna/streets/straight_09.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/streets/straight_09.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/streets/straight_09.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/streets/straight_10.nbt b/crates/pumpkin-world/assets/structures/village/savanna/streets/straight_10.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/streets/straight_10.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/streets/straight_10.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/streets/straight_11.nbt b/crates/pumpkin-world/assets/structures/village/savanna/streets/straight_11.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/streets/straight_11.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/streets/straight_11.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/streets/turn_01.nbt b/crates/pumpkin-world/assets/structures/village/savanna/streets/turn_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/streets/turn_01.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/streets/turn_01.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/terminators/terminator_05.nbt b/crates/pumpkin-world/assets/structures/village/savanna/terminators/terminator_05.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/terminators/terminator_05.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/terminators/terminator_05.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/town_centers/savanna_meeting_point_1.nbt b/crates/pumpkin-world/assets/structures/village/savanna/town_centers/savanna_meeting_point_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/town_centers/savanna_meeting_point_1.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/town_centers/savanna_meeting_point_1.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/town_centers/savanna_meeting_point_2.nbt b/crates/pumpkin-world/assets/structures/village/savanna/town_centers/savanna_meeting_point_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/town_centers/savanna_meeting_point_2.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/town_centers/savanna_meeting_point_2.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/town_centers/savanna_meeting_point_3.nbt b/crates/pumpkin-world/assets/structures/village/savanna/town_centers/savanna_meeting_point_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/town_centers/savanna_meeting_point_3.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/town_centers/savanna_meeting_point_3.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/town_centers/savanna_meeting_point_4.nbt b/crates/pumpkin-world/assets/structures/village/savanna/town_centers/savanna_meeting_point_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/town_centers/savanna_meeting_point_4.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/town_centers/savanna_meeting_point_4.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/villagers/baby.nbt b/crates/pumpkin-world/assets/structures/village/savanna/villagers/baby.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/villagers/baby.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/villagers/baby.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/villagers/nitwit.nbt b/crates/pumpkin-world/assets/structures/village/savanna/villagers/nitwit.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/villagers/nitwit.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/villagers/nitwit.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/villagers/unemployed.nbt b/crates/pumpkin-world/assets/structures/village/savanna/villagers/unemployed.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/villagers/unemployed.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/villagers/unemployed.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_animal_pen_2.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_animal_pen_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_animal_pen_2.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_animal_pen_2.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_animal_pen_3.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_animal_pen_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_animal_pen_3.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_animal_pen_3.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_large_farm_2.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_large_farm_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_large_farm_2.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_large_farm_2.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_medium_house_1.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_medium_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_medium_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_medium_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_medium_house_2.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_medium_house_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_medium_house_2.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_medium_house_2.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_small_house_1.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_small_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_small_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_small_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_small_house_2.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_small_house_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_small_house_2.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_small_house_2.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_small_house_3.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_small_house_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_small_house_3.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_small_house_3.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_small_house_4.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_small_house_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_small_house_4.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_small_house_4.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_small_house_5.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_small_house_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_small_house_5.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_small_house_5.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_small_house_6.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_small_house_6.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_small_house_6.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_small_house_6.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_small_house_7.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_small_house_7.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_small_house_7.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_small_house_7.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_small_house_8.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_small_house_8.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_small_house_8.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/houses/savanna_small_house_8.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/streets/corner_01.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/corner_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/streets/corner_01.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/corner_01.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/streets/corner_03.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/corner_03.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/streets/corner_03.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/corner_03.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/streets/crossroad_02.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/crossroad_02.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/streets/crossroad_02.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/crossroad_02.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/streets/crossroad_03.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/crossroad_03.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/streets/crossroad_03.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/crossroad_03.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/streets/crossroad_04.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/crossroad_04.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/streets/crossroad_04.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/crossroad_04.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/streets/crossroad_05.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/crossroad_05.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/streets/crossroad_05.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/crossroad_05.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/streets/crossroad_06.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/crossroad_06.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/streets/crossroad_06.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/crossroad_06.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/streets/crossroad_07.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/crossroad_07.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/streets/crossroad_07.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/crossroad_07.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/streets/split_01.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/split_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/streets/split_01.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/split_01.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/streets/split_02.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/split_02.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/streets/split_02.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/split_02.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/streets/straight_02.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/straight_02.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/streets/straight_02.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/straight_02.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/streets/straight_04.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/straight_04.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/streets/straight_04.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/straight_04.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/streets/straight_05.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/straight_05.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/streets/straight_05.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/straight_05.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/streets/straight_06.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/straight_06.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/streets/straight_06.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/straight_06.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/streets/straight_08.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/straight_08.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/streets/straight_08.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/straight_08.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/streets/straight_09.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/straight_09.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/streets/straight_09.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/straight_09.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/streets/straight_10.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/straight_10.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/streets/straight_10.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/straight_10.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/streets/straight_11.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/straight_11.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/streets/straight_11.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/straight_11.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/streets/turn_01.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/turn_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/streets/turn_01.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/streets/turn_01.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/terminators/terminator_05.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/terminators/terminator_05.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/terminators/terminator_05.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/terminators/terminator_05.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/town_centers/savanna_meeting_point_1.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/town_centers/savanna_meeting_point_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/town_centers/savanna_meeting_point_1.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/town_centers/savanna_meeting_point_1.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/town_centers/savanna_meeting_point_2.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/town_centers/savanna_meeting_point_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/town_centers/savanna_meeting_point_2.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/town_centers/savanna_meeting_point_2.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/town_centers/savanna_meeting_point_3.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/town_centers/savanna_meeting_point_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/town_centers/savanna_meeting_point_3.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/town_centers/savanna_meeting_point_3.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/town_centers/savanna_meeting_point_4.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/town_centers/savanna_meeting_point_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/town_centers/savanna_meeting_point_4.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/town_centers/savanna_meeting_point_4.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/villagers/nitwit.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/villagers/nitwit.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/villagers/nitwit.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/villagers/nitwit.nbt diff --git a/pumpkin-world/assets/structures/village/savanna/zombie/villagers/unemployed.nbt b/crates/pumpkin-world/assets/structures/village/savanna/zombie/villagers/unemployed.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/savanna/zombie/villagers/unemployed.nbt rename to crates/pumpkin-world/assets/structures/village/savanna/zombie/villagers/unemployed.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/houses/snowy_animal_pen_1.nbt b/crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_animal_pen_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/houses/snowy_animal_pen_1.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_animal_pen_1.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/houses/snowy_animal_pen_2.nbt b/crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_animal_pen_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/houses/snowy_animal_pen_2.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_animal_pen_2.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/houses/snowy_armorer_house_1.nbt b/crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_armorer_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/houses/snowy_armorer_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_armorer_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/houses/snowy_armorer_house_2.nbt b/crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_armorer_house_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/houses/snowy_armorer_house_2.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_armorer_house_2.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/houses/snowy_butchers_shop_1.nbt b/crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_butchers_shop_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/houses/snowy_butchers_shop_1.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_butchers_shop_1.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/houses/snowy_butchers_shop_2.nbt b/crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_butchers_shop_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/houses/snowy_butchers_shop_2.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_butchers_shop_2.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/houses/snowy_cartographer_house_1.nbt b/crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_cartographer_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/houses/snowy_cartographer_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_cartographer_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/houses/snowy_farm_1.nbt b/crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_farm_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/houses/snowy_farm_1.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_farm_1.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/houses/snowy_farm_2.nbt b/crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_farm_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/houses/snowy_farm_2.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_farm_2.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/houses/snowy_fisher_cottage.nbt b/crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_fisher_cottage.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/houses/snowy_fisher_cottage.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_fisher_cottage.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/houses/snowy_fletcher_house_1.nbt b/crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_fletcher_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/houses/snowy_fletcher_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_fletcher_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/houses/snowy_library_1.nbt b/crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_library_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/houses/snowy_library_1.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_library_1.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/houses/snowy_masons_house_1.nbt b/crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_masons_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/houses/snowy_masons_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_masons_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/houses/snowy_masons_house_2.nbt b/crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_masons_house_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/houses/snowy_masons_house_2.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_masons_house_2.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/houses/snowy_medium_house_1.nbt b/crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_medium_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/houses/snowy_medium_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_medium_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/houses/snowy_medium_house_2.nbt b/crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_medium_house_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/houses/snowy_medium_house_2.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_medium_house_2.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/houses/snowy_medium_house_3.nbt b/crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_medium_house_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/houses/snowy_medium_house_3.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_medium_house_3.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/houses/snowy_shepherds_house_1.nbt b/crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_shepherds_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/houses/snowy_shepherds_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_shepherds_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/houses/snowy_small_house_1.nbt b/crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_small_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/houses/snowy_small_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_small_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/houses/snowy_small_house_2.nbt b/crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_small_house_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/houses/snowy_small_house_2.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_small_house_2.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/houses/snowy_small_house_3.nbt b/crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_small_house_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/houses/snowy_small_house_3.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_small_house_3.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/houses/snowy_small_house_4.nbt b/crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_small_house_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/houses/snowy_small_house_4.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_small_house_4.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/houses/snowy_small_house_5.nbt b/crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_small_house_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/houses/snowy_small_house_5.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_small_house_5.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/houses/snowy_small_house_6.nbt b/crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_small_house_6.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/houses/snowy_small_house_6.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_small_house_6.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/houses/snowy_small_house_7.nbt b/crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_small_house_7.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/houses/snowy_small_house_7.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_small_house_7.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/houses/snowy_small_house_8.nbt b/crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_small_house_8.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/houses/snowy_small_house_8.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_small_house_8.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/houses/snowy_tannery_1.nbt b/crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_tannery_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/houses/snowy_tannery_1.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_tannery_1.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/houses/snowy_temple_1.nbt b/crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_temple_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/houses/snowy_temple_1.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_temple_1.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/houses/snowy_tool_smith_1.nbt b/crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_tool_smith_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/houses/snowy_tool_smith_1.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_tool_smith_1.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/houses/snowy_weapon_smith_1.nbt b/crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_weapon_smith_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/houses/snowy_weapon_smith_1.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/houses/snowy_weapon_smith_1.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/snowy_lamp_post_01.nbt b/crates/pumpkin-world/assets/structures/village/snowy/snowy_lamp_post_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/snowy_lamp_post_01.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/snowy_lamp_post_01.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/snowy_lamp_post_02.nbt b/crates/pumpkin-world/assets/structures/village/snowy/snowy_lamp_post_02.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/snowy_lamp_post_02.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/snowy_lamp_post_02.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/snowy_lamp_post_03.nbt b/crates/pumpkin-world/assets/structures/village/snowy/snowy_lamp_post_03.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/snowy_lamp_post_03.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/snowy_lamp_post_03.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/streets/corner_01.nbt b/crates/pumpkin-world/assets/structures/village/snowy/streets/corner_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/streets/corner_01.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/streets/corner_01.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/streets/corner_02.nbt b/crates/pumpkin-world/assets/structures/village/snowy/streets/corner_02.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/streets/corner_02.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/streets/corner_02.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/streets/corner_03.nbt b/crates/pumpkin-world/assets/structures/village/snowy/streets/corner_03.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/streets/corner_03.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/streets/corner_03.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/streets/crossroad_01.nbt b/crates/pumpkin-world/assets/structures/village/snowy/streets/crossroad_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/streets/crossroad_01.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/streets/crossroad_01.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/streets/crossroad_02.nbt b/crates/pumpkin-world/assets/structures/village/snowy/streets/crossroad_02.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/streets/crossroad_02.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/streets/crossroad_02.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/streets/crossroad_03.nbt b/crates/pumpkin-world/assets/structures/village/snowy/streets/crossroad_03.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/streets/crossroad_03.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/streets/crossroad_03.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/streets/crossroad_04.nbt b/crates/pumpkin-world/assets/structures/village/snowy/streets/crossroad_04.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/streets/crossroad_04.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/streets/crossroad_04.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/streets/crossroad_05.nbt b/crates/pumpkin-world/assets/structures/village/snowy/streets/crossroad_05.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/streets/crossroad_05.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/streets/crossroad_05.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/streets/crossroad_06.nbt b/crates/pumpkin-world/assets/structures/village/snowy/streets/crossroad_06.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/streets/crossroad_06.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/streets/crossroad_06.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/streets/square_01.nbt b/crates/pumpkin-world/assets/structures/village/snowy/streets/square_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/streets/square_01.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/streets/square_01.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/streets/straight_01.nbt b/crates/pumpkin-world/assets/structures/village/snowy/streets/straight_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/streets/straight_01.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/streets/straight_01.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/streets/straight_02.nbt b/crates/pumpkin-world/assets/structures/village/snowy/streets/straight_02.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/streets/straight_02.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/streets/straight_02.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/streets/straight_03.nbt b/crates/pumpkin-world/assets/structures/village/snowy/streets/straight_03.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/streets/straight_03.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/streets/straight_03.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/streets/straight_04.nbt b/crates/pumpkin-world/assets/structures/village/snowy/streets/straight_04.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/streets/straight_04.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/streets/straight_04.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/streets/straight_06.nbt b/crates/pumpkin-world/assets/structures/village/snowy/streets/straight_06.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/streets/straight_06.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/streets/straight_06.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/streets/straight_08.nbt b/crates/pumpkin-world/assets/structures/village/snowy/streets/straight_08.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/streets/straight_08.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/streets/straight_08.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/streets/turn_01.nbt b/crates/pumpkin-world/assets/structures/village/snowy/streets/turn_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/streets/turn_01.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/streets/turn_01.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/town_centers/snowy_meeting_point_1.nbt b/crates/pumpkin-world/assets/structures/village/snowy/town_centers/snowy_meeting_point_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/town_centers/snowy_meeting_point_1.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/town_centers/snowy_meeting_point_1.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/town_centers/snowy_meeting_point_2.nbt b/crates/pumpkin-world/assets/structures/village/snowy/town_centers/snowy_meeting_point_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/town_centers/snowy_meeting_point_2.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/town_centers/snowy_meeting_point_2.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/town_centers/snowy_meeting_point_3.nbt b/crates/pumpkin-world/assets/structures/village/snowy/town_centers/snowy_meeting_point_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/town_centers/snowy_meeting_point_3.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/town_centers/snowy_meeting_point_3.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/villagers/baby.nbt b/crates/pumpkin-world/assets/structures/village/snowy/villagers/baby.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/villagers/baby.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/villagers/baby.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/villagers/nitwit.nbt b/crates/pumpkin-world/assets/structures/village/snowy/villagers/nitwit.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/villagers/nitwit.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/villagers/nitwit.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/villagers/unemployed.nbt b/crates/pumpkin-world/assets/structures/village/snowy/villagers/unemployed.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/villagers/unemployed.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/villagers/unemployed.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_medium_house_1.nbt b/crates/pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_medium_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_medium_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_medium_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_medium_house_2.nbt b/crates/pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_medium_house_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_medium_house_2.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_medium_house_2.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_medium_house_3.nbt b/crates/pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_medium_house_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_medium_house_3.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_medium_house_3.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_small_house_1.nbt b/crates/pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_small_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_small_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_small_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_small_house_2.nbt b/crates/pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_small_house_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_small_house_2.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_small_house_2.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_small_house_3.nbt b/crates/pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_small_house_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_small_house_3.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_small_house_3.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_small_house_4.nbt b/crates/pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_small_house_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_small_house_4.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_small_house_4.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_small_house_5.nbt b/crates/pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_small_house_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_small_house_5.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_small_house_5.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_small_house_6.nbt b/crates/pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_small_house_6.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_small_house_6.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_small_house_6.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_small_house_7.nbt b/crates/pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_small_house_7.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_small_house_7.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_small_house_7.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_small_house_8.nbt b/crates/pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_small_house_8.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_small_house_8.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/zombie/houses/snowy_small_house_8.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/zombie/streets/corner_01.nbt b/crates/pumpkin-world/assets/structures/village/snowy/zombie/streets/corner_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/zombie/streets/corner_01.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/zombie/streets/corner_01.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/zombie/streets/corner_02.nbt b/crates/pumpkin-world/assets/structures/village/snowy/zombie/streets/corner_02.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/zombie/streets/corner_02.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/zombie/streets/corner_02.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/zombie/streets/corner_03.nbt b/crates/pumpkin-world/assets/structures/village/snowy/zombie/streets/corner_03.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/zombie/streets/corner_03.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/zombie/streets/corner_03.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/zombie/streets/crossroad_01.nbt b/crates/pumpkin-world/assets/structures/village/snowy/zombie/streets/crossroad_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/zombie/streets/crossroad_01.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/zombie/streets/crossroad_01.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/zombie/streets/crossroad_02.nbt b/crates/pumpkin-world/assets/structures/village/snowy/zombie/streets/crossroad_02.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/zombie/streets/crossroad_02.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/zombie/streets/crossroad_02.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/zombie/streets/crossroad_03.nbt b/crates/pumpkin-world/assets/structures/village/snowy/zombie/streets/crossroad_03.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/zombie/streets/crossroad_03.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/zombie/streets/crossroad_03.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/zombie/streets/crossroad_04.nbt b/crates/pumpkin-world/assets/structures/village/snowy/zombie/streets/crossroad_04.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/zombie/streets/crossroad_04.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/zombie/streets/crossroad_04.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/zombie/streets/crossroad_05.nbt b/crates/pumpkin-world/assets/structures/village/snowy/zombie/streets/crossroad_05.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/zombie/streets/crossroad_05.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/zombie/streets/crossroad_05.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/zombie/streets/crossroad_06.nbt b/crates/pumpkin-world/assets/structures/village/snowy/zombie/streets/crossroad_06.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/zombie/streets/crossroad_06.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/zombie/streets/crossroad_06.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/zombie/streets/square_01.nbt b/crates/pumpkin-world/assets/structures/village/snowy/zombie/streets/square_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/zombie/streets/square_01.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/zombie/streets/square_01.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/zombie/streets/straight_01.nbt b/crates/pumpkin-world/assets/structures/village/snowy/zombie/streets/straight_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/zombie/streets/straight_01.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/zombie/streets/straight_01.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/zombie/streets/straight_02.nbt b/crates/pumpkin-world/assets/structures/village/snowy/zombie/streets/straight_02.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/zombie/streets/straight_02.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/zombie/streets/straight_02.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/zombie/streets/straight_03.nbt b/crates/pumpkin-world/assets/structures/village/snowy/zombie/streets/straight_03.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/zombie/streets/straight_03.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/zombie/streets/straight_03.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/zombie/streets/straight_04.nbt b/crates/pumpkin-world/assets/structures/village/snowy/zombie/streets/straight_04.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/zombie/streets/straight_04.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/zombie/streets/straight_04.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/zombie/streets/straight_06.nbt b/crates/pumpkin-world/assets/structures/village/snowy/zombie/streets/straight_06.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/zombie/streets/straight_06.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/zombie/streets/straight_06.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/zombie/streets/straight_08.nbt b/crates/pumpkin-world/assets/structures/village/snowy/zombie/streets/straight_08.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/zombie/streets/straight_08.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/zombie/streets/straight_08.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/zombie/streets/turn_01.nbt b/crates/pumpkin-world/assets/structures/village/snowy/zombie/streets/turn_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/zombie/streets/turn_01.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/zombie/streets/turn_01.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/zombie/town_centers/snowy_meeting_point_1.nbt b/crates/pumpkin-world/assets/structures/village/snowy/zombie/town_centers/snowy_meeting_point_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/zombie/town_centers/snowy_meeting_point_1.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/zombie/town_centers/snowy_meeting_point_1.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/zombie/town_centers/snowy_meeting_point_2.nbt b/crates/pumpkin-world/assets/structures/village/snowy/zombie/town_centers/snowy_meeting_point_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/zombie/town_centers/snowy_meeting_point_2.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/zombie/town_centers/snowy_meeting_point_2.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/zombie/town_centers/snowy_meeting_point_3.nbt b/crates/pumpkin-world/assets/structures/village/snowy/zombie/town_centers/snowy_meeting_point_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/zombie/town_centers/snowy_meeting_point_3.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/zombie/town_centers/snowy_meeting_point_3.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/zombie/villagers/nitwit.nbt b/crates/pumpkin-world/assets/structures/village/snowy/zombie/villagers/nitwit.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/zombie/villagers/nitwit.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/zombie/villagers/nitwit.nbt diff --git a/pumpkin-world/assets/structures/village/snowy/zombie/villagers/unemployed.nbt b/crates/pumpkin-world/assets/structures/village/snowy/zombie/villagers/unemployed.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/snowy/zombie/villagers/unemployed.nbt rename to crates/pumpkin-world/assets/structures/village/snowy/zombie/villagers/unemployed.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/houses/taiga_animal_pen_1.nbt b/crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_animal_pen_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/houses/taiga_animal_pen_1.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_animal_pen_1.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/houses/taiga_armorer_2.nbt b/crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_armorer_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/houses/taiga_armorer_2.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_armorer_2.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/houses/taiga_armorer_house_1.nbt b/crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_armorer_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/houses/taiga_armorer_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_armorer_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/houses/taiga_butcher_shop_1.nbt b/crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_butcher_shop_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/houses/taiga_butcher_shop_1.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_butcher_shop_1.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/houses/taiga_cartographer_house_1.nbt b/crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_cartographer_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/houses/taiga_cartographer_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_cartographer_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/houses/taiga_fisher_cottage_1.nbt b/crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_fisher_cottage_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/houses/taiga_fisher_cottage_1.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_fisher_cottage_1.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/houses/taiga_fletcher_house_1.nbt b/crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_fletcher_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/houses/taiga_fletcher_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_fletcher_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/houses/taiga_large_farm_1.nbt b/crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_large_farm_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/houses/taiga_large_farm_1.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_large_farm_1.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/houses/taiga_large_farm_2.nbt b/crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_large_farm_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/houses/taiga_large_farm_2.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_large_farm_2.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/houses/taiga_library_1.nbt b/crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_library_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/houses/taiga_library_1.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_library_1.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/houses/taiga_masons_house_1.nbt b/crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_masons_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/houses/taiga_masons_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_masons_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/houses/taiga_medium_house_1.nbt b/crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_medium_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/houses/taiga_medium_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_medium_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/houses/taiga_medium_house_2.nbt b/crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_medium_house_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/houses/taiga_medium_house_2.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_medium_house_2.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/houses/taiga_medium_house_3.nbt b/crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_medium_house_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/houses/taiga_medium_house_3.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_medium_house_3.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/houses/taiga_medium_house_4.nbt b/crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_medium_house_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/houses/taiga_medium_house_4.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_medium_house_4.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/houses/taiga_shepherds_house_1.nbt b/crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_shepherds_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/houses/taiga_shepherds_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_shepherds_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/houses/taiga_small_farm_1.nbt b/crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_small_farm_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/houses/taiga_small_farm_1.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_small_farm_1.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/houses/taiga_small_house_1.nbt b/crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_small_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/houses/taiga_small_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_small_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/houses/taiga_small_house_2.nbt b/crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_small_house_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/houses/taiga_small_house_2.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_small_house_2.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/houses/taiga_small_house_3.nbt b/crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_small_house_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/houses/taiga_small_house_3.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_small_house_3.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/houses/taiga_small_house_4.nbt b/crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_small_house_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/houses/taiga_small_house_4.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_small_house_4.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/houses/taiga_small_house_5.nbt b/crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_small_house_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/houses/taiga_small_house_5.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_small_house_5.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/houses/taiga_tannery_1.nbt b/crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_tannery_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/houses/taiga_tannery_1.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_tannery_1.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/houses/taiga_temple_1.nbt b/crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_temple_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/houses/taiga_temple_1.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_temple_1.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/houses/taiga_tool_smith_1.nbt b/crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_tool_smith_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/houses/taiga_tool_smith_1.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_tool_smith_1.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/houses/taiga_weaponsmith_1.nbt b/crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_weaponsmith_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/houses/taiga_weaponsmith_1.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_weaponsmith_1.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/houses/taiga_weaponsmith_2.nbt b/crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_weaponsmith_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/houses/taiga_weaponsmith_2.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/houses/taiga_weaponsmith_2.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/streets/corner_01.nbt b/crates/pumpkin-world/assets/structures/village/taiga/streets/corner_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/streets/corner_01.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/streets/corner_01.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/streets/corner_02.nbt b/crates/pumpkin-world/assets/structures/village/taiga/streets/corner_02.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/streets/corner_02.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/streets/corner_02.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/streets/corner_03.nbt b/crates/pumpkin-world/assets/structures/village/taiga/streets/corner_03.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/streets/corner_03.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/streets/corner_03.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/streets/crossroad_01.nbt b/crates/pumpkin-world/assets/structures/village/taiga/streets/crossroad_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/streets/crossroad_01.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/streets/crossroad_01.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/streets/crossroad_02.nbt b/crates/pumpkin-world/assets/structures/village/taiga/streets/crossroad_02.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/streets/crossroad_02.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/streets/crossroad_02.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/streets/crossroad_03.nbt b/crates/pumpkin-world/assets/structures/village/taiga/streets/crossroad_03.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/streets/crossroad_03.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/streets/crossroad_03.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/streets/crossroad_04.nbt b/crates/pumpkin-world/assets/structures/village/taiga/streets/crossroad_04.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/streets/crossroad_04.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/streets/crossroad_04.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/streets/crossroad_05.nbt b/crates/pumpkin-world/assets/structures/village/taiga/streets/crossroad_05.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/streets/crossroad_05.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/streets/crossroad_05.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/streets/crossroad_06.nbt b/crates/pumpkin-world/assets/structures/village/taiga/streets/crossroad_06.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/streets/crossroad_06.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/streets/crossroad_06.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/streets/straight_01.nbt b/crates/pumpkin-world/assets/structures/village/taiga/streets/straight_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/streets/straight_01.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/streets/straight_01.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/streets/straight_02.nbt b/crates/pumpkin-world/assets/structures/village/taiga/streets/straight_02.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/streets/straight_02.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/streets/straight_02.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/streets/straight_03.nbt b/crates/pumpkin-world/assets/structures/village/taiga/streets/straight_03.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/streets/straight_03.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/streets/straight_03.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/streets/straight_04.nbt b/crates/pumpkin-world/assets/structures/village/taiga/streets/straight_04.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/streets/straight_04.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/streets/straight_04.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/streets/straight_05.nbt b/crates/pumpkin-world/assets/structures/village/taiga/streets/straight_05.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/streets/straight_05.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/streets/straight_05.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/streets/straight_06.nbt b/crates/pumpkin-world/assets/structures/village/taiga/streets/straight_06.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/streets/straight_06.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/streets/straight_06.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/streets/turn_01.nbt b/crates/pumpkin-world/assets/structures/village/taiga/streets/turn_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/streets/turn_01.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/streets/turn_01.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/taiga_decoration_1.nbt b/crates/pumpkin-world/assets/structures/village/taiga/taiga_decoration_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/taiga_decoration_1.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/taiga_decoration_1.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/taiga_decoration_2.nbt b/crates/pumpkin-world/assets/structures/village/taiga/taiga_decoration_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/taiga_decoration_2.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/taiga_decoration_2.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/taiga_decoration_3.nbt b/crates/pumpkin-world/assets/structures/village/taiga/taiga_decoration_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/taiga_decoration_3.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/taiga_decoration_3.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/taiga_decoration_4.nbt b/crates/pumpkin-world/assets/structures/village/taiga/taiga_decoration_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/taiga_decoration_4.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/taiga_decoration_4.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/taiga_decoration_5.nbt b/crates/pumpkin-world/assets/structures/village/taiga/taiga_decoration_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/taiga_decoration_5.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/taiga_decoration_5.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/taiga_decoration_6.nbt b/crates/pumpkin-world/assets/structures/village/taiga/taiga_decoration_6.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/taiga_decoration_6.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/taiga_decoration_6.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/taiga_lamp_post_1.nbt b/crates/pumpkin-world/assets/structures/village/taiga/taiga_lamp_post_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/taiga_lamp_post_1.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/taiga_lamp_post_1.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/town_centers/taiga_meeting_point_1.nbt b/crates/pumpkin-world/assets/structures/village/taiga/town_centers/taiga_meeting_point_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/town_centers/taiga_meeting_point_1.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/town_centers/taiga_meeting_point_1.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/town_centers/taiga_meeting_point_2.nbt b/crates/pumpkin-world/assets/structures/village/taiga/town_centers/taiga_meeting_point_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/town_centers/taiga_meeting_point_2.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/town_centers/taiga_meeting_point_2.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/villagers/baby.nbt b/crates/pumpkin-world/assets/structures/village/taiga/villagers/baby.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/villagers/baby.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/villagers/baby.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/villagers/nitwit.nbt b/crates/pumpkin-world/assets/structures/village/taiga/villagers/nitwit.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/villagers/nitwit.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/villagers/nitwit.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/villagers/unemployed.nbt b/crates/pumpkin-world/assets/structures/village/taiga/villagers/unemployed.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/villagers/unemployed.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/villagers/unemployed.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_cartographer_house_1.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_cartographer_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_cartographer_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_cartographer_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_fisher_cottage_1.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_fisher_cottage_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_fisher_cottage_1.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_fisher_cottage_1.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_large_farm_2.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_large_farm_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_large_farm_2.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_large_farm_2.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_library_1.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_library_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_library_1.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_library_1.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_medium_house_1.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_medium_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_medium_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_medium_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_medium_house_2.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_medium_house_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_medium_house_2.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_medium_house_2.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_medium_house_3.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_medium_house_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_medium_house_3.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_medium_house_3.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_medium_house_4.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_medium_house_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_medium_house_4.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_medium_house_4.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_shepherds_house_1.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_shepherds_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_shepherds_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_shepherds_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_small_house_1.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_small_house_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_small_house_1.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_small_house_1.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_small_house_2.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_small_house_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_small_house_2.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_small_house_2.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_small_house_3.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_small_house_3.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_small_house_3.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_small_house_3.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_small_house_4.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_small_house_4.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_small_house_4.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_small_house_4.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_small_house_5.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_small_house_5.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_small_house_5.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_small_house_5.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_temple_1.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_temple_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_temple_1.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_temple_1.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_tool_smith_1.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_tool_smith_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_tool_smith_1.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_tool_smith_1.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_weaponsmith_2.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_weaponsmith_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_weaponsmith_2.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/houses/taiga_weaponsmith_2.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/streets/corner_01.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/streets/corner_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/streets/corner_01.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/streets/corner_01.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/streets/corner_02.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/streets/corner_02.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/streets/corner_02.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/streets/corner_02.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/streets/corner_03.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/streets/corner_03.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/streets/corner_03.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/streets/corner_03.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/streets/crossroad_01.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/streets/crossroad_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/streets/crossroad_01.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/streets/crossroad_01.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/streets/crossroad_02.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/streets/crossroad_02.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/streets/crossroad_02.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/streets/crossroad_02.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/streets/crossroad_03.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/streets/crossroad_03.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/streets/crossroad_03.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/streets/crossroad_03.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/streets/crossroad_04.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/streets/crossroad_04.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/streets/crossroad_04.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/streets/crossroad_04.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/streets/crossroad_05.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/streets/crossroad_05.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/streets/crossroad_05.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/streets/crossroad_05.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/streets/crossroad_06.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/streets/crossroad_06.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/streets/crossroad_06.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/streets/crossroad_06.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/streets/straight_01.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/streets/straight_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/streets/straight_01.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/streets/straight_01.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/streets/straight_02.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/streets/straight_02.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/streets/straight_02.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/streets/straight_02.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/streets/straight_03.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/streets/straight_03.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/streets/straight_03.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/streets/straight_03.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/streets/straight_04.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/streets/straight_04.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/streets/straight_04.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/streets/straight_04.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/streets/straight_05.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/streets/straight_05.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/streets/straight_05.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/streets/straight_05.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/streets/straight_06.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/streets/straight_06.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/streets/straight_06.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/streets/straight_06.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/streets/turn_01.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/streets/turn_01.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/streets/turn_01.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/streets/turn_01.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/town_centers/taiga_meeting_point_1.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/town_centers/taiga_meeting_point_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/town_centers/taiga_meeting_point_1.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/town_centers/taiga_meeting_point_1.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/town_centers/taiga_meeting_point_2.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/town_centers/taiga_meeting_point_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/town_centers/taiga_meeting_point_2.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/town_centers/taiga_meeting_point_2.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/villagers/nitwit.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/villagers/nitwit.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/villagers/nitwit.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/villagers/nitwit.nbt diff --git a/pumpkin-world/assets/structures/village/taiga/zombie/villagers/unemployed.nbt b/crates/pumpkin-world/assets/structures/village/taiga/zombie/villagers/unemployed.nbt similarity index 100% rename from pumpkin-world/assets/structures/village/taiga/zombie/villagers/unemployed.nbt rename to crates/pumpkin-world/assets/structures/village/taiga/zombie/villagers/unemployed.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x1_a1.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x1_a1.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x1_a1.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x1_a1.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x1_a2.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x1_a2.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x1_a2.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x1_a2.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x1_a3.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x1_a3.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x1_a3.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x1_a3.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x1_a4.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x1_a4.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x1_a4.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x1_a4.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x1_a5.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x1_a5.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x1_a5.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x1_a5.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x1_as1.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x1_as1.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x1_as1.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x1_as1.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x1_as2.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x1_as2.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x1_as2.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x1_as2.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x1_as3.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x1_as3.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x1_as3.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x1_as3.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x1_as4.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x1_as4.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x1_as4.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x1_as4.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x1_b1.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x1_b1.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x1_b1.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x1_b1.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x1_b2.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x1_b2.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x1_b2.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x1_b2.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x1_b3.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x1_b3.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x1_b3.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x1_b3.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x1_b4.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x1_b4.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x1_b4.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x1_b4.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x1_b5.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x1_b5.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x1_b5.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x1_b5.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x2_a1.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x2_a1.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x2_a1.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x2_a1.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x2_a2.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x2_a2.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x2_a2.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x2_a2.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x2_a3.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x2_a3.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x2_a3.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x2_a3.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x2_a4.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x2_a4.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x2_a4.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x2_a4.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x2_a5.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x2_a5.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x2_a5.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x2_a5.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x2_a6.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x2_a6.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x2_a6.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x2_a6.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x2_a7.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x2_a7.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x2_a7.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x2_a7.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x2_a8.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x2_a8.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x2_a8.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x2_a8.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x2_a9.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x2_a9.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x2_a9.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x2_a9.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x2_b1.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x2_b1.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x2_b1.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x2_b1.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x2_b2.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x2_b2.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x2_b2.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x2_b2.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x2_b3.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x2_b3.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x2_b3.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x2_b3.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x2_b4.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x2_b4.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x2_b4.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x2_b4.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x2_b5.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x2_b5.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x2_b5.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x2_b5.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x2_c1.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x2_c1.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x2_c1.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x2_c1.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x2_c2.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x2_c2.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x2_c2.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x2_c2.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x2_c3.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x2_c3.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x2_c3.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x2_c3.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x2_c4.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x2_c4.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x2_c4.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x2_c4.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x2_c_stairs.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x2_c_stairs.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x2_c_stairs.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x2_c_stairs.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x2_d1.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x2_d1.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x2_d1.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x2_d1.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x2_d2.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x2_d2.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x2_d2.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x2_d2.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x2_d3.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x2_d3.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x2_d3.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x2_d3.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x2_d4.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x2_d4.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x2_d4.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x2_d4.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x2_d5.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x2_d5.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x2_d5.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x2_d5.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x2_d_stairs.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x2_d_stairs.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x2_d_stairs.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x2_d_stairs.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x2_s1.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x2_s1.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x2_s1.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x2_s1.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x2_s2.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x2_s2.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x2_s2.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x2_s2.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/1x2_se1.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/1x2_se1.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/1x2_se1.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/1x2_se1.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/2x2_a1.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/2x2_a1.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/2x2_a1.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/2x2_a1.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/2x2_a2.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/2x2_a2.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/2x2_a2.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/2x2_a2.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/2x2_a3.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/2x2_a3.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/2x2_a3.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/2x2_a3.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/2x2_a4.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/2x2_a4.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/2x2_a4.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/2x2_a4.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/2x2_b1.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/2x2_b1.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/2x2_b1.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/2x2_b1.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/2x2_b2.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/2x2_b2.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/2x2_b2.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/2x2_b2.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/2x2_b3.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/2x2_b3.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/2x2_b3.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/2x2_b3.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/2x2_b4.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/2x2_b4.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/2x2_b4.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/2x2_b4.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/2x2_b5.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/2x2_b5.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/2x2_b5.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/2x2_b5.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/2x2_s1.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/2x2_s1.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/2x2_s1.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/2x2_s1.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/carpet_east.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/carpet_east.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/carpet_east.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/carpet_east.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/carpet_north.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/carpet_north.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/carpet_north.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/carpet_north.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/carpet_south_1.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/carpet_south_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/carpet_south_1.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/carpet_south_1.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/carpet_south_2.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/carpet_south_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/carpet_south_2.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/carpet_south_2.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/carpet_west_1.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/carpet_west_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/carpet_west_1.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/carpet_west_1.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/carpet_west_2.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/carpet_west_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/carpet_west_2.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/carpet_west_2.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/corridor_floor.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/corridor_floor.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/corridor_floor.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/corridor_floor.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/entrance.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/entrance.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/entrance.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/entrance.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/indoors_door_1.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/indoors_door_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/indoors_door_1.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/indoors_door_1.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/indoors_door_2.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/indoors_door_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/indoors_door_2.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/indoors_door_2.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/indoors_wall_1.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/indoors_wall_1.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/indoors_wall_1.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/indoors_wall_1.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/indoors_wall_2.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/indoors_wall_2.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/indoors_wall_2.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/indoors_wall_2.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/roof.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/roof.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/roof.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/roof.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/roof_corner.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/roof_corner.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/roof_corner.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/roof_corner.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/roof_front.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/roof_front.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/roof_front.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/roof_front.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/roof_inner_corner.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/roof_inner_corner.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/roof_inner_corner.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/roof_inner_corner.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/small_wall.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/small_wall.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/small_wall.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/small_wall.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/small_wall_corner.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/small_wall_corner.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/small_wall_corner.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/small_wall_corner.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/wall_corner.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/wall_corner.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/wall_corner.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/wall_corner.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/wall_flat.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/wall_flat.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/wall_flat.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/wall_flat.nbt diff --git a/pumpkin-world/assets/structures/woodland_mansion/wall_window.nbt b/crates/pumpkin-world/assets/structures/woodland_mansion/wall_window.nbt similarity index 100% rename from pumpkin-world/assets/structures/woodland_mansion/wall_window.nbt rename to crates/pumpkin-world/assets/structures/woodland_mansion/wall_window.nbt diff --git a/pumpkin-world/assets/worldgen/processor_list/ancient_city_generic_degradation.json b/crates/pumpkin-world/assets/worldgen/processor_list/ancient_city_generic_degradation.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/ancient_city_generic_degradation.json rename to crates/pumpkin-world/assets/worldgen/processor_list/ancient_city_generic_degradation.json diff --git a/pumpkin-world/assets/worldgen/processor_list/ancient_city_start_degradation.json b/crates/pumpkin-world/assets/worldgen/processor_list/ancient_city_start_degradation.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/ancient_city_start_degradation.json rename to crates/pumpkin-world/assets/worldgen/processor_list/ancient_city_start_degradation.json diff --git a/pumpkin-world/assets/worldgen/processor_list/ancient_city_walls_degradation.json b/crates/pumpkin-world/assets/worldgen/processor_list/ancient_city_walls_degradation.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/ancient_city_walls_degradation.json rename to crates/pumpkin-world/assets/worldgen/processor_list/ancient_city_walls_degradation.json diff --git a/pumpkin-world/assets/worldgen/processor_list/bastion_generic_degradation.json b/crates/pumpkin-world/assets/worldgen/processor_list/bastion_generic_degradation.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/bastion_generic_degradation.json rename to crates/pumpkin-world/assets/worldgen/processor_list/bastion_generic_degradation.json diff --git a/pumpkin-world/assets/worldgen/processor_list/bottom_rampart.json b/crates/pumpkin-world/assets/worldgen/processor_list/bottom_rampart.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/bottom_rampart.json rename to crates/pumpkin-world/assets/worldgen/processor_list/bottom_rampart.json diff --git a/pumpkin-world/assets/worldgen/processor_list/bridge.json b/crates/pumpkin-world/assets/worldgen/processor_list/bridge.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/bridge.json rename to crates/pumpkin-world/assets/worldgen/processor_list/bridge.json diff --git a/pumpkin-world/assets/worldgen/processor_list/empty.json b/crates/pumpkin-world/assets/worldgen/processor_list/empty.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/empty.json rename to crates/pumpkin-world/assets/worldgen/processor_list/empty.json diff --git a/pumpkin-world/assets/worldgen/processor_list/entrance_replacement.json b/crates/pumpkin-world/assets/worldgen/processor_list/entrance_replacement.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/entrance_replacement.json rename to crates/pumpkin-world/assets/worldgen/processor_list/entrance_replacement.json diff --git a/pumpkin-world/assets/worldgen/processor_list/farm_desert.json b/crates/pumpkin-world/assets/worldgen/processor_list/farm_desert.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/farm_desert.json rename to crates/pumpkin-world/assets/worldgen/processor_list/farm_desert.json diff --git a/pumpkin-world/assets/worldgen/processor_list/farm_plains.json b/crates/pumpkin-world/assets/worldgen/processor_list/farm_plains.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/farm_plains.json rename to crates/pumpkin-world/assets/worldgen/processor_list/farm_plains.json diff --git a/pumpkin-world/assets/worldgen/processor_list/farm_savanna.json b/crates/pumpkin-world/assets/worldgen/processor_list/farm_savanna.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/farm_savanna.json rename to crates/pumpkin-world/assets/worldgen/processor_list/farm_savanna.json diff --git a/pumpkin-world/assets/worldgen/processor_list/farm_snowy.json b/crates/pumpkin-world/assets/worldgen/processor_list/farm_snowy.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/farm_snowy.json rename to crates/pumpkin-world/assets/worldgen/processor_list/farm_snowy.json diff --git a/pumpkin-world/assets/worldgen/processor_list/farm_taiga.json b/crates/pumpkin-world/assets/worldgen/processor_list/farm_taiga.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/farm_taiga.json rename to crates/pumpkin-world/assets/worldgen/processor_list/farm_taiga.json diff --git a/pumpkin-world/assets/worldgen/processor_list/fossil_coal.json b/crates/pumpkin-world/assets/worldgen/processor_list/fossil_coal.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/fossil_coal.json rename to crates/pumpkin-world/assets/worldgen/processor_list/fossil_coal.json diff --git a/pumpkin-world/assets/worldgen/processor_list/fossil_diamonds.json b/crates/pumpkin-world/assets/worldgen/processor_list/fossil_diamonds.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/fossil_diamonds.json rename to crates/pumpkin-world/assets/worldgen/processor_list/fossil_diamonds.json diff --git a/pumpkin-world/assets/worldgen/processor_list/fossil_rot.json b/crates/pumpkin-world/assets/worldgen/processor_list/fossil_rot.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/fossil_rot.json rename to crates/pumpkin-world/assets/worldgen/processor_list/fossil_rot.json diff --git a/pumpkin-world/assets/worldgen/processor_list/high_rampart.json b/crates/pumpkin-world/assets/worldgen/processor_list/high_rampart.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/high_rampart.json rename to crates/pumpkin-world/assets/worldgen/processor_list/high_rampart.json diff --git a/pumpkin-world/assets/worldgen/processor_list/high_wall.json b/crates/pumpkin-world/assets/worldgen/processor_list/high_wall.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/high_wall.json rename to crates/pumpkin-world/assets/worldgen/processor_list/high_wall.json diff --git a/pumpkin-world/assets/worldgen/processor_list/housing.json b/crates/pumpkin-world/assets/worldgen/processor_list/housing.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/housing.json rename to crates/pumpkin-world/assets/worldgen/processor_list/housing.json diff --git a/pumpkin-world/assets/worldgen/processor_list/mossify_10_percent.json b/crates/pumpkin-world/assets/worldgen/processor_list/mossify_10_percent.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/mossify_10_percent.json rename to crates/pumpkin-world/assets/worldgen/processor_list/mossify_10_percent.json diff --git a/pumpkin-world/assets/worldgen/processor_list/mossify_20_percent.json b/crates/pumpkin-world/assets/worldgen/processor_list/mossify_20_percent.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/mossify_20_percent.json rename to crates/pumpkin-world/assets/worldgen/processor_list/mossify_20_percent.json diff --git a/pumpkin-world/assets/worldgen/processor_list/mossify_70_percent.json b/crates/pumpkin-world/assets/worldgen/processor_list/mossify_70_percent.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/mossify_70_percent.json rename to crates/pumpkin-world/assets/worldgen/processor_list/mossify_70_percent.json diff --git a/pumpkin-world/assets/worldgen/processor_list/outpost_rot.json b/crates/pumpkin-world/assets/worldgen/processor_list/outpost_rot.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/outpost_rot.json rename to crates/pumpkin-world/assets/worldgen/processor_list/outpost_rot.json diff --git a/pumpkin-world/assets/worldgen/processor_list/rampart_degradation.json b/crates/pumpkin-world/assets/worldgen/processor_list/rampart_degradation.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/rampart_degradation.json rename to crates/pumpkin-world/assets/worldgen/processor_list/rampart_degradation.json diff --git a/pumpkin-world/assets/worldgen/processor_list/roof.json b/crates/pumpkin-world/assets/worldgen/processor_list/roof.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/roof.json rename to crates/pumpkin-world/assets/worldgen/processor_list/roof.json diff --git a/pumpkin-world/assets/worldgen/processor_list/side_wall_degradation.json b/crates/pumpkin-world/assets/worldgen/processor_list/side_wall_degradation.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/side_wall_degradation.json rename to crates/pumpkin-world/assets/worldgen/processor_list/side_wall_degradation.json diff --git a/pumpkin-world/assets/worldgen/processor_list/stable_degradation.json b/crates/pumpkin-world/assets/worldgen/processor_list/stable_degradation.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/stable_degradation.json rename to crates/pumpkin-world/assets/worldgen/processor_list/stable_degradation.json diff --git a/pumpkin-world/assets/worldgen/processor_list/street_plains.json b/crates/pumpkin-world/assets/worldgen/processor_list/street_plains.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/street_plains.json rename to crates/pumpkin-world/assets/worldgen/processor_list/street_plains.json diff --git a/pumpkin-world/assets/worldgen/processor_list/street_savanna.json b/crates/pumpkin-world/assets/worldgen/processor_list/street_savanna.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/street_savanna.json rename to crates/pumpkin-world/assets/worldgen/processor_list/street_savanna.json diff --git a/pumpkin-world/assets/worldgen/processor_list/street_snowy_or_taiga.json b/crates/pumpkin-world/assets/worldgen/processor_list/street_snowy_or_taiga.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/street_snowy_or_taiga.json rename to crates/pumpkin-world/assets/worldgen/processor_list/street_snowy_or_taiga.json diff --git a/pumpkin-world/assets/worldgen/processor_list/trail_ruins_houses_archaeology.json b/crates/pumpkin-world/assets/worldgen/processor_list/trail_ruins_houses_archaeology.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/trail_ruins_houses_archaeology.json rename to crates/pumpkin-world/assets/worldgen/processor_list/trail_ruins_houses_archaeology.json diff --git a/pumpkin-world/assets/worldgen/processor_list/trail_ruins_roads_archaeology.json b/crates/pumpkin-world/assets/worldgen/processor_list/trail_ruins_roads_archaeology.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/trail_ruins_roads_archaeology.json rename to crates/pumpkin-world/assets/worldgen/processor_list/trail_ruins_roads_archaeology.json diff --git a/pumpkin-world/assets/worldgen/processor_list/trail_ruins_tower_top_archaeology.json b/crates/pumpkin-world/assets/worldgen/processor_list/trail_ruins_tower_top_archaeology.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/trail_ruins_tower_top_archaeology.json rename to crates/pumpkin-world/assets/worldgen/processor_list/trail_ruins_tower_top_archaeology.json diff --git a/pumpkin-world/assets/worldgen/processor_list/treasure_rooms.json b/crates/pumpkin-world/assets/worldgen/processor_list/treasure_rooms.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/treasure_rooms.json rename to crates/pumpkin-world/assets/worldgen/processor_list/treasure_rooms.json diff --git a/pumpkin-world/assets/worldgen/processor_list/trial_chambers_copper_bulb_degradation.json b/crates/pumpkin-world/assets/worldgen/processor_list/trial_chambers_copper_bulb_degradation.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/trial_chambers_copper_bulb_degradation.json rename to crates/pumpkin-world/assets/worldgen/processor_list/trial_chambers_copper_bulb_degradation.json diff --git a/pumpkin-world/assets/worldgen/processor_list/zombie_desert.json b/crates/pumpkin-world/assets/worldgen/processor_list/zombie_desert.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/zombie_desert.json rename to crates/pumpkin-world/assets/worldgen/processor_list/zombie_desert.json diff --git a/pumpkin-world/assets/worldgen/processor_list/zombie_plains.json b/crates/pumpkin-world/assets/worldgen/processor_list/zombie_plains.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/zombie_plains.json rename to crates/pumpkin-world/assets/worldgen/processor_list/zombie_plains.json diff --git a/pumpkin-world/assets/worldgen/processor_list/zombie_savanna.json b/crates/pumpkin-world/assets/worldgen/processor_list/zombie_savanna.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/zombie_savanna.json rename to crates/pumpkin-world/assets/worldgen/processor_list/zombie_savanna.json diff --git a/pumpkin-world/assets/worldgen/processor_list/zombie_snowy.json b/crates/pumpkin-world/assets/worldgen/processor_list/zombie_snowy.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/zombie_snowy.json rename to crates/pumpkin-world/assets/worldgen/processor_list/zombie_snowy.json diff --git a/pumpkin-world/assets/worldgen/processor_list/zombie_taiga.json b/crates/pumpkin-world/assets/worldgen/processor_list/zombie_taiga.json similarity index 100% rename from pumpkin-world/assets/worldgen/processor_list/zombie_taiga.json rename to crates/pumpkin-world/assets/worldgen/processor_list/zombie_taiga.json diff --git a/pumpkin-world/assets/worldgen/template_pool/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/ancient_city/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/ancient_city/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/ancient_city/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/ancient_city/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/ancient_city/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/ancient_city/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/ancient_city/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/ancient_city/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/ancient_city/city/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/ancient_city/city/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/ancient_city/city/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/ancient_city/city/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/ancient_city/city/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/ancient_city/city/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/ancient_city/city/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/ancient_city/city/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/ancient_city/city/entrance.json b/crates/pumpkin-world/assets/worldgen/template_pool/ancient_city/city/entrance.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/ancient_city/city/entrance.json rename to crates/pumpkin-world/assets/worldgen/template_pool/ancient_city/city/entrance.json diff --git a/pumpkin-world/assets/worldgen/template_pool/ancient_city/city_center.json b/crates/pumpkin-world/assets/worldgen/template_pool/ancient_city/city_center.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/ancient_city/city_center.json rename to crates/pumpkin-world/assets/worldgen/template_pool/ancient_city/city_center.json diff --git a/pumpkin-world/assets/worldgen/template_pool/ancient_city/city_center/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/ancient_city/city_center/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/ancient_city/city_center/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/ancient_city/city_center/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/ancient_city/city_center/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/ancient_city/city_center/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/ancient_city/city_center/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/ancient_city/city_center/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/ancient_city/city_center/walls.json b/crates/pumpkin-world/assets/worldgen/template_pool/ancient_city/city_center/walls.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/ancient_city/city_center/walls.json rename to crates/pumpkin-world/assets/worldgen/template_pool/ancient_city/city_center/walls.json diff --git a/pumpkin-world/assets/worldgen/template_pool/ancient_city/sculk.json b/crates/pumpkin-world/assets/worldgen/template_pool/ancient_city/sculk.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/ancient_city/sculk.json rename to crates/pumpkin-world/assets/worldgen/template_pool/ancient_city/sculk.json diff --git a/pumpkin-world/assets/worldgen/template_pool/ancient_city/structures.json b/crates/pumpkin-world/assets/worldgen/template_pool/ancient_city/structures.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/ancient_city/structures.json rename to crates/pumpkin-world/assets/worldgen/template_pool/ancient_city/structures.json diff --git a/pumpkin-world/assets/worldgen/template_pool/ancient_city/walls.json b/crates/pumpkin-world/assets/worldgen/template_pool/ancient_city/walls.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/ancient_city/walls.json rename to crates/pumpkin-world/assets/worldgen/template_pool/ancient_city/walls.json diff --git a/pumpkin-world/assets/worldgen/template_pool/ancient_city/walls/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/ancient_city/walls/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/ancient_city/walls/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/ancient_city/walls/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/ancient_city/walls/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/ancient_city/walls/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/ancient_city/walls/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/ancient_city/walls/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/ancient_city/walls/no_corners.json b/crates/pumpkin-world/assets/worldgen/template_pool/ancient_city/walls/no_corners.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/ancient_city/walls/no_corners.json rename to crates/pumpkin-world/assets/worldgen/template_pool/ancient_city/walls/no_corners.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/blocks/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/blocks/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/blocks/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/blocks/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/blocks/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/blocks/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/blocks/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/blocks/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/blocks/gold.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/blocks/gold.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/blocks/gold.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/blocks/gold.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/bridge/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/bridge/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/bridge/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/bridge/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/bridge/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/bridge/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/bridge/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/bridge/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/bridge/bridge_pieces.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/bridge/bridge_pieces.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/bridge/bridge_pieces.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/bridge/bridge_pieces.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/bridge/connectors.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/bridge/connectors.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/bridge/connectors.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/bridge/connectors.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/bridge/legs.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/bridge/legs.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/bridge/legs.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/bridge/legs.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/bridge/rampart_plates.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/bridge/rampart_plates.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/bridge/rampart_plates.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/bridge/rampart_plates.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/bridge/ramparts.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/bridge/ramparts.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/bridge/ramparts.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/bridge/ramparts.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/bridge/starting_pieces.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/bridge/starting_pieces.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/bridge/starting_pieces.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/bridge/starting_pieces.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/bridge/walls.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/bridge/walls.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/bridge/walls.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/bridge/walls.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/connectors.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/connectors.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/connectors.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/connectors.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/large_stables/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/large_stables/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/large_stables/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/large_stables/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/large_stables/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/large_stables/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/large_stables/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/large_stables/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/large_stables/inner.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/large_stables/inner.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/large_stables/inner.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/large_stables/inner.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/large_stables/outer.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/large_stables/outer.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/large_stables/outer.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/large_stables/outer.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/mirrored_starting_pieces.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/mirrored_starting_pieces.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/mirrored_starting_pieces.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/mirrored_starting_pieces.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/posts.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/posts.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/posts.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/posts.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/rampart_plates.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/rampart_plates.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/rampart_plates.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/rampart_plates.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/ramparts.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/ramparts.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/ramparts.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/ramparts.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/small_stables/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/small_stables/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/small_stables/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/small_stables/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/small_stables/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/small_stables/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/small_stables/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/small_stables/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/small_stables/inner.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/small_stables/inner.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/small_stables/inner.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/small_stables/inner.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/small_stables/outer.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/small_stables/outer.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/small_stables/outer.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/small_stables/outer.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/stairs.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/stairs.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/stairs.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/stairs.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/starting_pieces.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/starting_pieces.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/starting_pieces.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/starting_pieces.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/wall_bases.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/wall_bases.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/wall_bases.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/wall_bases.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/walls.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/walls.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/walls.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/hoglin_stable/walls.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/mobs/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/mobs/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/mobs/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/mobs/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/mobs/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/mobs/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/mobs/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/mobs/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/mobs/hoglin.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/mobs/hoglin.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/mobs/hoglin.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/mobs/hoglin.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/mobs/piglin.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/mobs/piglin.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/mobs/piglin.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/mobs/piglin.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/mobs/piglin_melee.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/mobs/piglin_melee.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/mobs/piglin_melee.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/mobs/piglin_melee.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/starts.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/starts.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/starts.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/starts.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/treasure/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/treasure/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/bases.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/bases.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/treasure/bases.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/bases.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/bases/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/bases/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/treasure/bases/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/bases/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/bases/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/bases/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/treasure/bases/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/bases/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/bases/centers.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/bases/centers.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/treasure/bases/centers.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/bases/centers.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/brains.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/brains.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/treasure/brains.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/brains.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/connectors.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/connectors.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/treasure/connectors.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/connectors.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/corners/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/corners/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/treasure/corners/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/corners/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/corners/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/corners/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/treasure/corners/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/corners/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/corners/bottom.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/corners/bottom.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/treasure/corners/bottom.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/corners/bottom.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/corners/edges.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/corners/edges.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/treasure/corners/edges.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/corners/edges.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/corners/middle.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/corners/middle.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/treasure/corners/middle.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/corners/middle.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/corners/top.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/corners/top.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/treasure/corners/top.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/corners/top.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/entrances.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/entrances.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/treasure/entrances.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/entrances.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/extensions/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/extensions/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/treasure/extensions/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/extensions/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/extensions/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/extensions/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/treasure/extensions/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/extensions/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/extensions/houses.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/extensions/houses.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/treasure/extensions/houses.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/extensions/houses.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/extensions/large_pool.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/extensions/large_pool.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/treasure/extensions/large_pool.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/extensions/large_pool.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/extensions/small_pool.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/extensions/small_pool.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/treasure/extensions/small_pool.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/extensions/small_pool.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/ramparts.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/ramparts.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/treasure/ramparts.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/ramparts.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/roofs.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/roofs.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/treasure/roofs.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/roofs.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/stairs.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/stairs.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/treasure/stairs.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/stairs.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/walls.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/walls.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/treasure/walls.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/walls.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/walls/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/walls/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/treasure/walls/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/walls/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/walls/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/walls/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/treasure/walls/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/walls/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/walls/bottom.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/walls/bottom.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/treasure/walls/bottom.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/walls/bottom.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/walls/mid.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/walls/mid.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/treasure/walls/mid.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/walls/mid.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/walls/outer.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/walls/outer.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/treasure/walls/outer.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/walls/outer.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/walls/top.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/walls/top.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/treasure/walls/top.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/treasure/walls/top.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/units/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/units/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/units/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/units/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/units/center_pieces.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/center_pieces.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/units/center_pieces.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/center_pieces.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/units/edge_wall_units.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/edge_wall_units.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/units/edge_wall_units.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/edge_wall_units.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/units/edges.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/edges.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/units/edges.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/edges.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/units/fillers/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/fillers/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/units/fillers/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/fillers/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/units/fillers/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/fillers/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/units/fillers/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/fillers/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/units/fillers/stage_0.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/fillers/stage_0.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/units/fillers/stage_0.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/fillers/stage_0.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/units/large_ramparts.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/large_ramparts.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/units/large_ramparts.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/large_ramparts.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/units/pathways.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/pathways.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/units/pathways.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/pathways.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/units/rampart_plates.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/rampart_plates.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/units/rampart_plates.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/rampart_plates.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/units/ramparts.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/ramparts.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/units/ramparts.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/ramparts.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/units/stages/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/stages/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/units/stages/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/stages/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/units/stages/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/stages/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/units/stages/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/stages/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/units/stages/rot/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/stages/rot/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/units/stages/rot/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/stages/rot/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/units/stages/rot/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/stages/rot/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/units/stages/rot/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/stages/rot/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/units/stages/rot/stage_1.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/stages/rot/stage_1.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/units/stages/rot/stage_1.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/stages/rot/stage_1.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/units/stages/stage_0.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/stages/stage_0.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/units/stages/stage_0.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/stages/stage_0.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/units/stages/stage_1.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/stages/stage_1.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/units/stages/stage_1.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/stages/stage_1.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/units/stages/stage_2.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/stages/stage_2.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/units/stages/stage_2.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/stages/stage_2.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/units/stages/stage_3.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/stages/stage_3.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/units/stages/stage_3.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/stages/stage_3.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/units/wall_units.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/wall_units.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/units/wall_units.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/wall_units.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/units/walls/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/walls/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/units/walls/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/walls/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/units/walls/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/walls/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/units/walls/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/walls/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/bastion/units/walls/wall_bases.json b/crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/walls/wall_bases.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/bastion/units/walls/wall_bases.json rename to crates/pumpkin-world/assets/worldgen/template_pool/bastion/units/walls/wall_bases.json diff --git a/pumpkin-world/assets/worldgen/template_pool/empty.json b/crates/pumpkin-world/assets/worldgen/template_pool/empty.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/empty.json rename to crates/pumpkin-world/assets/worldgen/template_pool/empty.json diff --git a/pumpkin-world/assets/worldgen/template_pool/pillager_outpost/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/pillager_outpost/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/pillager_outpost/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/pillager_outpost/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/pillager_outpost/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/pillager_outpost/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/pillager_outpost/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/pillager_outpost/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/pillager_outpost/base_plates.json b/crates/pumpkin-world/assets/worldgen/template_pool/pillager_outpost/base_plates.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/pillager_outpost/base_plates.json rename to crates/pumpkin-world/assets/worldgen/template_pool/pillager_outpost/base_plates.json diff --git a/pumpkin-world/assets/worldgen/template_pool/pillager_outpost/feature_plates.json b/crates/pumpkin-world/assets/worldgen/template_pool/pillager_outpost/feature_plates.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/pillager_outpost/feature_plates.json rename to crates/pumpkin-world/assets/worldgen/template_pool/pillager_outpost/feature_plates.json diff --git a/pumpkin-world/assets/worldgen/template_pool/pillager_outpost/features.json b/crates/pumpkin-world/assets/worldgen/template_pool/pillager_outpost/features.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/pillager_outpost/features.json rename to crates/pumpkin-world/assets/worldgen/template_pool/pillager_outpost/features.json diff --git a/pumpkin-world/assets/worldgen/template_pool/pillager_outpost/towers.json b/crates/pumpkin-world/assets/worldgen/template_pool/pillager_outpost/towers.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/pillager_outpost/towers.json rename to crates/pumpkin-world/assets/worldgen/template_pool/pillager_outpost/towers.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trail_ruins/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/trail_ruins/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trail_ruins/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trail_ruins/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trail_ruins/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/trail_ruins/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trail_ruins/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trail_ruins/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trail_ruins/buildings.json b/crates/pumpkin-world/assets/worldgen/template_pool/trail_ruins/buildings.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trail_ruins/buildings.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trail_ruins/buildings.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trail_ruins/buildings/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/trail_ruins/buildings/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trail_ruins/buildings/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trail_ruins/buildings/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trail_ruins/buildings/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/trail_ruins/buildings/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trail_ruins/buildings/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trail_ruins/buildings/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trail_ruins/buildings/grouped.json b/crates/pumpkin-world/assets/worldgen/template_pool/trail_ruins/buildings/grouped.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trail_ruins/buildings/grouped.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trail_ruins/buildings/grouped.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trail_ruins/decor.json b/crates/pumpkin-world/assets/worldgen/template_pool/trail_ruins/decor.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trail_ruins/decor.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trail_ruins/decor.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trail_ruins/roads.json b/crates/pumpkin-world/assets/worldgen/template_pool/trail_ruins/roads.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trail_ruins/roads.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trail_ruins/roads.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trail_ruins/tower.json b/crates/pumpkin-world/assets/worldgen/template_pool/trail_ruins/tower.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trail_ruins/tower.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trail_ruins/tower.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trail_ruins/tower/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/trail_ruins/tower/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trail_ruins/tower/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trail_ruins/tower/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trail_ruins/tower/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/trail_ruins/tower/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trail_ruins/tower/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trail_ruins/tower/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trail_ruins/tower/additions.json b/crates/pumpkin-world/assets/worldgen/template_pool/trail_ruins/tower/additions.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trail_ruins/tower/additions.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trail_ruins/tower/additions.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trail_ruins/tower/tower_top.json b/crates/pumpkin-world/assets/worldgen/template_pool/trail_ruins/tower/tower_top.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trail_ruins/tower/tower_top.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trail_ruins/tower/tower_top.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/atrium.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/atrium.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/atrium.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/atrium.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chamber/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chamber/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/chamber/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chamber/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chamber/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chamber/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/chamber/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chamber/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chamber/addon.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chamber/addon.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/chamber/addon.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chamber/addon.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chamber/assembly.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chamber/assembly.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/chamber/assembly.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chamber/assembly.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chamber/end.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chamber/end.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/chamber/end.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chamber/end.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chamber/entrance_cap.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chamber/entrance_cap.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/chamber/entrance_cap.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chamber/entrance_cap.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chamber/eruption.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chamber/eruption.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/chamber/eruption.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chamber/eruption.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chamber/pedestal.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chamber/pedestal.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/chamber/pedestal.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chamber/pedestal.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chamber/slanted.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chamber/slanted.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/chamber/slanted.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chamber/slanted.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chambers/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chambers/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/chambers/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chambers/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chambers/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chambers/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/chambers/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chambers/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chambers/end.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chambers/end.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/chambers/end.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chambers/end.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chests/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chests/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/chests/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chests/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chests/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chests/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/chests/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chests/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chests/contents/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chests/contents/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/chests/contents/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chests/contents/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chests/contents/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chests/contents/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/chests/contents/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chests/contents/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chests/contents/supply.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chests/contents/supply.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/chests/contents/supply.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chests/contents/supply.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chests/supply.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chests/supply.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/chests/supply.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/chests/supply.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridor.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridor.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridor.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridor.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridor/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridor/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridor/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridor/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridor/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridor/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridor/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridor/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridor/slices.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridor/slices.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridor/slices.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridor/slices.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridors/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridors/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridors/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridors/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridors/addon/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridors/addon/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridors/addon/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridors/addon/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridors/addon/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridors/addon/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridors/addon/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridors/addon/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridors/addon/lower.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridors/addon/lower.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridors/addon/lower.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridors/addon/lower.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridors/addon/middle.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridors/addon/middle.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridors/addon/middle.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridors/addon/middle.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridors/addon/middle_upper.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridors/addon/middle_upper.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridors/addon/middle_upper.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/corridors/addon/middle_upper.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/decor.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/decor.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/decor.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/decor.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/decor/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/decor/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/decor/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/decor/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/decor/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/decor/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/decor/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/decor/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/decor/bed.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/decor/bed.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/decor/bed.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/decor/bed.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/decor/chamber.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/decor/chamber.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/decor/chamber.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/decor/chamber.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/decor/disposal.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/decor/disposal.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/decor/disposal.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/decor/disposal.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/dispensers/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/dispensers/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/dispensers/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/dispensers/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/dispensers/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/dispensers/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/dispensers/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/dispensers/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/dispensers/chamber.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/dispensers/chamber.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/dispensers/chamber.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/dispensers/chamber.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/entrance.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/entrance.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/entrance.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/entrance.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/hallway.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/hallway.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/hallway.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/hallway.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/hallway/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/hallway/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/hallway/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/hallway/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/hallway/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/hallway/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/hallway/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/hallway/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/hallway/fallback.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/hallway/fallback.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/hallway/fallback.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/hallway/fallback.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/reward/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/reward/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/reward/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/reward/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/reward/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/reward/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/reward/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/reward/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/reward/all.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/reward/all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/reward/all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/reward/all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/reward/contents/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/reward/contents/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/reward/contents/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/reward/contents/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/reward/contents/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/reward/contents/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/reward/contents/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/reward/contents/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/reward/contents/default.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/reward/contents/default.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/reward/contents/default.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/reward/contents/default.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/reward/ominous_vault.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/reward/ominous_vault.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/reward/ominous_vault.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/reward/ominous_vault.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/all.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/breeze.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/breeze.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/breeze.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/breeze.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/contents/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/contents/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/contents/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/contents/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/contents/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/contents/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/contents/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/contents/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/contents/breeze.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/contents/breeze.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/contents/breeze.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/contents/breeze.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/melee.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/melee.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/melee.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/melee.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/melee/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/melee/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/melee/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/melee/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/melee/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/melee/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/melee/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/melee/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/melee/husk.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/melee/husk.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/melee/husk.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/melee/husk.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/melee/spider.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/melee/spider.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/melee/spider.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/melee/spider.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/melee/zombie.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/melee/zombie.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/melee/zombie.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/melee/zombie.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/ranged.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/ranged.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/ranged.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/ranged.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/ranged/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/ranged/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/ranged/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/ranged/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/ranged/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/ranged/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/ranged/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/ranged/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/ranged/poison_skeleton.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/ranged/poison_skeleton.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/ranged/poison_skeleton.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/ranged/poison_skeleton.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/ranged/skeleton.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/ranged/skeleton.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/ranged/skeleton.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/ranged/skeleton.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/ranged/stray.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/ranged/stray.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/ranged/stray.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/ranged/stray.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/slow_ranged.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/slow_ranged.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/slow_ranged.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/slow_ranged.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/slow_ranged/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/slow_ranged/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/slow_ranged/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/slow_ranged/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/slow_ranged/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/slow_ranged/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/slow_ranged/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/slow_ranged/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/slow_ranged/poison_skeleton.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/slow_ranged/poison_skeleton.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/slow_ranged/poison_skeleton.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/slow_ranged/poison_skeleton.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/slow_ranged/skeleton.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/slow_ranged/skeleton.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/slow_ranged/skeleton.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/slow_ranged/skeleton.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/slow_ranged/stray.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/slow_ranged/stray.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/slow_ranged/stray.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/slow_ranged/stray.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/small_melee.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/small_melee.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/small_melee.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/small_melee.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/small_melee/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/small_melee/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/small_melee/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/small_melee/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/small_melee/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/small_melee/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/small_melee/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/small_melee/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/small_melee/baby_zombie.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/small_melee/baby_zombie.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/small_melee/baby_zombie.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/small_melee/baby_zombie.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/small_melee/cave_spider.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/small_melee/cave_spider.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/small_melee/cave_spider.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/small_melee/cave_spider.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/small_melee/silverfish.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/small_melee/silverfish.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/small_melee/silverfish.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/small_melee/silverfish.json diff --git a/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/small_melee/slime.json b/crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/small_melee/slime.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/small_melee/slime.json rename to crates/pumpkin-world/assets/worldgen/template_pool/trial_chambers/spawner/small_melee/slime.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/common/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/common/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/common/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/common/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/common/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/common/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/common/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/common/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/common/animals.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/common/animals.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/common/animals.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/common/animals.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/common/butcher_animals.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/common/butcher_animals.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/common/butcher_animals.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/common/butcher_animals.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/common/cats.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/common/cats.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/common/cats.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/common/cats.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/common/iron_golem.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/common/iron_golem.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/common/iron_golem.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/common/iron_golem.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/common/sheep.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/common/sheep.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/common/sheep.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/common/sheep.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/common/well_bottoms.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/common/well_bottoms.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/common/well_bottoms.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/common/well_bottoms.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/desert/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/desert/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/desert/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/desert/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/desert/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/desert/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/desert/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/desert/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/desert/camel.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/desert/camel.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/desert/camel.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/desert/camel.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/desert/decor.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/desert/decor.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/desert/decor.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/desert/decor.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/desert/houses.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/desert/houses.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/desert/houses.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/desert/houses.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/desert/streets.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/desert/streets.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/desert/streets.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/desert/streets.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/desert/terminators.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/desert/terminators.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/desert/terminators.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/desert/terminators.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/desert/town_centers.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/desert/town_centers.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/desert/town_centers.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/desert/town_centers.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/desert/villagers.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/desert/villagers.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/desert/villagers.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/desert/villagers.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/desert/zombie/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/desert/zombie/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/desert/zombie/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/desert/zombie/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/desert/zombie/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/desert/zombie/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/desert/zombie/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/desert/zombie/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/desert/zombie/decor.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/desert/zombie/decor.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/desert/zombie/decor.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/desert/zombie/decor.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/desert/zombie/houses.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/desert/zombie/houses.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/desert/zombie/houses.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/desert/zombie/houses.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/desert/zombie/streets.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/desert/zombie/streets.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/desert/zombie/streets.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/desert/zombie/streets.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/desert/zombie/terminators.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/desert/zombie/terminators.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/desert/zombie/terminators.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/desert/zombie/terminators.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/desert/zombie/villagers.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/desert/zombie/villagers.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/desert/zombie/villagers.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/desert/zombie/villagers.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/plains/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/plains/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/plains/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/plains/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/plains/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/plains/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/plains/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/plains/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/plains/decor.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/plains/decor.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/plains/decor.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/plains/decor.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/plains/houses.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/plains/houses.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/plains/houses.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/plains/houses.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/plains/streets.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/plains/streets.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/plains/streets.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/plains/streets.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/plains/terminators.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/plains/terminators.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/plains/terminators.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/plains/terminators.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/plains/town_centers.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/plains/town_centers.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/plains/town_centers.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/plains/town_centers.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/plains/trees.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/plains/trees.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/plains/trees.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/plains/trees.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/plains/villagers.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/plains/villagers.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/plains/villagers.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/plains/villagers.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/plains/zombie/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/plains/zombie/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/plains/zombie/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/plains/zombie/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/plains/zombie/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/plains/zombie/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/plains/zombie/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/plains/zombie/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/plains/zombie/decor.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/plains/zombie/decor.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/plains/zombie/decor.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/plains/zombie/decor.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/plains/zombie/houses.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/plains/zombie/houses.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/plains/zombie/houses.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/plains/zombie/houses.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/plains/zombie/streets.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/plains/zombie/streets.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/plains/zombie/streets.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/plains/zombie/streets.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/plains/zombie/villagers.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/plains/zombie/villagers.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/plains/zombie/villagers.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/plains/zombie/villagers.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/savanna/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/savanna/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/savanna/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/savanna/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/savanna/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/savanna/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/savanna/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/savanna/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/savanna/decor.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/savanna/decor.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/savanna/decor.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/savanna/decor.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/savanna/houses.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/savanna/houses.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/savanna/houses.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/savanna/houses.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/savanna/streets.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/savanna/streets.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/savanna/streets.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/savanna/streets.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/savanna/terminators.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/savanna/terminators.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/savanna/terminators.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/savanna/terminators.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/savanna/town_centers.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/savanna/town_centers.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/savanna/town_centers.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/savanna/town_centers.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/savanna/trees.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/savanna/trees.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/savanna/trees.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/savanna/trees.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/savanna/villagers.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/savanna/villagers.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/savanna/villagers.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/savanna/villagers.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/savanna/zombie/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/savanna/zombie/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/savanna/zombie/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/savanna/zombie/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/savanna/zombie/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/savanna/zombie/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/savanna/zombie/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/savanna/zombie/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/savanna/zombie/decor.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/savanna/zombie/decor.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/savanna/zombie/decor.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/savanna/zombie/decor.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/savanna/zombie/houses.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/savanna/zombie/houses.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/savanna/zombie/houses.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/savanna/zombie/houses.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/savanna/zombie/streets.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/savanna/zombie/streets.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/savanna/zombie/streets.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/savanna/zombie/streets.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/savanna/zombie/terminators.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/savanna/zombie/terminators.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/savanna/zombie/terminators.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/savanna/zombie/terminators.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/savanna/zombie/villagers.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/savanna/zombie/villagers.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/savanna/zombie/villagers.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/savanna/zombie/villagers.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/snowy/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/snowy/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/snowy/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/snowy/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/snowy/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/snowy/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/snowy/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/snowy/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/snowy/decor.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/snowy/decor.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/snowy/decor.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/snowy/decor.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/snowy/houses.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/snowy/houses.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/snowy/houses.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/snowy/houses.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/snowy/streets.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/snowy/streets.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/snowy/streets.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/snowy/streets.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/snowy/terminators.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/snowy/terminators.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/snowy/terminators.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/snowy/terminators.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/snowy/town_centers.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/snowy/town_centers.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/snowy/town_centers.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/snowy/town_centers.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/snowy/trees.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/snowy/trees.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/snowy/trees.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/snowy/trees.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/snowy/villagers.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/snowy/villagers.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/snowy/villagers.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/snowy/villagers.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/snowy/zombie/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/snowy/zombie/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/snowy/zombie/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/snowy/zombie/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/snowy/zombie/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/snowy/zombie/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/snowy/zombie/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/snowy/zombie/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/snowy/zombie/decor.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/snowy/zombie/decor.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/snowy/zombie/decor.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/snowy/zombie/decor.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/snowy/zombie/houses.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/snowy/zombie/houses.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/snowy/zombie/houses.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/snowy/zombie/houses.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/snowy/zombie/streets.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/snowy/zombie/streets.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/snowy/zombie/streets.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/snowy/zombie/streets.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/snowy/zombie/villagers.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/snowy/zombie/villagers.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/snowy/zombie/villagers.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/snowy/zombie/villagers.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/taiga/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/taiga/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/taiga/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/taiga/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/taiga/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/taiga/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/taiga/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/taiga/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/taiga/decor.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/taiga/decor.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/taiga/decor.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/taiga/decor.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/taiga/houses.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/taiga/houses.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/taiga/houses.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/taiga/houses.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/taiga/streets.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/taiga/streets.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/taiga/streets.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/taiga/streets.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/taiga/terminators.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/taiga/terminators.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/taiga/terminators.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/taiga/terminators.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/taiga/town_centers.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/taiga/town_centers.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/taiga/town_centers.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/taiga/town_centers.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/taiga/villagers.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/taiga/villagers.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/taiga/villagers.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/taiga/villagers.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/taiga/zombie/_all.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/taiga/zombie/_all.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/taiga/zombie/_all.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/taiga/zombie/_all.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/taiga/zombie/_list.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/taiga/zombie/_list.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/taiga/zombie/_list.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/taiga/zombie/_list.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/taiga/zombie/decor.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/taiga/zombie/decor.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/taiga/zombie/decor.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/taiga/zombie/decor.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/taiga/zombie/houses.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/taiga/zombie/houses.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/taiga/zombie/houses.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/taiga/zombie/houses.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/taiga/zombie/streets.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/taiga/zombie/streets.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/taiga/zombie/streets.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/taiga/zombie/streets.json diff --git a/pumpkin-world/assets/worldgen/template_pool/village/taiga/zombie/villagers.json b/crates/pumpkin-world/assets/worldgen/template_pool/village/taiga/zombie/villagers.json similarity index 100% rename from pumpkin-world/assets/worldgen/template_pool/village/taiga/zombie/villagers.json rename to crates/pumpkin-world/assets/worldgen/template_pool/village/taiga/zombie/villagers.json diff --git a/pumpkin-world/benches/chunk.rs b/crates/pumpkin-world/benches/chunk.rs similarity index 100% rename from pumpkin-world/benches/chunk.rs rename to crates/pumpkin-world/benches/chunk.rs diff --git a/pumpkin-world/benches/chunk_gen.rs b/crates/pumpkin-world/benches/chunk_gen.rs similarity index 100% rename from pumpkin-world/benches/chunk_gen.rs rename to crates/pumpkin-world/benches/chunk_gen.rs diff --git a/pumpkin-world/benches/chunk_gen_concurrent.rs b/crates/pumpkin-world/benches/chunk_gen_concurrent.rs similarity index 100% rename from pumpkin-world/benches/chunk_gen_concurrent.rs rename to crates/pumpkin-world/benches/chunk_gen_concurrent.rs diff --git a/pumpkin-world/benches/chunk_io.rs b/crates/pumpkin-world/benches/chunk_io.rs similarity index 100% rename from pumpkin-world/benches/chunk_io.rs rename to crates/pumpkin-world/benches/chunk_io.rs diff --git a/pumpkin-world/benches/noise_router.rs b/crates/pumpkin-world/benches/noise_router.rs similarity index 100% rename from pumpkin-world/benches/noise_router.rs rename to crates/pumpkin-world/benches/noise_router.rs diff --git a/pumpkin-world/build.rs b/crates/pumpkin-world/build.rs similarity index 100% rename from pumpkin-world/build.rs rename to crates/pumpkin-world/build.rs diff --git a/pumpkin-world/src/biome/end.rs b/crates/pumpkin-world/src/biome/end.rs similarity index 100% rename from pumpkin-world/src/biome/end.rs rename to crates/pumpkin-world/src/biome/end.rs diff --git a/pumpkin-world/src/biome/mod.rs b/crates/pumpkin-world/src/biome/mod.rs similarity index 100% rename from pumpkin-world/src/biome/mod.rs rename to crates/pumpkin-world/src/biome/mod.rs diff --git a/pumpkin-world/src/biome/multi_noise.rs b/crates/pumpkin-world/src/biome/multi_noise.rs similarity index 100% rename from pumpkin-world/src/biome/multi_noise.rs rename to crates/pumpkin-world/src/biome/multi_noise.rs diff --git a/pumpkin-world/src/biome/position_finder.rs b/crates/pumpkin-world/src/biome/position_finder.rs similarity index 100% rename from pumpkin-world/src/biome/position_finder.rs rename to crates/pumpkin-world/src/biome/position_finder.rs diff --git a/pumpkin-world/src/block/entities.rs b/crates/pumpkin-world/src/block/entities.rs similarity index 100% rename from pumpkin-world/src/block/entities.rs rename to crates/pumpkin-world/src/block/entities.rs diff --git a/pumpkin-world/src/block/mod.rs b/crates/pumpkin-world/src/block/mod.rs similarity index 100% rename from pumpkin-world/src/block/mod.rs rename to crates/pumpkin-world/src/block/mod.rs diff --git a/pumpkin-world/src/block/viewer.rs b/crates/pumpkin-world/src/block/viewer.rs similarity index 100% rename from pumpkin-world/src/block/viewer.rs rename to crates/pumpkin-world/src/block/viewer.rs diff --git a/pumpkin-world/src/chunk/format/anvil.rs b/crates/pumpkin-world/src/chunk/format/anvil.rs similarity index 100% rename from pumpkin-world/src/chunk/format/anvil.rs rename to crates/pumpkin-world/src/chunk/format/anvil.rs diff --git a/pumpkin-world/src/chunk/format/linear.rs b/crates/pumpkin-world/src/chunk/format/linear.rs similarity index 100% rename from pumpkin-world/src/chunk/format/linear.rs rename to crates/pumpkin-world/src/chunk/format/linear.rs diff --git a/pumpkin-world/src/chunk/format/mod.rs b/crates/pumpkin-world/src/chunk/format/mod.rs similarity index 96% rename from pumpkin-world/src/chunk/format/mod.rs rename to crates/pumpkin-world/src/chunk/format/mod.rs index 056585e05..80583e9ad 100644 --- a/pumpkin-world/src/chunk/format/mod.rs +++ b/crates/pumpkin-world/src/chunk/format/mod.rs @@ -221,21 +221,27 @@ impl ChunkData { let block_light = section_compound .get("BlockLight") .and_then(|tag| tag.extract_byte_array()) - .map(|arr| unsafe { - Box::from(std::slice::from_raw_parts( - arr.as_ptr().cast::(), - arr.len(), - )) + .map(|arr| { + // SAFETY: `arr` is an `i8` slice (`&[i8]`). `u8` and `i8` have identical memory layout, alignment (1 byte), and lifetime. + unsafe { + Box::from(std::slice::from_raw_parts( + arr.as_ptr().cast::(), + arr.len(), + )) + } }); let sky_light = section_compound .get("SkyLight") .and_then(|tag| tag.extract_byte_array()) - .map(|arr| unsafe { - Box::from(std::slice::from_raw_parts( - arr.as_ptr().cast::(), - arr.len(), - )) + .map(|arr| { + // SAFETY: `arr` is an `i8` slice (`&[i8]`). `u8` and `i8` have identical memory layout, alignment (1 byte), and lifetime. + unsafe { + Box::from(std::slice::from_raw_parts( + arr.as_ptr().cast::(), + arr.len(), + )) + } }); block_lights[index] = diff --git a/pumpkin-world/src/chunk/format/pump.rs b/crates/pumpkin-world/src/chunk/format/pump.rs similarity index 100% rename from pumpkin-world/src/chunk/format/pump.rs rename to crates/pumpkin-world/src/chunk/format/pump.rs diff --git a/pumpkin-world/src/chunk/io/file_manager.rs b/crates/pumpkin-world/src/chunk/io/file_manager.rs similarity index 100% rename from pumpkin-world/src/chunk/io/file_manager.rs rename to crates/pumpkin-world/src/chunk/io/file_manager.rs diff --git a/pumpkin-world/src/chunk/io/mod.rs b/crates/pumpkin-world/src/chunk/io/mod.rs similarity index 100% rename from pumpkin-world/src/chunk/io/mod.rs rename to crates/pumpkin-world/src/chunk/io/mod.rs diff --git a/pumpkin-world/src/chunk/mod.rs b/crates/pumpkin-world/src/chunk/mod.rs similarity index 100% rename from pumpkin-world/src/chunk/mod.rs rename to crates/pumpkin-world/src/chunk/mod.rs diff --git a/pumpkin-world/src/chunk/palette.rs b/crates/pumpkin-world/src/chunk/palette.rs similarity index 100% rename from pumpkin-world/src/chunk/palette.rs rename to crates/pumpkin-world/src/chunk/palette.rs diff --git a/pumpkin-world/src/chunk_system/channel.rs b/crates/pumpkin-world/src/chunk_system/channel.rs similarity index 100% rename from pumpkin-world/src/chunk_system/channel.rs rename to crates/pumpkin-world/src/chunk_system/channel.rs diff --git a/pumpkin-world/src/chunk_system/chunk_holder.rs b/crates/pumpkin-world/src/chunk_system/chunk_holder.rs similarity index 100% rename from pumpkin-world/src/chunk_system/chunk_holder.rs rename to crates/pumpkin-world/src/chunk_system/chunk_holder.rs diff --git a/pumpkin-world/src/chunk_system/chunk_listener.rs b/crates/pumpkin-world/src/chunk_system/chunk_listener.rs similarity index 100% rename from pumpkin-world/src/chunk_system/chunk_listener.rs rename to crates/pumpkin-world/src/chunk_system/chunk_listener.rs diff --git a/pumpkin-world/src/chunk_system/chunk_loading.rs b/crates/pumpkin-world/src/chunk_system/chunk_loading.rs similarity index 100% rename from pumpkin-world/src/chunk_system/chunk_loading.rs rename to crates/pumpkin-world/src/chunk_system/chunk_loading.rs diff --git a/pumpkin-world/src/chunk_system/chunk_state.rs b/crates/pumpkin-world/src/chunk_system/chunk_state.rs similarity index 100% rename from pumpkin-world/src/chunk_system/chunk_state.rs rename to crates/pumpkin-world/src/chunk_system/chunk_state.rs diff --git a/pumpkin-world/src/chunk_system/dag.rs b/crates/pumpkin-world/src/chunk_system/dag.rs similarity index 100% rename from pumpkin-world/src/chunk_system/dag.rs rename to crates/pumpkin-world/src/chunk_system/dag.rs diff --git a/pumpkin-world/src/chunk_system/generation.rs b/crates/pumpkin-world/src/chunk_system/generation.rs similarity index 100% rename from pumpkin-world/src/chunk_system/generation.rs rename to crates/pumpkin-world/src/chunk_system/generation.rs diff --git a/pumpkin-world/src/chunk_system/generation_cache.rs b/crates/pumpkin-world/src/chunk_system/generation_cache.rs similarity index 100% rename from pumpkin-world/src/chunk_system/generation_cache.rs rename to crates/pumpkin-world/src/chunk_system/generation_cache.rs diff --git a/pumpkin-world/src/chunk_system/mod.rs b/crates/pumpkin-world/src/chunk_system/mod.rs similarity index 100% rename from pumpkin-world/src/chunk_system/mod.rs rename to crates/pumpkin-world/src/chunk_system/mod.rs diff --git a/pumpkin-world/src/chunk_system/schedule.rs b/crates/pumpkin-world/src/chunk_system/schedule.rs similarity index 100% rename from pumpkin-world/src/chunk_system/schedule.rs rename to crates/pumpkin-world/src/chunk_system/schedule.rs diff --git a/pumpkin-world/src/chunk_system/tests.rs b/crates/pumpkin-world/src/chunk_system/tests.rs similarity index 100% rename from pumpkin-world/src/chunk_system/tests.rs rename to crates/pumpkin-world/src/chunk_system/tests.rs diff --git a/pumpkin-world/src/chunk_system/worker_logic.rs b/crates/pumpkin-world/src/chunk_system/worker_logic.rs similarity index 100% rename from pumpkin-world/src/chunk_system/worker_logic.rs rename to crates/pumpkin-world/src/chunk_system/worker_logic.rs diff --git a/pumpkin-world/src/cylindrical_chunk_iterator.rs b/crates/pumpkin-world/src/cylindrical_chunk_iterator.rs similarity index 100% rename from pumpkin-world/src/cylindrical_chunk_iterator.rs rename to crates/pumpkin-world/src/cylindrical_chunk_iterator.rs diff --git a/pumpkin-world/src/data/mod.rs b/crates/pumpkin-world/src/data/mod.rs similarity index 100% rename from pumpkin-world/src/data/mod.rs rename to crates/pumpkin-world/src/data/mod.rs diff --git a/pumpkin-world/src/data/player_data.rs b/crates/pumpkin-world/src/data/player_data.rs similarity index 100% rename from pumpkin-world/src/data/player_data.rs rename to crates/pumpkin-world/src/data/player_data.rs diff --git a/pumpkin-world/src/dimension.rs b/crates/pumpkin-world/src/dimension.rs similarity index 100% rename from pumpkin-world/src/dimension.rs rename to crates/pumpkin-world/src/dimension.rs diff --git a/pumpkin-world/src/generation/biome.rs b/crates/pumpkin-world/src/generation/biome.rs similarity index 100% rename from pumpkin-world/src/generation/biome.rs rename to crates/pumpkin-world/src/generation/biome.rs diff --git a/pumpkin-world/src/generation/blender/blending_data.rs b/crates/pumpkin-world/src/generation/blender/blending_data.rs similarity index 100% rename from pumpkin-world/src/generation/blender/blending_data.rs rename to crates/pumpkin-world/src/generation/blender/blending_data.rs diff --git a/pumpkin-world/src/generation/blender/mod.rs b/crates/pumpkin-world/src/generation/blender/mod.rs similarity index 100% rename from pumpkin-world/src/generation/blender/mod.rs rename to crates/pumpkin-world/src/generation/blender/mod.rs diff --git a/pumpkin-world/src/generation/block_predicate.rs b/crates/pumpkin-world/src/generation/block_predicate.rs similarity index 100% rename from pumpkin-world/src/generation/block_predicate.rs rename to crates/pumpkin-world/src/generation/block_predicate.rs diff --git a/pumpkin-world/src/generation/block_state_provider.rs b/crates/pumpkin-world/src/generation/block_state_provider.rs similarity index 100% rename from pumpkin-world/src/generation/block_state_provider.rs rename to crates/pumpkin-world/src/generation/block_state_provider.rs diff --git a/pumpkin-world/src/generation/carver/canyon.rs b/crates/pumpkin-world/src/generation/carver/canyon.rs similarity index 100% rename from pumpkin-world/src/generation/carver/canyon.rs rename to crates/pumpkin-world/src/generation/carver/canyon.rs diff --git a/pumpkin-world/src/generation/carver/cave.rs b/crates/pumpkin-world/src/generation/carver/cave.rs similarity index 100% rename from pumpkin-world/src/generation/carver/cave.rs rename to crates/pumpkin-world/src/generation/carver/cave.rs diff --git a/pumpkin-world/src/generation/carver/mask.rs b/crates/pumpkin-world/src/generation/carver/mask.rs similarity index 100% rename from pumpkin-world/src/generation/carver/mask.rs rename to crates/pumpkin-world/src/generation/carver/mask.rs diff --git a/pumpkin-world/src/generation/carver/mod.rs b/crates/pumpkin-world/src/generation/carver/mod.rs similarity index 100% rename from pumpkin-world/src/generation/carver/mod.rs rename to crates/pumpkin-world/src/generation/carver/mod.rs diff --git a/pumpkin-world/src/generation/feature/configured_features.rs b/crates/pumpkin-world/src/generation/feature/configured_features.rs similarity index 100% rename from pumpkin-world/src/generation/feature/configured_features.rs rename to crates/pumpkin-world/src/generation/feature/configured_features.rs diff --git a/pumpkin-world/src/generation/feature/features/bamboo.rs b/crates/pumpkin-world/src/generation/feature/features/bamboo.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/bamboo.rs rename to crates/pumpkin-world/src/generation/feature/features/bamboo.rs diff --git a/pumpkin-world/src/generation/feature/features/basalt_columns.rs b/crates/pumpkin-world/src/generation/feature/features/basalt_columns.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/basalt_columns.rs rename to crates/pumpkin-world/src/generation/feature/features/basalt_columns.rs diff --git a/pumpkin-world/src/generation/feature/features/basalt_pillar.rs b/crates/pumpkin-world/src/generation/feature/features/basalt_pillar.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/basalt_pillar.rs rename to crates/pumpkin-world/src/generation/feature/features/basalt_pillar.rs diff --git a/pumpkin-world/src/generation/feature/features/block_column.rs b/crates/pumpkin-world/src/generation/feature/features/block_column.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/block_column.rs rename to crates/pumpkin-world/src/generation/feature/features/block_column.rs diff --git a/pumpkin-world/src/generation/feature/features/block_pile.rs b/crates/pumpkin-world/src/generation/feature/features/block_pile.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/block_pile.rs rename to crates/pumpkin-world/src/generation/feature/features/block_pile.rs diff --git a/pumpkin-world/src/generation/feature/features/blue_ice.rs b/crates/pumpkin-world/src/generation/feature/features/blue_ice.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/blue_ice.rs rename to crates/pumpkin-world/src/generation/feature/features/blue_ice.rs diff --git a/pumpkin-world/src/generation/feature/features/bonus_chest.rs b/crates/pumpkin-world/src/generation/feature/features/bonus_chest.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/bonus_chest.rs rename to crates/pumpkin-world/src/generation/feature/features/bonus_chest.rs diff --git a/pumpkin-world/src/generation/feature/features/chorus_plant.rs b/crates/pumpkin-world/src/generation/feature/features/chorus_plant.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/chorus_plant.rs rename to crates/pumpkin-world/src/generation/feature/features/chorus_plant.rs diff --git a/pumpkin-world/src/generation/feature/features/coral/coral_claw.rs b/crates/pumpkin-world/src/generation/feature/features/coral/coral_claw.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/coral/coral_claw.rs rename to crates/pumpkin-world/src/generation/feature/features/coral/coral_claw.rs diff --git a/pumpkin-world/src/generation/feature/features/coral/coral_mushroom.rs b/crates/pumpkin-world/src/generation/feature/features/coral/coral_mushroom.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/coral/coral_mushroom.rs rename to crates/pumpkin-world/src/generation/feature/features/coral/coral_mushroom.rs diff --git a/pumpkin-world/src/generation/feature/features/coral/coral_tree.rs b/crates/pumpkin-world/src/generation/feature/features/coral/coral_tree.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/coral/coral_tree.rs rename to crates/pumpkin-world/src/generation/feature/features/coral/coral_tree.rs diff --git a/pumpkin-world/src/generation/feature/features/coral/mod.rs b/crates/pumpkin-world/src/generation/feature/features/coral/mod.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/coral/mod.rs rename to crates/pumpkin-world/src/generation/feature/features/coral/mod.rs diff --git a/pumpkin-world/src/generation/feature/features/delta_feature.rs b/crates/pumpkin-world/src/generation/feature/features/delta_feature.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/delta_feature.rs rename to crates/pumpkin-world/src/generation/feature/features/delta_feature.rs diff --git a/pumpkin-world/src/generation/feature/features/desert_well.rs b/crates/pumpkin-world/src/generation/feature/features/desert_well.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/desert_well.rs rename to crates/pumpkin-world/src/generation/feature/features/desert_well.rs diff --git a/pumpkin-world/src/generation/feature/features/disk.rs b/crates/pumpkin-world/src/generation/feature/features/disk.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/disk.rs rename to crates/pumpkin-world/src/generation/feature/features/disk.rs diff --git a/pumpkin-world/src/generation/feature/features/drip_stone/cluster.rs b/crates/pumpkin-world/src/generation/feature/features/drip_stone/cluster.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/drip_stone/cluster.rs rename to crates/pumpkin-world/src/generation/feature/features/drip_stone/cluster.rs diff --git a/pumpkin-world/src/generation/feature/features/drip_stone/large.rs b/crates/pumpkin-world/src/generation/feature/features/drip_stone/large.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/drip_stone/large.rs rename to crates/pumpkin-world/src/generation/feature/features/drip_stone/large.rs diff --git a/pumpkin-world/src/generation/feature/features/drip_stone/mod.rs b/crates/pumpkin-world/src/generation/feature/features/drip_stone/mod.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/drip_stone/mod.rs rename to crates/pumpkin-world/src/generation/feature/features/drip_stone/mod.rs diff --git a/pumpkin-world/src/generation/feature/features/drip_stone/small.rs b/crates/pumpkin-world/src/generation/feature/features/drip_stone/small.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/drip_stone/small.rs rename to crates/pumpkin-world/src/generation/feature/features/drip_stone/small.rs diff --git a/pumpkin-world/src/generation/feature/features/end_gateway.rs b/crates/pumpkin-world/src/generation/feature/features/end_gateway.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/end_gateway.rs rename to crates/pumpkin-world/src/generation/feature/features/end_gateway.rs diff --git a/pumpkin-world/src/generation/feature/features/end_island.rs b/crates/pumpkin-world/src/generation/feature/features/end_island.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/end_island.rs rename to crates/pumpkin-world/src/generation/feature/features/end_island.rs diff --git a/pumpkin-world/src/generation/feature/features/end_platform.rs b/crates/pumpkin-world/src/generation/feature/features/end_platform.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/end_platform.rs rename to crates/pumpkin-world/src/generation/feature/features/end_platform.rs diff --git a/pumpkin-world/src/generation/feature/features/end_spike.rs b/crates/pumpkin-world/src/generation/feature/features/end_spike.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/end_spike.rs rename to crates/pumpkin-world/src/generation/feature/features/end_spike.rs diff --git a/pumpkin-world/src/generation/feature/features/fallen_tree.rs b/crates/pumpkin-world/src/generation/feature/features/fallen_tree.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/fallen_tree.rs rename to crates/pumpkin-world/src/generation/feature/features/fallen_tree.rs diff --git a/pumpkin-world/src/generation/feature/features/fill_layer.rs b/crates/pumpkin-world/src/generation/feature/features/fill_layer.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/fill_layer.rs rename to crates/pumpkin-world/src/generation/feature/features/fill_layer.rs diff --git a/pumpkin-world/src/generation/feature/features/forest_rock.rs b/crates/pumpkin-world/src/generation/feature/features/forest_rock.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/forest_rock.rs rename to crates/pumpkin-world/src/generation/feature/features/forest_rock.rs diff --git a/pumpkin-world/src/generation/feature/features/fossil.rs b/crates/pumpkin-world/src/generation/feature/features/fossil.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/fossil.rs rename to crates/pumpkin-world/src/generation/feature/features/fossil.rs diff --git a/pumpkin-world/src/generation/feature/features/freeze_top_layer.rs b/crates/pumpkin-world/src/generation/feature/features/freeze_top_layer.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/freeze_top_layer.rs rename to crates/pumpkin-world/src/generation/feature/features/freeze_top_layer.rs diff --git a/pumpkin-world/src/generation/feature/features/geode.rs b/crates/pumpkin-world/src/generation/feature/features/geode.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/geode.rs rename to crates/pumpkin-world/src/generation/feature/features/geode.rs diff --git a/pumpkin-world/src/generation/feature/features/glowstone_blob.rs b/crates/pumpkin-world/src/generation/feature/features/glowstone_blob.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/glowstone_blob.rs rename to crates/pumpkin-world/src/generation/feature/features/glowstone_blob.rs diff --git a/pumpkin-world/src/generation/feature/features/huge_brown_mushroom.rs b/crates/pumpkin-world/src/generation/feature/features/huge_brown_mushroom.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/huge_brown_mushroom.rs rename to crates/pumpkin-world/src/generation/feature/features/huge_brown_mushroom.rs diff --git a/pumpkin-world/src/generation/feature/features/huge_fungus.rs b/crates/pumpkin-world/src/generation/feature/features/huge_fungus.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/huge_fungus.rs rename to crates/pumpkin-world/src/generation/feature/features/huge_fungus.rs diff --git a/pumpkin-world/src/generation/feature/features/huge_red_mushroom.rs b/crates/pumpkin-world/src/generation/feature/features/huge_red_mushroom.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/huge_red_mushroom.rs rename to crates/pumpkin-world/src/generation/feature/features/huge_red_mushroom.rs diff --git a/pumpkin-world/src/generation/feature/features/ice_spike.rs b/crates/pumpkin-world/src/generation/feature/features/ice_spike.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/ice_spike.rs rename to crates/pumpkin-world/src/generation/feature/features/ice_spike.rs diff --git a/pumpkin-world/src/generation/feature/features/iceberg.rs b/crates/pumpkin-world/src/generation/feature/features/iceberg.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/iceberg.rs rename to crates/pumpkin-world/src/generation/feature/features/iceberg.rs diff --git a/pumpkin-world/src/generation/feature/features/kelp.rs b/crates/pumpkin-world/src/generation/feature/features/kelp.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/kelp.rs rename to crates/pumpkin-world/src/generation/feature/features/kelp.rs diff --git a/pumpkin-world/src/generation/feature/features/lake.rs b/crates/pumpkin-world/src/generation/feature/features/lake.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/lake.rs rename to crates/pumpkin-world/src/generation/feature/features/lake.rs diff --git a/pumpkin-world/src/generation/feature/features/mod.rs b/crates/pumpkin-world/src/generation/feature/features/mod.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/mod.rs rename to crates/pumpkin-world/src/generation/feature/features/mod.rs diff --git a/pumpkin-world/src/generation/feature/features/monster_room.rs b/crates/pumpkin-world/src/generation/feature/features/monster_room.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/monster_room.rs rename to crates/pumpkin-world/src/generation/feature/features/monster_room.rs diff --git a/pumpkin-world/src/generation/feature/features/multiface_growth.rs b/crates/pumpkin-world/src/generation/feature/features/multiface_growth.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/multiface_growth.rs rename to crates/pumpkin-world/src/generation/feature/features/multiface_growth.rs diff --git a/pumpkin-world/src/generation/feature/features/nether_forest_vegetation.rs b/crates/pumpkin-world/src/generation/feature/features/nether_forest_vegetation.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/nether_forest_vegetation.rs rename to crates/pumpkin-world/src/generation/feature/features/nether_forest_vegetation.rs diff --git a/pumpkin-world/src/generation/feature/features/netherrack_replace_blobs.rs b/crates/pumpkin-world/src/generation/feature/features/netherrack_replace_blobs.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/netherrack_replace_blobs.rs rename to crates/pumpkin-world/src/generation/feature/features/netherrack_replace_blobs.rs diff --git a/pumpkin-world/src/generation/feature/features/ore.rs b/crates/pumpkin-world/src/generation/feature/features/ore.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/ore.rs rename to crates/pumpkin-world/src/generation/feature/features/ore.rs diff --git a/pumpkin-world/src/generation/feature/features/random_boolean_selector.rs b/crates/pumpkin-world/src/generation/feature/features/random_boolean_selector.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/random_boolean_selector.rs rename to crates/pumpkin-world/src/generation/feature/features/random_boolean_selector.rs diff --git a/pumpkin-world/src/generation/feature/features/random_patch.rs b/crates/pumpkin-world/src/generation/feature/features/random_patch.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/random_patch.rs rename to crates/pumpkin-world/src/generation/feature/features/random_patch.rs diff --git a/pumpkin-world/src/generation/feature/features/random_selector.rs b/crates/pumpkin-world/src/generation/feature/features/random_selector.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/random_selector.rs rename to crates/pumpkin-world/src/generation/feature/features/random_selector.rs diff --git a/pumpkin-world/src/generation/feature/features/replace_single_block.rs b/crates/pumpkin-world/src/generation/feature/features/replace_single_block.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/replace_single_block.rs rename to crates/pumpkin-world/src/generation/feature/features/replace_single_block.rs diff --git a/pumpkin-world/src/generation/feature/features/root_system.rs b/crates/pumpkin-world/src/generation/feature/features/root_system.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/root_system.rs rename to crates/pumpkin-world/src/generation/feature/features/root_system.rs diff --git a/pumpkin-world/src/generation/feature/features/scattered_ore.rs b/crates/pumpkin-world/src/generation/feature/features/scattered_ore.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/scattered_ore.rs rename to crates/pumpkin-world/src/generation/feature/features/scattered_ore.rs diff --git a/pumpkin-world/src/generation/feature/features/sculk_patch.rs b/crates/pumpkin-world/src/generation/feature/features/sculk_patch.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/sculk_patch.rs rename to crates/pumpkin-world/src/generation/feature/features/sculk_patch.rs diff --git a/pumpkin-world/src/generation/feature/features/sea_pickle.rs b/crates/pumpkin-world/src/generation/feature/features/sea_pickle.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/sea_pickle.rs rename to crates/pumpkin-world/src/generation/feature/features/sea_pickle.rs diff --git a/pumpkin-world/src/generation/feature/features/seagrass.rs b/crates/pumpkin-world/src/generation/feature/features/seagrass.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/seagrass.rs rename to crates/pumpkin-world/src/generation/feature/features/seagrass.rs diff --git a/pumpkin-world/src/generation/feature/features/simple_block.rs b/crates/pumpkin-world/src/generation/feature/features/simple_block.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/simple_block.rs rename to crates/pumpkin-world/src/generation/feature/features/simple_block.rs diff --git a/pumpkin-world/src/generation/feature/features/simple_random_selector.rs b/crates/pumpkin-world/src/generation/feature/features/simple_random_selector.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/simple_random_selector.rs rename to crates/pumpkin-world/src/generation/feature/features/simple_random_selector.rs diff --git a/pumpkin-world/src/generation/feature/features/spring_feature.rs b/crates/pumpkin-world/src/generation/feature/features/spring_feature.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/spring_feature.rs rename to crates/pumpkin-world/src/generation/feature/features/spring_feature.rs diff --git a/pumpkin-world/src/generation/feature/features/tree/decorator/alter_ground.rs b/crates/pumpkin-world/src/generation/feature/features/tree/decorator/alter_ground.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/tree/decorator/alter_ground.rs rename to crates/pumpkin-world/src/generation/feature/features/tree/decorator/alter_ground.rs diff --git a/pumpkin-world/src/generation/feature/features/tree/decorator/attached_to_leaves.rs b/crates/pumpkin-world/src/generation/feature/features/tree/decorator/attached_to_leaves.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/tree/decorator/attached_to_leaves.rs rename to crates/pumpkin-world/src/generation/feature/features/tree/decorator/attached_to_leaves.rs diff --git a/pumpkin-world/src/generation/feature/features/tree/decorator/attached_to_logs.rs b/crates/pumpkin-world/src/generation/feature/features/tree/decorator/attached_to_logs.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/tree/decorator/attached_to_logs.rs rename to crates/pumpkin-world/src/generation/feature/features/tree/decorator/attached_to_logs.rs diff --git a/pumpkin-world/src/generation/feature/features/tree/decorator/beehive.rs b/crates/pumpkin-world/src/generation/feature/features/tree/decorator/beehive.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/tree/decorator/beehive.rs rename to crates/pumpkin-world/src/generation/feature/features/tree/decorator/beehive.rs diff --git a/pumpkin-world/src/generation/feature/features/tree/decorator/cocoa.rs b/crates/pumpkin-world/src/generation/feature/features/tree/decorator/cocoa.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/tree/decorator/cocoa.rs rename to crates/pumpkin-world/src/generation/feature/features/tree/decorator/cocoa.rs diff --git a/pumpkin-world/src/generation/feature/features/tree/decorator/creaking_heart.rs b/crates/pumpkin-world/src/generation/feature/features/tree/decorator/creaking_heart.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/tree/decorator/creaking_heart.rs rename to crates/pumpkin-world/src/generation/feature/features/tree/decorator/creaking_heart.rs diff --git a/pumpkin-world/src/generation/feature/features/tree/decorator/leave_vine.rs b/crates/pumpkin-world/src/generation/feature/features/tree/decorator/leave_vine.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/tree/decorator/leave_vine.rs rename to crates/pumpkin-world/src/generation/feature/features/tree/decorator/leave_vine.rs diff --git a/pumpkin-world/src/generation/feature/features/tree/decorator/mod.rs b/crates/pumpkin-world/src/generation/feature/features/tree/decorator/mod.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/tree/decorator/mod.rs rename to crates/pumpkin-world/src/generation/feature/features/tree/decorator/mod.rs diff --git a/pumpkin-world/src/generation/feature/features/tree/decorator/pale_moss.rs b/crates/pumpkin-world/src/generation/feature/features/tree/decorator/pale_moss.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/tree/decorator/pale_moss.rs rename to crates/pumpkin-world/src/generation/feature/features/tree/decorator/pale_moss.rs diff --git a/pumpkin-world/src/generation/feature/features/tree/decorator/place_on_ground.rs b/crates/pumpkin-world/src/generation/feature/features/tree/decorator/place_on_ground.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/tree/decorator/place_on_ground.rs rename to crates/pumpkin-world/src/generation/feature/features/tree/decorator/place_on_ground.rs diff --git a/pumpkin-world/src/generation/feature/features/tree/decorator/trunk_vine.rs b/crates/pumpkin-world/src/generation/feature/features/tree/decorator/trunk_vine.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/tree/decorator/trunk_vine.rs rename to crates/pumpkin-world/src/generation/feature/features/tree/decorator/trunk_vine.rs diff --git a/pumpkin-world/src/generation/feature/features/tree/foliage/acacia.rs b/crates/pumpkin-world/src/generation/feature/features/tree/foliage/acacia.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/tree/foliage/acacia.rs rename to crates/pumpkin-world/src/generation/feature/features/tree/foliage/acacia.rs diff --git a/pumpkin-world/src/generation/feature/features/tree/foliage/blob.rs b/crates/pumpkin-world/src/generation/feature/features/tree/foliage/blob.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/tree/foliage/blob.rs rename to crates/pumpkin-world/src/generation/feature/features/tree/foliage/blob.rs diff --git a/pumpkin-world/src/generation/feature/features/tree/foliage/bush.rs b/crates/pumpkin-world/src/generation/feature/features/tree/foliage/bush.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/tree/foliage/bush.rs rename to crates/pumpkin-world/src/generation/feature/features/tree/foliage/bush.rs diff --git a/pumpkin-world/src/generation/feature/features/tree/foliage/cherry.rs b/crates/pumpkin-world/src/generation/feature/features/tree/foliage/cherry.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/tree/foliage/cherry.rs rename to crates/pumpkin-world/src/generation/feature/features/tree/foliage/cherry.rs diff --git a/pumpkin-world/src/generation/feature/features/tree/foliage/dark_oak.rs b/crates/pumpkin-world/src/generation/feature/features/tree/foliage/dark_oak.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/tree/foliage/dark_oak.rs rename to crates/pumpkin-world/src/generation/feature/features/tree/foliage/dark_oak.rs diff --git a/pumpkin-world/src/generation/feature/features/tree/foliage/fancy.rs b/crates/pumpkin-world/src/generation/feature/features/tree/foliage/fancy.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/tree/foliage/fancy.rs rename to crates/pumpkin-world/src/generation/feature/features/tree/foliage/fancy.rs diff --git a/pumpkin-world/src/generation/feature/features/tree/foliage/jungle.rs b/crates/pumpkin-world/src/generation/feature/features/tree/foliage/jungle.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/tree/foliage/jungle.rs rename to crates/pumpkin-world/src/generation/feature/features/tree/foliage/jungle.rs diff --git a/pumpkin-world/src/generation/feature/features/tree/foliage/mega_pine.rs b/crates/pumpkin-world/src/generation/feature/features/tree/foliage/mega_pine.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/tree/foliage/mega_pine.rs rename to crates/pumpkin-world/src/generation/feature/features/tree/foliage/mega_pine.rs diff --git a/pumpkin-world/src/generation/feature/features/tree/foliage/mod.rs b/crates/pumpkin-world/src/generation/feature/features/tree/foliage/mod.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/tree/foliage/mod.rs rename to crates/pumpkin-world/src/generation/feature/features/tree/foliage/mod.rs diff --git a/pumpkin-world/src/generation/feature/features/tree/foliage/pine.rs b/crates/pumpkin-world/src/generation/feature/features/tree/foliage/pine.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/tree/foliage/pine.rs rename to crates/pumpkin-world/src/generation/feature/features/tree/foliage/pine.rs diff --git a/pumpkin-world/src/generation/feature/features/tree/foliage/random_spread.rs b/crates/pumpkin-world/src/generation/feature/features/tree/foliage/random_spread.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/tree/foliage/random_spread.rs rename to crates/pumpkin-world/src/generation/feature/features/tree/foliage/random_spread.rs diff --git a/pumpkin-world/src/generation/feature/features/tree/foliage/spruce.rs b/crates/pumpkin-world/src/generation/feature/features/tree/foliage/spruce.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/tree/foliage/spruce.rs rename to crates/pumpkin-world/src/generation/feature/features/tree/foliage/spruce.rs diff --git a/pumpkin-world/src/generation/feature/features/tree/mod.rs b/crates/pumpkin-world/src/generation/feature/features/tree/mod.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/tree/mod.rs rename to crates/pumpkin-world/src/generation/feature/features/tree/mod.rs diff --git a/pumpkin-world/src/generation/feature/features/tree/root/mangrove.rs b/crates/pumpkin-world/src/generation/feature/features/tree/root/mangrove.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/tree/root/mangrove.rs rename to crates/pumpkin-world/src/generation/feature/features/tree/root/mangrove.rs diff --git a/pumpkin-world/src/generation/feature/features/tree/root/mod.rs b/crates/pumpkin-world/src/generation/feature/features/tree/root/mod.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/tree/root/mod.rs rename to crates/pumpkin-world/src/generation/feature/features/tree/root/mod.rs diff --git a/pumpkin-world/src/generation/feature/features/tree/trunk/bending.rs b/crates/pumpkin-world/src/generation/feature/features/tree/trunk/bending.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/tree/trunk/bending.rs rename to crates/pumpkin-world/src/generation/feature/features/tree/trunk/bending.rs diff --git a/pumpkin-world/src/generation/feature/features/tree/trunk/cherry.rs b/crates/pumpkin-world/src/generation/feature/features/tree/trunk/cherry.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/tree/trunk/cherry.rs rename to crates/pumpkin-world/src/generation/feature/features/tree/trunk/cherry.rs diff --git a/pumpkin-world/src/generation/feature/features/tree/trunk/dark_oak.rs b/crates/pumpkin-world/src/generation/feature/features/tree/trunk/dark_oak.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/tree/trunk/dark_oak.rs rename to crates/pumpkin-world/src/generation/feature/features/tree/trunk/dark_oak.rs diff --git a/pumpkin-world/src/generation/feature/features/tree/trunk/fancy.rs b/crates/pumpkin-world/src/generation/feature/features/tree/trunk/fancy.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/tree/trunk/fancy.rs rename to crates/pumpkin-world/src/generation/feature/features/tree/trunk/fancy.rs diff --git a/pumpkin-world/src/generation/feature/features/tree/trunk/forking.rs b/crates/pumpkin-world/src/generation/feature/features/tree/trunk/forking.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/tree/trunk/forking.rs rename to crates/pumpkin-world/src/generation/feature/features/tree/trunk/forking.rs diff --git a/pumpkin-world/src/generation/feature/features/tree/trunk/giant.rs b/crates/pumpkin-world/src/generation/feature/features/tree/trunk/giant.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/tree/trunk/giant.rs rename to crates/pumpkin-world/src/generation/feature/features/tree/trunk/giant.rs diff --git a/pumpkin-world/src/generation/feature/features/tree/trunk/mega_jungle.rs b/crates/pumpkin-world/src/generation/feature/features/tree/trunk/mega_jungle.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/tree/trunk/mega_jungle.rs rename to crates/pumpkin-world/src/generation/feature/features/tree/trunk/mega_jungle.rs diff --git a/pumpkin-world/src/generation/feature/features/tree/trunk/mod.rs b/crates/pumpkin-world/src/generation/feature/features/tree/trunk/mod.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/tree/trunk/mod.rs rename to crates/pumpkin-world/src/generation/feature/features/tree/trunk/mod.rs diff --git a/pumpkin-world/src/generation/feature/features/tree/trunk/straight.rs b/crates/pumpkin-world/src/generation/feature/features/tree/trunk/straight.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/tree/trunk/straight.rs rename to crates/pumpkin-world/src/generation/feature/features/tree/trunk/straight.rs diff --git a/pumpkin-world/src/generation/feature/features/tree/trunk/upwards_branching.rs b/crates/pumpkin-world/src/generation/feature/features/tree/trunk/upwards_branching.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/tree/trunk/upwards_branching.rs rename to crates/pumpkin-world/src/generation/feature/features/tree/trunk/upwards_branching.rs diff --git a/pumpkin-world/src/generation/feature/features/twisting_vines.rs b/crates/pumpkin-world/src/generation/feature/features/twisting_vines.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/twisting_vines.rs rename to crates/pumpkin-world/src/generation/feature/features/twisting_vines.rs diff --git a/pumpkin-world/src/generation/feature/features/underwater_magma.rs b/crates/pumpkin-world/src/generation/feature/features/underwater_magma.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/underwater_magma.rs rename to crates/pumpkin-world/src/generation/feature/features/underwater_magma.rs diff --git a/pumpkin-world/src/generation/feature/features/vegetation_patch.rs b/crates/pumpkin-world/src/generation/feature/features/vegetation_patch.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/vegetation_patch.rs rename to crates/pumpkin-world/src/generation/feature/features/vegetation_patch.rs diff --git a/pumpkin-world/src/generation/feature/features/vines.rs b/crates/pumpkin-world/src/generation/feature/features/vines.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/vines.rs rename to crates/pumpkin-world/src/generation/feature/features/vines.rs diff --git a/pumpkin-world/src/generation/feature/features/void_start_platform.rs b/crates/pumpkin-world/src/generation/feature/features/void_start_platform.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/void_start_platform.rs rename to crates/pumpkin-world/src/generation/feature/features/void_start_platform.rs diff --git a/pumpkin-world/src/generation/feature/features/waterlogged_vegetation_patch.rs b/crates/pumpkin-world/src/generation/feature/features/waterlogged_vegetation_patch.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/waterlogged_vegetation_patch.rs rename to crates/pumpkin-world/src/generation/feature/features/waterlogged_vegetation_patch.rs diff --git a/pumpkin-world/src/generation/feature/features/weeping_vines.rs b/crates/pumpkin-world/src/generation/feature/features/weeping_vines.rs similarity index 100% rename from pumpkin-world/src/generation/feature/features/weeping_vines.rs rename to crates/pumpkin-world/src/generation/feature/features/weeping_vines.rs diff --git a/pumpkin-world/src/generation/feature/mod.rs b/crates/pumpkin-world/src/generation/feature/mod.rs similarity index 100% rename from pumpkin-world/src/generation/feature/mod.rs rename to crates/pumpkin-world/src/generation/feature/mod.rs diff --git a/pumpkin-world/src/generation/feature/placed_features.rs b/crates/pumpkin-world/src/generation/feature/placed_features.rs similarity index 100% rename from pumpkin-world/src/generation/feature/placed_features.rs rename to crates/pumpkin-world/src/generation/feature/placed_features.rs diff --git a/pumpkin-world/src/generation/feature/size.rs b/crates/pumpkin-world/src/generation/feature/size.rs similarity index 100% rename from pumpkin-world/src/generation/feature/size.rs rename to crates/pumpkin-world/src/generation/feature/size.rs diff --git a/pumpkin-world/src/generation/generator/flat.rs b/crates/pumpkin-world/src/generation/generator/flat.rs similarity index 100% rename from pumpkin-world/src/generation/generator/flat.rs rename to crates/pumpkin-world/src/generation/generator/flat.rs diff --git a/pumpkin-world/src/generation/generator/mod.rs b/crates/pumpkin-world/src/generation/generator/mod.rs similarity index 100% rename from pumpkin-world/src/generation/generator/mod.rs rename to crates/pumpkin-world/src/generation/generator/mod.rs diff --git a/pumpkin-world/src/generation/generator/structure_finder.rs b/crates/pumpkin-world/src/generation/generator/structure_finder.rs similarity index 100% rename from pumpkin-world/src/generation/generator/structure_finder.rs rename to crates/pumpkin-world/src/generation/generator/structure_finder.rs diff --git a/pumpkin-world/src/generation/height_limit.rs b/crates/pumpkin-world/src/generation/height_limit.rs similarity index 100% rename from pumpkin-world/src/generation/height_limit.rs rename to crates/pumpkin-world/src/generation/height_limit.rs diff --git a/pumpkin-world/src/generation/height_provider.rs b/crates/pumpkin-world/src/generation/height_provider.rs similarity index 100% rename from pumpkin-world/src/generation/height_provider.rs rename to crates/pumpkin-world/src/generation/height_provider.rs diff --git a/pumpkin-world/src/generation/mod.rs b/crates/pumpkin-world/src/generation/mod.rs similarity index 100% rename from pumpkin-world/src/generation/mod.rs rename to crates/pumpkin-world/src/generation/mod.rs diff --git a/pumpkin-world/src/generation/noise/aquifer_sampler.rs b/crates/pumpkin-world/src/generation/noise/aquifer_sampler.rs similarity index 100% rename from pumpkin-world/src/generation/noise/aquifer_sampler.rs rename to crates/pumpkin-world/src/generation/noise/aquifer_sampler.rs diff --git a/pumpkin-world/src/generation/noise/mod.rs b/crates/pumpkin-world/src/generation/noise/mod.rs similarity index 100% rename from pumpkin-world/src/generation/noise/mod.rs rename to crates/pumpkin-world/src/generation/noise/mod.rs diff --git a/pumpkin-world/src/generation/noise/ore_sampler.rs b/crates/pumpkin-world/src/generation/noise/ore_sampler.rs similarity index 100% rename from pumpkin-world/src/generation/noise/ore_sampler.rs rename to crates/pumpkin-world/src/generation/noise/ore_sampler.rs diff --git a/pumpkin-world/src/generation/noise/perlin.rs b/crates/pumpkin-world/src/generation/noise/perlin.rs similarity index 100% rename from pumpkin-world/src/generation/noise/perlin.rs rename to crates/pumpkin-world/src/generation/noise/perlin.rs diff --git a/pumpkin-world/src/generation/noise/router/chunk_density_function.rs b/crates/pumpkin-world/src/generation/noise/router/chunk_density_function.rs similarity index 100% rename from pumpkin-world/src/generation/noise/router/chunk_density_function.rs rename to crates/pumpkin-world/src/generation/noise/router/chunk_density_function.rs diff --git a/pumpkin-world/src/generation/noise/router/chunk_noise_router.rs b/crates/pumpkin-world/src/generation/noise/router/chunk_noise_router.rs similarity index 100% rename from pumpkin-world/src/generation/noise/router/chunk_noise_router.rs rename to crates/pumpkin-world/src/generation/noise/router/chunk_noise_router.rs diff --git a/pumpkin-world/src/generation/noise/router/density_function/beardifier.rs b/crates/pumpkin-world/src/generation/noise/router/density_function/beardifier.rs similarity index 100% rename from pumpkin-world/src/generation/noise/router/density_function/beardifier.rs rename to crates/pumpkin-world/src/generation/noise/router/density_function/beardifier.rs diff --git a/pumpkin-world/src/generation/noise/router/density_function/math.rs b/crates/pumpkin-world/src/generation/noise/router/density_function/math.rs similarity index 100% rename from pumpkin-world/src/generation/noise/router/density_function/math.rs rename to crates/pumpkin-world/src/generation/noise/router/density_function/math.rs diff --git a/pumpkin-world/src/generation/noise/router/density_function/misc.rs b/crates/pumpkin-world/src/generation/noise/router/density_function/misc.rs similarity index 100% rename from pumpkin-world/src/generation/noise/router/density_function/misc.rs rename to crates/pumpkin-world/src/generation/noise/router/density_function/misc.rs diff --git a/pumpkin-world/src/generation/noise/router/density_function/mod.rs b/crates/pumpkin-world/src/generation/noise/router/density_function/mod.rs similarity index 100% rename from pumpkin-world/src/generation/noise/router/density_function/mod.rs rename to crates/pumpkin-world/src/generation/noise/router/density_function/mod.rs diff --git a/pumpkin-world/src/generation/noise/router/density_function/noise.rs b/crates/pumpkin-world/src/generation/noise/router/density_function/noise.rs similarity index 100% rename from pumpkin-world/src/generation/noise/router/density_function/noise.rs rename to crates/pumpkin-world/src/generation/noise/router/density_function/noise.rs diff --git a/pumpkin-world/src/generation/noise/router/density_function/spline.rs b/crates/pumpkin-world/src/generation/noise/router/density_function/spline.rs similarity index 100% rename from pumpkin-world/src/generation/noise/router/density_function/spline.rs rename to crates/pumpkin-world/src/generation/noise/router/density_function/spline.rs diff --git a/pumpkin-world/src/generation/noise/router/density_function/test.rs b/crates/pumpkin-world/src/generation/noise/router/density_function/test.rs similarity index 100% rename from pumpkin-world/src/generation/noise/router/density_function/test.rs rename to crates/pumpkin-world/src/generation/noise/router/density_function/test.rs diff --git a/pumpkin-world/src/generation/noise/router/density_function/test_deserializer.rs b/crates/pumpkin-world/src/generation/noise/router/density_function/test_deserializer.rs similarity index 100% rename from pumpkin-world/src/generation/noise/router/density_function/test_deserializer.rs rename to crates/pumpkin-world/src/generation/noise/router/density_function/test_deserializer.rs diff --git a/pumpkin-world/src/generation/noise/router/find_top_surface.rs b/crates/pumpkin-world/src/generation/noise/router/find_top_surface.rs similarity index 100% rename from pumpkin-world/src/generation/noise/router/find_top_surface.rs rename to crates/pumpkin-world/src/generation/noise/router/find_top_surface.rs diff --git a/pumpkin-world/src/generation/noise/router/mod.rs b/crates/pumpkin-world/src/generation/noise/router/mod.rs similarity index 100% rename from pumpkin-world/src/generation/noise/router/mod.rs rename to crates/pumpkin-world/src/generation/noise/router/mod.rs diff --git a/pumpkin-world/src/generation/noise/router/multi_noise_sampler.rs b/crates/pumpkin-world/src/generation/noise/router/multi_noise_sampler.rs similarity index 100% rename from pumpkin-world/src/generation/noise/router/multi_noise_sampler.rs rename to crates/pumpkin-world/src/generation/noise/router/multi_noise_sampler.rs diff --git a/pumpkin-world/src/generation/noise/router/proto_noise_router.rs b/crates/pumpkin-world/src/generation/noise/router/proto_noise_router.rs similarity index 100% rename from pumpkin-world/src/generation/noise/router/proto_noise_router.rs rename to crates/pumpkin-world/src/generation/noise/router/proto_noise_router.rs diff --git a/pumpkin-world/src/generation/noise/router/static_router.rs b/crates/pumpkin-world/src/generation/noise/router/static_router.rs similarity index 100% rename from pumpkin-world/src/generation/noise/router/static_router.rs rename to crates/pumpkin-world/src/generation/noise/router/static_router.rs diff --git a/pumpkin-world/src/generation/noise/router/surface_height_sampler.rs b/crates/pumpkin-world/src/generation/noise/router/surface_height_sampler.rs similarity index 100% rename from pumpkin-world/src/generation/noise/router/surface_height_sampler.rs rename to crates/pumpkin-world/src/generation/noise/router/surface_height_sampler.rs diff --git a/pumpkin-world/src/generation/positions.rs b/crates/pumpkin-world/src/generation/positions.rs similarity index 100% rename from pumpkin-world/src/generation/positions.rs rename to crates/pumpkin-world/src/generation/positions.rs diff --git a/pumpkin-world/src/generation/proto_chunk.rs b/crates/pumpkin-world/src/generation/proto_chunk.rs similarity index 99% rename from pumpkin-world/src/generation/proto_chunk.rs rename to crates/pumpkin-world/src/generation/proto_chunk.rs index 0fd58804d..4a2be901b 100644 --- a/pumpkin-world/src/generation/proto_chunk.rs +++ b/crates/pumpkin-world/src/generation/proto_chunk.rs @@ -374,22 +374,22 @@ impl ProtoChunk { fn maybe_update_surface_height_map(&mut self, index: usize, y: i16) { let current_height = self.flat_surface_height_map[index]; - self.flat_surface_height_map[index] = current_height.max(y) as _; + self.flat_surface_height_map[index] = current_height.max(y); } fn maybe_update_ocean_floor_height_map(&mut self, index: usize, y: i16) { let current_height = self.flat_ocean_floor_height_map[index]; - self.flat_ocean_floor_height_map[index] = current_height.max(y) as _; + self.flat_ocean_floor_height_map[index] = current_height.max(y); } fn maybe_update_motion_blocking_height_map(&mut self, index: usize, y: i16) { let current_height = self.flat_motion_blocking_height_map[index]; - self.flat_motion_blocking_height_map[index] = current_height.max(y) as _; + self.flat_motion_blocking_height_map[index] = current_height.max(y); } fn maybe_update_motion_blocking_no_leaves_height_map(&mut self, index: usize, y: i16) { let current_height = self.flat_motion_blocking_no_leaves_height_map[index]; - self.flat_motion_blocking_no_leaves_height_map[index] = current_height.max(y) as _; + self.flat_motion_blocking_no_leaves_height_map[index] = current_height.max(y); } #[must_use] diff --git a/pumpkin-world/src/generation/proto_chunk_test.rs b/crates/pumpkin-world/src/generation/proto_chunk_test.rs similarity index 100% rename from pumpkin-world/src/generation/proto_chunk_test.rs rename to crates/pumpkin-world/src/generation/proto_chunk_test.rs diff --git a/pumpkin-world/src/generation/rule/block_match.rs b/crates/pumpkin-world/src/generation/rule/block_match.rs similarity index 100% rename from pumpkin-world/src/generation/rule/block_match.rs rename to crates/pumpkin-world/src/generation/rule/block_match.rs diff --git a/pumpkin-world/src/generation/rule/block_state_match.rs b/crates/pumpkin-world/src/generation/rule/block_state_match.rs similarity index 100% rename from pumpkin-world/src/generation/rule/block_state_match.rs rename to crates/pumpkin-world/src/generation/rule/block_state_match.rs diff --git a/pumpkin-world/src/generation/rule/mod.rs b/crates/pumpkin-world/src/generation/rule/mod.rs similarity index 100% rename from pumpkin-world/src/generation/rule/mod.rs rename to crates/pumpkin-world/src/generation/rule/mod.rs diff --git a/pumpkin-world/src/generation/rule/random_block_match.rs b/crates/pumpkin-world/src/generation/rule/random_block_match.rs similarity index 100% rename from pumpkin-world/src/generation/rule/random_block_match.rs rename to crates/pumpkin-world/src/generation/rule/random_block_match.rs diff --git a/pumpkin-world/src/generation/rule/random_block_state_match.rs b/crates/pumpkin-world/src/generation/rule/random_block_state_match.rs similarity index 100% rename from pumpkin-world/src/generation/rule/random_block_state_match.rs rename to crates/pumpkin-world/src/generation/rule/random_block_state_match.rs diff --git a/pumpkin-world/src/generation/rule/tag_match.rs b/crates/pumpkin-world/src/generation/rule/tag_match.rs similarity index 100% rename from pumpkin-world/src/generation/rule/tag_match.rs rename to crates/pumpkin-world/src/generation/rule/tag_match.rs diff --git a/pumpkin-world/src/generation/structure/height_sampler.rs b/crates/pumpkin-world/src/generation/structure/height_sampler.rs similarity index 100% rename from pumpkin-world/src/generation/structure/height_sampler.rs rename to crates/pumpkin-world/src/generation/structure/height_sampler.rs diff --git a/pumpkin-world/src/generation/structure/mod.rs b/crates/pumpkin-world/src/generation/structure/mod.rs similarity index 100% rename from pumpkin-world/src/generation/structure/mod.rs rename to crates/pumpkin-world/src/generation/structure/mod.rs diff --git a/pumpkin-world/src/generation/structure/piece.rs b/crates/pumpkin-world/src/generation/structure/piece.rs similarity index 100% rename from pumpkin-world/src/generation/structure/piece.rs rename to crates/pumpkin-world/src/generation/structure/piece.rs diff --git a/pumpkin-world/src/generation/structure/placement.rs b/crates/pumpkin-world/src/generation/structure/placement.rs similarity index 100% rename from pumpkin-world/src/generation/structure/placement.rs rename to crates/pumpkin-world/src/generation/structure/placement.rs diff --git a/pumpkin-world/src/generation/structure/shiftable_piece.rs b/crates/pumpkin-world/src/generation/structure/shiftable_piece.rs similarity index 100% rename from pumpkin-world/src/generation/structure/shiftable_piece.rs rename to crates/pumpkin-world/src/generation/structure/shiftable_piece.rs diff --git a/pumpkin-world/src/generation/structure/structures/buried_treasure.rs b/crates/pumpkin-world/src/generation/structure/structures/buried_treasure.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/buried_treasure.rs rename to crates/pumpkin-world/src/generation/structure/structures/buried_treasure.rs diff --git a/pumpkin-world/src/generation/structure/structures/desert_pyramid.rs b/crates/pumpkin-world/src/generation/structure/structures/desert_pyramid.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/desert_pyramid.rs rename to crates/pumpkin-world/src/generation/structure/structures/desert_pyramid.rs diff --git a/pumpkin-world/src/generation/structure/structures/end_city/layout.rs b/crates/pumpkin-world/src/generation/structure/structures/end_city/layout.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/end_city/layout.rs rename to crates/pumpkin-world/src/generation/structure/structures/end_city/layout.rs diff --git a/pumpkin-world/src/generation/structure/structures/end_city/mod.rs b/crates/pumpkin-world/src/generation/structure/structures/end_city/mod.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/end_city/mod.rs rename to crates/pumpkin-world/src/generation/structure/structures/end_city/mod.rs diff --git a/pumpkin-world/src/generation/structure/structures/igloo.rs b/crates/pumpkin-world/src/generation/structure/structures/igloo.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/igloo.rs rename to crates/pumpkin-world/src/generation/structure/structures/igloo.rs diff --git a/pumpkin-world/src/generation/structure/structures/jigsaw.rs b/crates/pumpkin-world/src/generation/structure/structures/jigsaw.rs similarity index 97% rename from pumpkin-world/src/generation/structure/structures/jigsaw.rs rename to crates/pumpkin-world/src/generation/structure/structures/jigsaw.rs index e9737802d..f42b171b2 100644 --- a/pumpkin-world/src/generation/structure/structures/jigsaw.rs +++ b/crates/pumpkin-world/src/generation/structure/structures/jigsaw.rs @@ -893,6 +893,7 @@ mod tests { ); let generator = JigsawGenerator::new("minecraft:pillager_outpost/base_plates", 7) .with_expansion_hack(true); + let context = StructureGeneratorContext { seed: SEED, chunk_x: 75, @@ -907,23 +908,26 @@ mod tests { let position = generator .get_structure_position(context) .expect("pillager outpost graph should generate"); - let mut collector = position.collector.lock().unwrap(); - let mut feature_plates = 0; - let mut allay_cages = 0; - for piece in &collector.pieces { - let piece = piece - .as_any() - .downcast_ref::() - .unwrap(); - piece.element.for_each_template(|name, _, _, _| { - feature_plates += usize::from(name.ends_with("/feature_plate")); - allay_cages += usize::from(name.ends_with("/feature_cage_with_allays")); - }); - } + let (feature_plates, allay_cages, bounding_box) = { + let mut collector = position.collector.lock().unwrap(); + let mut feature_plates = 0; + let mut allay_cages = 0; + for piece in &collector.pieces { + let piece = piece + .as_any() + .downcast_ref::() + .unwrap(); + piece.element.for_each_template(|name, _, _, _| { + feature_plates += usize::from(name.ends_with("/feature_plate")); + allay_cages += usize::from(name.ends_with("/feature_cage_with_allays")); + }); + } + let bounding_box = collector.get_bounding_box(); + (feature_plates, allay_cages, bounding_box) + }; assert_eq!(feature_plates, 3); assert_eq!(allay_cages, 2); assert_eq!(position.start_pos.0.y, 69); - let bounding_box = collector.get_bounding_box(); assert_eq!( (bounding_box.min.x, bounding_box.min.y, bounding_box.min.z), (1169, 68, -1343) diff --git a/pumpkin-world/src/generation/structure/structures/jigsaw_placement.rs b/crates/pumpkin-world/src/generation/structure/structures/jigsaw_placement.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/jigsaw_placement.rs rename to crates/pumpkin-world/src/generation/structure/structures/jigsaw_placement.rs diff --git a/pumpkin-world/src/generation/structure/structures/jungle_temple.rs b/crates/pumpkin-world/src/generation/structure/structures/jungle_temple.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/jungle_temple.rs rename to crates/pumpkin-world/src/generation/structure/structures/jungle_temple.rs diff --git a/pumpkin-world/src/generation/structure/structures/mansion/grid.rs b/crates/pumpkin-world/src/generation/structure/structures/mansion/grid.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/mansion/grid.rs rename to crates/pumpkin-world/src/generation/structure/structures/mansion/grid.rs diff --git a/pumpkin-world/src/generation/structure/structures/mansion/mod.rs b/crates/pumpkin-world/src/generation/structure/structures/mansion/mod.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/mansion/mod.rs rename to crates/pumpkin-world/src/generation/structure/structures/mansion/mod.rs diff --git a/pumpkin-world/src/generation/structure/structures/mansion/placer.rs b/crates/pumpkin-world/src/generation/structure/structures/mansion/placer.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/mansion/placer.rs rename to crates/pumpkin-world/src/generation/structure/structures/mansion/placer.rs diff --git a/pumpkin-world/src/generation/structure/structures/mineshaft.rs b/crates/pumpkin-world/src/generation/structure/structures/mineshaft.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/mineshaft.rs rename to crates/pumpkin-world/src/generation/structure/structures/mineshaft.rs diff --git a/pumpkin-world/src/generation/structure/structures/mod.rs b/crates/pumpkin-world/src/generation/structure/structures/mod.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/mod.rs rename to crates/pumpkin-world/src/generation/structure/structures/mod.rs diff --git a/pumpkin-world/src/generation/structure/structures/nether_fortress/bridge.rs b/crates/pumpkin-world/src/generation/structure/structures/nether_fortress/bridge.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/nether_fortress/bridge.rs rename to crates/pumpkin-world/src/generation/structure/structures/nether_fortress/bridge.rs diff --git a/pumpkin-world/src/generation/structure/structures/nether_fortress/bridge_crossing.rs b/crates/pumpkin-world/src/generation/structure/structures/nether_fortress/bridge_crossing.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/nether_fortress/bridge_crossing.rs rename to crates/pumpkin-world/src/generation/structure/structures/nether_fortress/bridge_crossing.rs diff --git a/pumpkin-world/src/generation/structure/structures/nether_fortress/bridge_end.rs b/crates/pumpkin-world/src/generation/structure/structures/nether_fortress/bridge_end.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/nether_fortress/bridge_end.rs rename to crates/pumpkin-world/src/generation/structure/structures/nether_fortress/bridge_end.rs diff --git a/pumpkin-world/src/generation/structure/structures/nether_fortress/bridge_platform.rs b/crates/pumpkin-world/src/generation/structure/structures/nether_fortress/bridge_platform.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/nether_fortress/bridge_platform.rs rename to crates/pumpkin-world/src/generation/structure/structures/nether_fortress/bridge_platform.rs diff --git a/pumpkin-world/src/generation/structure/structures/nether_fortress/bridge_small_crossing.rs b/crates/pumpkin-world/src/generation/structure/structures/nether_fortress/bridge_small_crossing.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/nether_fortress/bridge_small_crossing.rs rename to crates/pumpkin-world/src/generation/structure/structures/nether_fortress/bridge_small_crossing.rs diff --git a/pumpkin-world/src/generation/structure/structures/nether_fortress/bridge_stairs.rs b/crates/pumpkin-world/src/generation/structure/structures/nether_fortress/bridge_stairs.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/nether_fortress/bridge_stairs.rs rename to crates/pumpkin-world/src/generation/structure/structures/nether_fortress/bridge_stairs.rs diff --git a/pumpkin-world/src/generation/structure/structures/nether_fortress/corridor_balcony.rs b/crates/pumpkin-world/src/generation/structure/structures/nether_fortress/corridor_balcony.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/nether_fortress/corridor_balcony.rs rename to crates/pumpkin-world/src/generation/structure/structures/nether_fortress/corridor_balcony.rs diff --git a/pumpkin-world/src/generation/structure/structures/nether_fortress/corridor_crossing.rs b/crates/pumpkin-world/src/generation/structure/structures/nether_fortress/corridor_crossing.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/nether_fortress/corridor_crossing.rs rename to crates/pumpkin-world/src/generation/structure/structures/nether_fortress/corridor_crossing.rs diff --git a/pumpkin-world/src/generation/structure/structures/nether_fortress/corridor_exit.rs b/crates/pumpkin-world/src/generation/structure/structures/nether_fortress/corridor_exit.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/nether_fortress/corridor_exit.rs rename to crates/pumpkin-world/src/generation/structure/structures/nether_fortress/corridor_exit.rs diff --git a/pumpkin-world/src/generation/structure/structures/nether_fortress/corridor_left_turn.rs b/crates/pumpkin-world/src/generation/structure/structures/nether_fortress/corridor_left_turn.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/nether_fortress/corridor_left_turn.rs rename to crates/pumpkin-world/src/generation/structure/structures/nether_fortress/corridor_left_turn.rs diff --git a/pumpkin-world/src/generation/structure/structures/nether_fortress/corridor_nether_warts_room.rs b/crates/pumpkin-world/src/generation/structure/structures/nether_fortress/corridor_nether_warts_room.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/nether_fortress/corridor_nether_warts_room.rs rename to crates/pumpkin-world/src/generation/structure/structures/nether_fortress/corridor_nether_warts_room.rs diff --git a/pumpkin-world/src/generation/structure/structures/nether_fortress/corridor_right_turn.rs b/crates/pumpkin-world/src/generation/structure/structures/nether_fortress/corridor_right_turn.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/nether_fortress/corridor_right_turn.rs rename to crates/pumpkin-world/src/generation/structure/structures/nether_fortress/corridor_right_turn.rs diff --git a/pumpkin-world/src/generation/structure/structures/nether_fortress/corridor_stairs.rs b/crates/pumpkin-world/src/generation/structure/structures/nether_fortress/corridor_stairs.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/nether_fortress/corridor_stairs.rs rename to crates/pumpkin-world/src/generation/structure/structures/nether_fortress/corridor_stairs.rs diff --git a/pumpkin-world/src/generation/structure/structures/nether_fortress/mod.rs b/crates/pumpkin-world/src/generation/structure/structures/nether_fortress/mod.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/nether_fortress/mod.rs rename to crates/pumpkin-world/src/generation/structure/structures/nether_fortress/mod.rs diff --git a/pumpkin-world/src/generation/structure/structures/nether_fortress/small_corridor.rs b/crates/pumpkin-world/src/generation/structure/structures/nether_fortress/small_corridor.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/nether_fortress/small_corridor.rs rename to crates/pumpkin-world/src/generation/structure/structures/nether_fortress/small_corridor.rs diff --git a/pumpkin-world/src/generation/structure/structures/nether_fossil.rs b/crates/pumpkin-world/src/generation/structure/structures/nether_fossil.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/nether_fossil.rs rename to crates/pumpkin-world/src/generation/structure/structures/nether_fossil.rs diff --git a/pumpkin-world/src/generation/structure/structures/ocean_monument.rs b/crates/pumpkin-world/src/generation/structure/structures/ocean_monument.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/ocean_monument.rs rename to crates/pumpkin-world/src/generation/structure/structures/ocean_monument.rs diff --git a/pumpkin-world/src/generation/structure/structures/ocean_ruin.rs b/crates/pumpkin-world/src/generation/structure/structures/ocean_ruin.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/ocean_ruin.rs rename to crates/pumpkin-world/src/generation/structure/structures/ocean_ruin.rs diff --git a/pumpkin-world/src/generation/structure/structures/ruined_portal.rs b/crates/pumpkin-world/src/generation/structure/structures/ruined_portal.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/ruined_portal.rs rename to crates/pumpkin-world/src/generation/structure/structures/ruined_portal.rs diff --git a/pumpkin-world/src/generation/structure/structures/shipwreck.rs b/crates/pumpkin-world/src/generation/structure/structures/shipwreck.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/shipwreck.rs rename to crates/pumpkin-world/src/generation/structure/structures/shipwreck.rs diff --git a/pumpkin-world/src/generation/structure/structures/stronghold/chest_corridor.rs b/crates/pumpkin-world/src/generation/structure/structures/stronghold/chest_corridor.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/stronghold/chest_corridor.rs rename to crates/pumpkin-world/src/generation/structure/structures/stronghold/chest_corridor.rs diff --git a/pumpkin-world/src/generation/structure/structures/stronghold/corridor.rs b/crates/pumpkin-world/src/generation/structure/structures/stronghold/corridor.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/stronghold/corridor.rs rename to crates/pumpkin-world/src/generation/structure/structures/stronghold/corridor.rs diff --git a/pumpkin-world/src/generation/structure/structures/stronghold/five_way_crossing.rs b/crates/pumpkin-world/src/generation/structure/structures/stronghold/five_way_crossing.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/stronghold/five_way_crossing.rs rename to crates/pumpkin-world/src/generation/structure/structures/stronghold/five_way_crossing.rs diff --git a/pumpkin-world/src/generation/structure/structures/stronghold/left_turn.rs b/crates/pumpkin-world/src/generation/structure/structures/stronghold/left_turn.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/stronghold/left_turn.rs rename to crates/pumpkin-world/src/generation/structure/structures/stronghold/left_turn.rs diff --git a/pumpkin-world/src/generation/structure/structures/stronghold/library.rs b/crates/pumpkin-world/src/generation/structure/structures/stronghold/library.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/stronghold/library.rs rename to crates/pumpkin-world/src/generation/structure/structures/stronghold/library.rs diff --git a/pumpkin-world/src/generation/structure/structures/stronghold/mod.rs b/crates/pumpkin-world/src/generation/structure/structures/stronghold/mod.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/stronghold/mod.rs rename to crates/pumpkin-world/src/generation/structure/structures/stronghold/mod.rs diff --git a/pumpkin-world/src/generation/structure/structures/stronghold/portal_room.rs b/crates/pumpkin-world/src/generation/structure/structures/stronghold/portal_room.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/stronghold/portal_room.rs rename to crates/pumpkin-world/src/generation/structure/structures/stronghold/portal_room.rs diff --git a/pumpkin-world/src/generation/structure/structures/stronghold/prison_hall.rs b/crates/pumpkin-world/src/generation/structure/structures/stronghold/prison_hall.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/stronghold/prison_hall.rs rename to crates/pumpkin-world/src/generation/structure/structures/stronghold/prison_hall.rs diff --git a/pumpkin-world/src/generation/structure/structures/stronghold/right_turn.rs b/crates/pumpkin-world/src/generation/structure/structures/stronghold/right_turn.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/stronghold/right_turn.rs rename to crates/pumpkin-world/src/generation/structure/structures/stronghold/right_turn.rs diff --git a/pumpkin-world/src/generation/structure/structures/stronghold/spiral_staircase.rs b/crates/pumpkin-world/src/generation/structure/structures/stronghold/spiral_staircase.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/stronghold/spiral_staircase.rs rename to crates/pumpkin-world/src/generation/structure/structures/stronghold/spiral_staircase.rs diff --git a/pumpkin-world/src/generation/structure/structures/stronghold/square_room.rs b/crates/pumpkin-world/src/generation/structure/structures/stronghold/square_room.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/stronghold/square_room.rs rename to crates/pumpkin-world/src/generation/structure/structures/stronghold/square_room.rs diff --git a/pumpkin-world/src/generation/structure/structures/stronghold/stairs.rs b/crates/pumpkin-world/src/generation/structure/structures/stronghold/stairs.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/stronghold/stairs.rs rename to crates/pumpkin-world/src/generation/structure/structures/stronghold/stairs.rs diff --git a/pumpkin-world/src/generation/structure/structures/swamp_hut.rs b/crates/pumpkin-world/src/generation/structure/structures/swamp_hut.rs similarity index 100% rename from pumpkin-world/src/generation/structure/structures/swamp_hut.rs rename to crates/pumpkin-world/src/generation/structure/structures/swamp_hut.rs diff --git a/pumpkin-world/src/generation/structure/template/block_state_resolver.rs b/crates/pumpkin-world/src/generation/structure/template/block_state_resolver.rs similarity index 100% rename from pumpkin-world/src/generation/structure/template/block_state_resolver.rs rename to crates/pumpkin-world/src/generation/structure/template/block_state_resolver.rs diff --git a/pumpkin-world/src/generation/structure/template/cache.rs b/crates/pumpkin-world/src/generation/structure/template/cache.rs similarity index 100% rename from pumpkin-world/src/generation/structure/template/cache.rs rename to crates/pumpkin-world/src/generation/structure/template/cache.rs diff --git a/pumpkin-world/src/generation/structure/template/mod.rs b/crates/pumpkin-world/src/generation/structure/template/mod.rs similarity index 100% rename from pumpkin-world/src/generation/structure/template/mod.rs rename to crates/pumpkin-world/src/generation/structure/template/mod.rs diff --git a/pumpkin-world/src/generation/structure/template/processor.rs b/crates/pumpkin-world/src/generation/structure/template/processor.rs similarity index 100% rename from pumpkin-world/src/generation/structure/template/processor.rs rename to crates/pumpkin-world/src/generation/structure/template/processor.rs diff --git a/pumpkin-world/src/generation/structure/template/structure_template.rs b/crates/pumpkin-world/src/generation/structure/template/structure_template.rs similarity index 100% rename from pumpkin-world/src/generation/structure/template/structure_template.rs rename to crates/pumpkin-world/src/generation/structure/template/structure_template.rs diff --git a/pumpkin-world/src/generation/structure/template/template_piece.rs b/crates/pumpkin-world/src/generation/structure/template/template_piece.rs similarity index 100% rename from pumpkin-world/src/generation/structure/template/template_piece.rs rename to crates/pumpkin-world/src/generation/structure/template/template_piece.rs diff --git a/pumpkin-world/src/generation/surface/mod.rs b/crates/pumpkin-world/src/generation/surface/mod.rs similarity index 100% rename from pumpkin-world/src/generation/surface/mod.rs rename to crates/pumpkin-world/src/generation/surface/mod.rs diff --git a/pumpkin-world/src/generation/surface/rule.rs b/crates/pumpkin-world/src/generation/surface/rule.rs similarity index 100% rename from pumpkin-world/src/generation/surface/rule.rs rename to crates/pumpkin-world/src/generation/surface/rule.rs diff --git a/pumpkin-world/src/generation/surface/terrain.rs b/crates/pumpkin-world/src/generation/surface/terrain.rs similarity index 100% rename from pumpkin-world/src/generation/surface/terrain.rs rename to crates/pumpkin-world/src/generation/surface/terrain.rs diff --git a/pumpkin-world/src/inventory/inventory.rs b/crates/pumpkin-world/src/inventory/inventory.rs similarity index 100% rename from pumpkin-world/src/inventory/inventory.rs rename to crates/pumpkin-world/src/inventory/inventory.rs diff --git a/pumpkin-world/src/inventory/mod.rs b/crates/pumpkin-world/src/inventory/mod.rs similarity index 100% rename from pumpkin-world/src/inventory/mod.rs rename to crates/pumpkin-world/src/inventory/mod.rs diff --git a/pumpkin-world/src/inventory/simple_inventory.rs b/crates/pumpkin-world/src/inventory/simple_inventory.rs similarity index 100% rename from pumpkin-world/src/inventory/simple_inventory.rs rename to crates/pumpkin-world/src/inventory/simple_inventory.rs diff --git a/pumpkin-world/src/level.rs b/crates/pumpkin-world/src/level.rs similarity index 99% rename from pumpkin-world/src/level.rs rename to crates/pumpkin-world/src/level.rs index 5eb7b2539..62ede63a6 100644 --- a/pumpkin-world/src/level.rs +++ b/crates/pumpkin-world/src/level.rs @@ -903,6 +903,7 @@ impl Level { delay, position: block_pos, priority, + // SAFETY: `block` is a valid reference that outlives this function call for scheduling. value: unsafe { &*std::ptr::from_ref::(block) }, }; @@ -929,6 +930,7 @@ impl Level { delay, position: block_pos, priority, + // SAFETY: `fluid` is a valid reference that outlives this function call for scheduling. value: unsafe { &*std::ptr::from_ref::(fluid) }, }; diff --git a/pumpkin-world/src/lib.rs b/crates/pumpkin-world/src/lib.rs similarity index 100% rename from pumpkin-world/src/lib.rs rename to crates/pumpkin-world/src/lib.rs diff --git a/pumpkin-world/src/lighting/engine.rs b/crates/pumpkin-world/src/lighting/engine.rs similarity index 100% rename from pumpkin-world/src/lighting/engine.rs rename to crates/pumpkin-world/src/lighting/engine.rs diff --git a/pumpkin-world/src/lighting/mod.rs b/crates/pumpkin-world/src/lighting/mod.rs similarity index 100% rename from pumpkin-world/src/lighting/mod.rs rename to crates/pumpkin-world/src/lighting/mod.rs diff --git a/pumpkin-world/src/lighting/runtime.rs b/crates/pumpkin-world/src/lighting/runtime.rs similarity index 92% rename from pumpkin-world/src/lighting/runtime.rs rename to crates/pumpkin-world/src/lighting/runtime.rs index 9e0b4d0dc..f9bfa6406 100644 --- a/pumpkin-world/src/lighting/runtime.rs +++ b/crates/pumpkin-world/src/lighting/runtime.rs @@ -477,15 +477,19 @@ impl DynamicLightEngine { level .read_chunk_sync(&chunk_pos, |chunk| { let section_idx = (relative.y - chunk.section.min_y) as usize / 16; - let light_engine = chunk.light_engine.lock().ok()?; - - let light_level = light_engine.block_light.get(section_idx)?.get( - relative.x as usize, - (relative.y - chunk.section.min_y) as usize % 16, - relative.z as usize, - ); - - Some(light_level) + chunk + .light_engine + .lock() + .ok()? + .block_light + .get(section_idx) + .map(|section| { + section.get( + relative.x as usize, + (relative.y - chunk.section.min_y) as usize % 16, + relative.z as usize, + ) + }) }) .flatten() } @@ -499,21 +503,22 @@ impl DynamicLightEngine { let (chunk_coordinate, relative) = position.chunk_and_chunk_relative_position(); level.read_chunk_sync(&chunk_coordinate, |chunk| { let section_index = (relative.y - chunk.section.min_y) as usize / BlockPalette::SIZE; - // Bounds check for section index - let mut light_engine = chunk - .light_engine - .lock() - .unwrap_or_else(std::sync::PoisonError::into_inner); - if section_index >= light_engine.block_light.len() { - return Err("Invalid section index".to_string()); - } - let relative_y = (relative.y - chunk.section.min_y) as usize % BlockPalette::SIZE; - light_engine.block_light[section_index].set( - relative.x as usize, - relative_y, - relative.z as usize, - light_level, - ); + { + let mut light_engine = chunk + .light_engine + .lock() + .unwrap_or_else(std::sync::PoisonError::into_inner); + if section_index >= light_engine.block_light.len() { + return Err("Invalid section index".to_string()); + } + let relative_y = (relative.y - chunk.section.min_y) as usize % BlockPalette::SIZE; + light_engine.block_light[section_index].set( + relative.x as usize, + relative_y, + relative.z as usize, + light_level, + ); + }; // Mark chunk as dirty so lighting changes are saved to disk if !chunk.is_dirty() { chunk.mark_dirty(true); @@ -557,21 +562,22 @@ impl DynamicLightEngine { let (chunk_coordinate, relative) = position.chunk_and_chunk_relative_position(); level.read_chunk_sync(&chunk_coordinate, |chunk| { let section_index = (relative.y - chunk.section.min_y) as usize / BlockPalette::SIZE; - // Bounds check for section index - let mut light_engine = chunk - .light_engine - .lock() - .unwrap_or_else(std::sync::PoisonError::into_inner); - if section_index >= light_engine.sky_light.len() { - return Err("Invalid section index".to_string()); - } - let relative_y = (relative.y - chunk.section.min_y) as usize % BlockPalette::SIZE; - light_engine.sky_light[section_index].set( - relative.x as usize, - relative_y, - relative.z as usize, - light_level, - ); + { + let mut light_engine = chunk + .light_engine + .lock() + .unwrap_or_else(std::sync::PoisonError::into_inner); + if section_index >= light_engine.sky_light.len() { + return Err("Invalid section index".to_string()); + } + let relative_y = (relative.y - chunk.section.min_y) as usize % BlockPalette::SIZE; + light_engine.sky_light[section_index].set( + relative.x as usize, + relative_y, + relative.z as usize, + light_level, + ); + }; // Mark chunk as dirty so lighting changes are saved to disk if !chunk.is_dirty() { chunk.mark_dirty(true); diff --git a/pumpkin-world/src/lighting/storage.rs b/crates/pumpkin-world/src/lighting/storage.rs similarity index 80% rename from pumpkin-world/src/lighting/storage.rs rename to crates/pumpkin-world/src/lighting/storage.rs index f06834cb9..358233e78 100644 --- a/pumpkin-world/src/lighting/storage.rs +++ b/crates/pumpkin-world/src/lighting/storage.rs @@ -72,12 +72,19 @@ pub fn set_block_light(cache: &mut Cache, pos: BlockPos, level: u8) { match &mut cache.chunks[idx] { Chunk::Level(c) => { - let mut light_engine = c - .light_engine - .lock() - .unwrap_or_else(std::sync::PoisonError::into_inner); - if section_y < light_engine.block_light.len() { - light_engine.block_light[section_y].set(x, y, z, level); + let marked_dirty = { + let mut light_engine = c + .light_engine + .lock() + .unwrap_or_else(std::sync::PoisonError::into_inner); + if section_y < light_engine.block_light.len() { + light_engine.block_light[section_y].set(x, y, z, level); + true + } else { + false + } + }; + if marked_dirty { c.dirty.store(true, std::sync::atomic::Ordering::Relaxed); } } @@ -140,12 +147,19 @@ pub fn set_sky_light(cache: &mut Cache, pos: BlockPos, level: u8) { match &mut cache.chunks[idx] { Chunk::Level(c) => { - let mut light_engine = c - .light_engine - .lock() - .unwrap_or_else(std::sync::PoisonError::into_inner); - if section_y < light_engine.sky_light.len() { - light_engine.sky_light[section_y].set(x, y, z, level); + let marked_dirty = { + let mut light_engine = c + .light_engine + .lock() + .unwrap_or_else(std::sync::PoisonError::into_inner); + if section_y < light_engine.sky_light.len() { + light_engine.sky_light[section_y].set(x, y, z, level); + true + } else { + false + } + }; + if marked_dirty { c.dirty.store(true, std::sync::atomic::Ordering::Relaxed); } } diff --git a/pumpkin-world/src/poi/mod.rs b/crates/pumpkin-world/src/poi/mod.rs similarity index 100% rename from pumpkin-world/src/poi/mod.rs rename to crates/pumpkin-world/src/poi/mod.rs diff --git a/pumpkin-world/src/tick/mod.rs b/crates/pumpkin-world/src/tick/mod.rs similarity index 100% rename from pumpkin-world/src/tick/mod.rs rename to crates/pumpkin-world/src/tick/mod.rs diff --git a/pumpkin-world/src/tick/scheduler.rs b/crates/pumpkin-world/src/tick/scheduler.rs similarity index 98% rename from pumpkin-world/src/tick/scheduler.rs rename to crates/pumpkin-world/src/tick/scheduler.rs index 69c85ae48..30e17470d 100644 --- a/pumpkin-world/src/tick/scheduler.rs +++ b/crates/pumpkin-world/src/tick/scheduler.rs @@ -49,6 +49,7 @@ impl<'a, T: std::hash::Hash + Eq> ChunkTickScheduler<&'a T> { } pub fn schedule_tick(&self, tick: &ScheduledTick<&'a T>, sub_tick_order: u64) { + let offset = self.offset.load(Ordering::SeqCst); let mut inner_guard = self .inner .lock() @@ -61,7 +62,6 @@ impl<'a, T: std::hash::Hash + Eq> ChunkTickScheduler<&'a T> { }); if inner.queued_ticks.insert((tick.position, tick.value)) { - let offset = self.offset.load(Ordering::SeqCst); let index = (offset + tick.delay as usize) % MAX_TICK_DELAY; inner.tick_queue[index].push(OrderedTick { diff --git a/pumpkin-world/src/world.rs b/crates/pumpkin-world/src/world.rs similarity index 100% rename from pumpkin-world/src/world.rs rename to crates/pumpkin-world/src/world.rs diff --git a/pumpkin-world/src/world_info/anvil.rs b/crates/pumpkin-world/src/world_info/anvil.rs similarity index 100% rename from pumpkin-world/src/world_info/anvil.rs rename to crates/pumpkin-world/src/world_info/anvil.rs diff --git a/pumpkin-world/src/world_info/data_files.rs b/crates/pumpkin-world/src/world_info/data_files.rs similarity index 100% rename from pumpkin-world/src/world_info/data_files.rs rename to crates/pumpkin-world/src/world_info/data_files.rs diff --git a/pumpkin-world/src/world_info/mod.rs b/crates/pumpkin-world/src/world_info/mod.rs similarity index 100% rename from pumpkin-world/src/world_info/mod.rs rename to crates/pumpkin-world/src/world_info/mod.rs diff --git a/pumpkin/Cargo.toml b/crates/pumpkin/Cargo.toml similarity index 100% rename from pumpkin/Cargo.toml rename to crates/pumpkin/Cargo.toml diff --git a/pumpkin/build.rs b/crates/pumpkin/build.rs similarity index 100% rename from pumpkin/build.rs rename to crates/pumpkin/build.rs diff --git a/pumpkin/src/block/blocks/abstract_wall_mounting.rs b/crates/pumpkin/src/block/blocks/abstract_wall_mounting.rs similarity index 100% rename from pumpkin/src/block/blocks/abstract_wall_mounting.rs rename to crates/pumpkin/src/block/blocks/abstract_wall_mounting.rs diff --git a/pumpkin/src/block/blocks/amethyst.rs b/crates/pumpkin/src/block/blocks/amethyst.rs similarity index 100% rename from pumpkin/src/block/blocks/amethyst.rs rename to crates/pumpkin/src/block/blocks/amethyst.rs diff --git a/pumpkin/src/block/blocks/anvil.rs b/crates/pumpkin/src/block/blocks/anvil.rs similarity index 100% rename from pumpkin/src/block/blocks/anvil.rs rename to crates/pumpkin/src/block/blocks/anvil.rs diff --git a/pumpkin/src/block/blocks/banners.rs b/crates/pumpkin/src/block/blocks/banners.rs similarity index 100% rename from pumpkin/src/block/blocks/banners.rs rename to crates/pumpkin/src/block/blocks/banners.rs diff --git a/pumpkin/src/block/blocks/barrel.rs b/crates/pumpkin/src/block/blocks/barrel.rs similarity index 100% rename from pumpkin/src/block/blocks/barrel.rs rename to crates/pumpkin/src/block/blocks/barrel.rs diff --git a/pumpkin/src/block/blocks/barrier.rs b/crates/pumpkin/src/block/blocks/barrier.rs similarity index 100% rename from pumpkin/src/block/blocks/barrier.rs rename to crates/pumpkin/src/block/blocks/barrier.rs diff --git a/pumpkin/src/block/blocks/beacon.rs b/crates/pumpkin/src/block/blocks/beacon.rs similarity index 100% rename from pumpkin/src/block/blocks/beacon.rs rename to crates/pumpkin/src/block/blocks/beacon.rs diff --git a/pumpkin/src/block/blocks/bed.rs b/crates/pumpkin/src/block/blocks/bed.rs similarity index 100% rename from pumpkin/src/block/blocks/bed.rs rename to crates/pumpkin/src/block/blocks/bed.rs diff --git a/pumpkin/src/block/blocks/beehive.rs b/crates/pumpkin/src/block/blocks/beehive.rs similarity index 100% rename from pumpkin/src/block/blocks/beehive.rs rename to crates/pumpkin/src/block/blocks/beehive.rs diff --git a/pumpkin/src/block/blocks/blast_furnace.rs b/crates/pumpkin/src/block/blocks/blast_furnace.rs similarity index 100% rename from pumpkin/src/block/blocks/blast_furnace.rs rename to crates/pumpkin/src/block/blocks/blast_furnace.rs diff --git a/pumpkin/src/block/blocks/brewing_stand.rs b/crates/pumpkin/src/block/blocks/brewing_stand.rs similarity index 100% rename from pumpkin/src/block/blocks/brewing_stand.rs rename to crates/pumpkin/src/block/blocks/brewing_stand.rs diff --git a/pumpkin/src/block/blocks/bubble_column.rs b/crates/pumpkin/src/block/blocks/bubble_column.rs similarity index 100% rename from pumpkin/src/block/blocks/bubble_column.rs rename to crates/pumpkin/src/block/blocks/bubble_column.rs diff --git a/pumpkin/src/block/blocks/cake.rs b/crates/pumpkin/src/block/blocks/cake.rs similarity index 100% rename from pumpkin/src/block/blocks/cake.rs rename to crates/pumpkin/src/block/blocks/cake.rs diff --git a/pumpkin/src/block/blocks/campfire.rs b/crates/pumpkin/src/block/blocks/campfire.rs similarity index 100% rename from pumpkin/src/block/blocks/campfire.rs rename to crates/pumpkin/src/block/blocks/campfire.rs diff --git a/pumpkin/src/block/blocks/candle_cakes.rs b/crates/pumpkin/src/block/blocks/candle_cakes.rs similarity index 100% rename from pumpkin/src/block/blocks/candle_cakes.rs rename to crates/pumpkin/src/block/blocks/candle_cakes.rs diff --git a/pumpkin/src/block/blocks/candles.rs b/crates/pumpkin/src/block/blocks/candles.rs similarity index 100% rename from pumpkin/src/block/blocks/candles.rs rename to crates/pumpkin/src/block/blocks/candles.rs diff --git a/pumpkin/src/block/blocks/carpet.rs b/crates/pumpkin/src/block/blocks/carpet.rs similarity index 100% rename from pumpkin/src/block/blocks/carpet.rs rename to crates/pumpkin/src/block/blocks/carpet.rs diff --git a/pumpkin/src/block/blocks/carved_pumpkin.rs b/crates/pumpkin/src/block/blocks/carved_pumpkin.rs similarity index 100% rename from pumpkin/src/block/blocks/carved_pumpkin.rs rename to crates/pumpkin/src/block/blocks/carved_pumpkin.rs diff --git a/pumpkin/src/block/blocks/cauldron.rs b/crates/pumpkin/src/block/blocks/cauldron.rs similarity index 100% rename from pumpkin/src/block/blocks/cauldron.rs rename to crates/pumpkin/src/block/blocks/cauldron.rs diff --git a/pumpkin/src/block/blocks/chain.rs b/crates/pumpkin/src/block/blocks/chain.rs similarity index 100% rename from pumpkin/src/block/blocks/chain.rs rename to crates/pumpkin/src/block/blocks/chain.rs diff --git a/pumpkin/src/block/blocks/chests.rs b/crates/pumpkin/src/block/blocks/chests.rs similarity index 100% rename from pumpkin/src/block/blocks/chests.rs rename to crates/pumpkin/src/block/blocks/chests.rs diff --git a/pumpkin/src/block/blocks/chiseled_bookshelf.rs b/crates/pumpkin/src/block/blocks/chiseled_bookshelf.rs similarity index 100% rename from pumpkin/src/block/blocks/chiseled_bookshelf.rs rename to crates/pumpkin/src/block/blocks/chiseled_bookshelf.rs diff --git a/pumpkin/src/block/blocks/cobweb.rs b/crates/pumpkin/src/block/blocks/cobweb.rs similarity index 100% rename from pumpkin/src/block/blocks/cobweb.rs rename to crates/pumpkin/src/block/blocks/cobweb.rs diff --git a/pumpkin/src/block/blocks/command.rs b/crates/pumpkin/src/block/blocks/command.rs similarity index 100% rename from pumpkin/src/block/blocks/command.rs rename to crates/pumpkin/src/block/blocks/command.rs diff --git a/pumpkin/src/block/blocks/composter.rs b/crates/pumpkin/src/block/blocks/composter.rs similarity index 100% rename from pumpkin/src/block/blocks/composter.rs rename to crates/pumpkin/src/block/blocks/composter.rs diff --git a/pumpkin/src/block/blocks/conduit.rs b/crates/pumpkin/src/block/blocks/conduit.rs similarity index 100% rename from pumpkin/src/block/blocks/conduit.rs rename to crates/pumpkin/src/block/blocks/conduit.rs diff --git a/pumpkin/src/block/blocks/coral/coral_block.rs b/crates/pumpkin/src/block/blocks/coral/coral_block.rs similarity index 100% rename from pumpkin/src/block/blocks/coral/coral_block.rs rename to crates/pumpkin/src/block/blocks/coral/coral_block.rs diff --git a/pumpkin/src/block/blocks/coral/coral_fan.rs b/crates/pumpkin/src/block/blocks/coral/coral_fan.rs similarity index 100% rename from pumpkin/src/block/blocks/coral/coral_fan.rs rename to crates/pumpkin/src/block/blocks/coral/coral_fan.rs diff --git a/pumpkin/src/block/blocks/coral/coral_plant.rs b/crates/pumpkin/src/block/blocks/coral/coral_plant.rs similarity index 100% rename from pumpkin/src/block/blocks/coral/coral_plant.rs rename to crates/pumpkin/src/block/blocks/coral/coral_plant.rs diff --git a/pumpkin/src/block/blocks/coral/mod.rs b/crates/pumpkin/src/block/blocks/coral/mod.rs similarity index 100% rename from pumpkin/src/block/blocks/coral/mod.rs rename to crates/pumpkin/src/block/blocks/coral/mod.rs diff --git a/pumpkin/src/block/blocks/crafting_table.rs b/crates/pumpkin/src/block/blocks/crafting_table.rs similarity index 100% rename from pumpkin/src/block/blocks/crafting_table.rs rename to crates/pumpkin/src/block/blocks/crafting_table.rs diff --git a/pumpkin/src/block/blocks/dirt_path.rs b/crates/pumpkin/src/block/blocks/dirt_path.rs similarity index 100% rename from pumpkin/src/block/blocks/dirt_path.rs rename to crates/pumpkin/src/block/blocks/dirt_path.rs diff --git a/pumpkin/src/block/blocks/doors.rs b/crates/pumpkin/src/block/blocks/doors.rs similarity index 100% rename from pumpkin/src/block/blocks/doors.rs rename to crates/pumpkin/src/block/blocks/doors.rs diff --git a/pumpkin/src/block/blocks/dragon_egg.rs b/crates/pumpkin/src/block/blocks/dragon_egg.rs similarity index 100% rename from pumpkin/src/block/blocks/dragon_egg.rs rename to crates/pumpkin/src/block/blocks/dragon_egg.rs diff --git a/pumpkin/src/block/blocks/dripstone.rs b/crates/pumpkin/src/block/blocks/dripstone.rs similarity index 100% rename from pumpkin/src/block/blocks/dripstone.rs rename to crates/pumpkin/src/block/blocks/dripstone.rs diff --git a/pumpkin/src/block/blocks/enchanting_table.rs b/crates/pumpkin/src/block/blocks/enchanting_table.rs similarity index 100% rename from pumpkin/src/block/blocks/enchanting_table.rs rename to crates/pumpkin/src/block/blocks/enchanting_table.rs diff --git a/pumpkin/src/block/blocks/end_portal.rs b/crates/pumpkin/src/block/blocks/end_portal.rs similarity index 100% rename from pumpkin/src/block/blocks/end_portal.rs rename to crates/pumpkin/src/block/blocks/end_portal.rs diff --git a/pumpkin/src/block/blocks/end_portal_frame.rs b/crates/pumpkin/src/block/blocks/end_portal_frame.rs similarity index 100% rename from pumpkin/src/block/blocks/end_portal_frame.rs rename to crates/pumpkin/src/block/blocks/end_portal_frame.rs diff --git a/pumpkin/src/block/blocks/end_rod.rs b/crates/pumpkin/src/block/blocks/end_rod.rs similarity index 100% rename from pumpkin/src/block/blocks/end_rod.rs rename to crates/pumpkin/src/block/blocks/end_rod.rs diff --git a/pumpkin/src/block/blocks/ender_chest.rs b/crates/pumpkin/src/block/blocks/ender_chest.rs similarity index 100% rename from pumpkin/src/block/blocks/ender_chest.rs rename to crates/pumpkin/src/block/blocks/ender_chest.rs diff --git a/pumpkin/src/block/blocks/falling.rs b/crates/pumpkin/src/block/blocks/falling.rs similarity index 100% rename from pumpkin/src/block/blocks/falling.rs rename to crates/pumpkin/src/block/blocks/falling.rs diff --git a/pumpkin/src/block/blocks/farmland.rs b/crates/pumpkin/src/block/blocks/farmland.rs similarity index 100% rename from pumpkin/src/block/blocks/farmland.rs rename to crates/pumpkin/src/block/blocks/farmland.rs diff --git a/pumpkin/src/block/blocks/fence_gates.rs b/crates/pumpkin/src/block/blocks/fence_gates.rs similarity index 100% rename from pumpkin/src/block/blocks/fence_gates.rs rename to crates/pumpkin/src/block/blocks/fence_gates.rs diff --git a/pumpkin/src/block/blocks/fences.rs b/crates/pumpkin/src/block/blocks/fences.rs similarity index 100% rename from pumpkin/src/block/blocks/fences.rs rename to crates/pumpkin/src/block/blocks/fences.rs diff --git a/pumpkin/src/block/blocks/fire/fire.rs b/crates/pumpkin/src/block/blocks/fire/fire.rs similarity index 100% rename from pumpkin/src/block/blocks/fire/fire.rs rename to crates/pumpkin/src/block/blocks/fire/fire.rs diff --git a/pumpkin/src/block/blocks/fire/mod.rs b/crates/pumpkin/src/block/blocks/fire/mod.rs similarity index 100% rename from pumpkin/src/block/blocks/fire/mod.rs rename to crates/pumpkin/src/block/blocks/fire/mod.rs diff --git a/pumpkin/src/block/blocks/fire/soul_fire.rs b/crates/pumpkin/src/block/blocks/fire/soul_fire.rs similarity index 100% rename from pumpkin/src/block/blocks/fire/soul_fire.rs rename to crates/pumpkin/src/block/blocks/fire/soul_fire.rs diff --git a/pumpkin/src/block/blocks/flower_pots.rs b/crates/pumpkin/src/block/blocks/flower_pots.rs similarity index 100% rename from pumpkin/src/block/blocks/flower_pots.rs rename to crates/pumpkin/src/block/blocks/flower_pots.rs diff --git a/pumpkin/src/block/blocks/furnace.rs b/crates/pumpkin/src/block/blocks/furnace.rs similarity index 100% rename from pumpkin/src/block/blocks/furnace.rs rename to crates/pumpkin/src/block/blocks/furnace.rs diff --git a/pumpkin/src/block/blocks/glass_panes.rs b/crates/pumpkin/src/block/blocks/glass_panes.rs similarity index 100% rename from pumpkin/src/block/blocks/glass_panes.rs rename to crates/pumpkin/src/block/blocks/glass_panes.rs diff --git a/pumpkin/src/block/blocks/glazed_terracotta.rs b/crates/pumpkin/src/block/blocks/glazed_terracotta.rs similarity index 100% rename from pumpkin/src/block/blocks/glazed_terracotta.rs rename to crates/pumpkin/src/block/blocks/glazed_terracotta.rs diff --git a/pumpkin/src/block/blocks/grass_block.rs b/crates/pumpkin/src/block/blocks/grass_block.rs similarity index 100% rename from pumpkin/src/block/blocks/grass_block.rs rename to crates/pumpkin/src/block/blocks/grass_block.rs diff --git a/pumpkin/src/block/blocks/grindstone.rs b/crates/pumpkin/src/block/blocks/grindstone.rs similarity index 100% rename from pumpkin/src/block/blocks/grindstone.rs rename to crates/pumpkin/src/block/blocks/grindstone.rs diff --git a/pumpkin/src/block/blocks/hay.rs b/crates/pumpkin/src/block/blocks/hay.rs similarity index 100% rename from pumpkin/src/block/blocks/hay.rs rename to crates/pumpkin/src/block/blocks/hay.rs diff --git a/pumpkin/src/block/blocks/hopper.rs b/crates/pumpkin/src/block/blocks/hopper.rs similarity index 100% rename from pumpkin/src/block/blocks/hopper.rs rename to crates/pumpkin/src/block/blocks/hopper.rs diff --git a/pumpkin/src/block/blocks/infested.rs b/crates/pumpkin/src/block/blocks/infested.rs similarity index 100% rename from pumpkin/src/block/blocks/infested.rs rename to crates/pumpkin/src/block/blocks/infested.rs diff --git a/pumpkin/src/block/blocks/iron_bars.rs b/crates/pumpkin/src/block/blocks/iron_bars.rs similarity index 100% rename from pumpkin/src/block/blocks/iron_bars.rs rename to crates/pumpkin/src/block/blocks/iron_bars.rs diff --git a/pumpkin/src/block/blocks/jigsaw.rs b/crates/pumpkin/src/block/blocks/jigsaw.rs similarity index 100% rename from pumpkin/src/block/blocks/jigsaw.rs rename to crates/pumpkin/src/block/blocks/jigsaw.rs diff --git a/pumpkin/src/block/blocks/jukebox.rs b/crates/pumpkin/src/block/blocks/jukebox.rs similarity index 100% rename from pumpkin/src/block/blocks/jukebox.rs rename to crates/pumpkin/src/block/blocks/jukebox.rs diff --git a/pumpkin/src/block/blocks/ladder.rs b/crates/pumpkin/src/block/blocks/ladder.rs similarity index 100% rename from pumpkin/src/block/blocks/ladder.rs rename to crates/pumpkin/src/block/blocks/ladder.rs diff --git a/pumpkin/src/block/blocks/lanterns.rs b/crates/pumpkin/src/block/blocks/lanterns.rs similarity index 100% rename from pumpkin/src/block/blocks/lanterns.rs rename to crates/pumpkin/src/block/blocks/lanterns.rs diff --git a/pumpkin/src/block/blocks/lectern.rs b/crates/pumpkin/src/block/blocks/lectern.rs similarity index 100% rename from pumpkin/src/block/blocks/lectern.rs rename to crates/pumpkin/src/block/blocks/lectern.rs diff --git a/pumpkin/src/block/blocks/logs.rs b/crates/pumpkin/src/block/blocks/logs.rs similarity index 100% rename from pumpkin/src/block/blocks/logs.rs rename to crates/pumpkin/src/block/blocks/logs.rs diff --git a/pumpkin/src/block/blocks/magma.rs b/crates/pumpkin/src/block/blocks/magma.rs similarity index 100% rename from pumpkin/src/block/blocks/magma.rs rename to crates/pumpkin/src/block/blocks/magma.rs diff --git a/pumpkin/src/block/blocks/mangrove_roots.rs b/crates/pumpkin/src/block/blocks/mangrove_roots.rs similarity index 100% rename from pumpkin/src/block/blocks/mangrove_roots.rs rename to crates/pumpkin/src/block/blocks/mangrove_roots.rs diff --git a/pumpkin/src/block/blocks/mod.rs b/crates/pumpkin/src/block/blocks/mod.rs similarity index 100% rename from pumpkin/src/block/blocks/mod.rs rename to crates/pumpkin/src/block/blocks/mod.rs diff --git a/pumpkin/src/block/blocks/nether_portal.rs b/crates/pumpkin/src/block/blocks/nether_portal.rs similarity index 100% rename from pumpkin/src/block/blocks/nether_portal.rs rename to crates/pumpkin/src/block/blocks/nether_portal.rs diff --git a/pumpkin/src/block/blocks/note.rs b/crates/pumpkin/src/block/blocks/note.rs similarity index 100% rename from pumpkin/src/block/blocks/note.rs rename to crates/pumpkin/src/block/blocks/note.rs diff --git a/pumpkin/src/block/blocks/piston/mod.rs b/crates/pumpkin/src/block/blocks/piston/mod.rs similarity index 100% rename from pumpkin/src/block/blocks/piston/mod.rs rename to crates/pumpkin/src/block/blocks/piston/mod.rs diff --git a/pumpkin/src/block/blocks/piston/piston.rs b/crates/pumpkin/src/block/blocks/piston/piston.rs similarity index 100% rename from pumpkin/src/block/blocks/piston/piston.rs rename to crates/pumpkin/src/block/blocks/piston/piston.rs diff --git a/pumpkin/src/block/blocks/piston/piston_extension.rs b/crates/pumpkin/src/block/blocks/piston/piston_extension.rs similarity index 100% rename from pumpkin/src/block/blocks/piston/piston_extension.rs rename to crates/pumpkin/src/block/blocks/piston/piston_extension.rs diff --git a/pumpkin/src/block/blocks/piston/piston_head.rs b/crates/pumpkin/src/block/blocks/piston/piston_head.rs similarity index 100% rename from pumpkin/src/block/blocks/piston/piston_head.rs rename to crates/pumpkin/src/block/blocks/piston/piston_head.rs diff --git a/pumpkin/src/block/blocks/plant/bamboo.rs b/crates/pumpkin/src/block/blocks/plant/bamboo.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/bamboo.rs rename to crates/pumpkin/src/block/blocks/plant/bamboo.rs diff --git a/pumpkin/src/block/blocks/plant/bamboo_sapling.rs b/crates/pumpkin/src/block/blocks/plant/bamboo_sapling.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/bamboo_sapling.rs rename to crates/pumpkin/src/block/blocks/plant/bamboo_sapling.rs diff --git a/pumpkin/src/block/blocks/plant/big_dripleaf.rs b/crates/pumpkin/src/block/blocks/plant/big_dripleaf.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/big_dripleaf.rs rename to crates/pumpkin/src/block/blocks/plant/big_dripleaf.rs diff --git a/pumpkin/src/block/blocks/plant/big_dripleaf_stem.rs b/crates/pumpkin/src/block/blocks/plant/big_dripleaf_stem.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/big_dripleaf_stem.rs rename to crates/pumpkin/src/block/blocks/plant/big_dripleaf_stem.rs diff --git a/pumpkin/src/block/blocks/plant/bush.rs b/crates/pumpkin/src/block/blocks/plant/bush.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/bush.rs rename to crates/pumpkin/src/block/blocks/plant/bush.rs diff --git a/pumpkin/src/block/blocks/plant/cactus.rs b/crates/pumpkin/src/block/blocks/plant/cactus.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/cactus.rs rename to crates/pumpkin/src/block/blocks/plant/cactus.rs diff --git a/pumpkin/src/block/blocks/plant/cactus_flower.rs b/crates/pumpkin/src/block/blocks/plant/cactus_flower.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/cactus_flower.rs rename to crates/pumpkin/src/block/blocks/plant/cactus_flower.rs diff --git a/pumpkin/src/block/blocks/plant/chorus_flower.rs b/crates/pumpkin/src/block/blocks/plant/chorus_flower.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/chorus_flower.rs rename to crates/pumpkin/src/block/blocks/plant/chorus_flower.rs diff --git a/pumpkin/src/block/blocks/plant/chorus_plant.rs b/crates/pumpkin/src/block/blocks/plant/chorus_plant.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/chorus_plant.rs rename to crates/pumpkin/src/block/blocks/plant/chorus_plant.rs diff --git a/pumpkin/src/block/blocks/plant/crop/beetroot.rs b/crates/pumpkin/src/block/blocks/plant/crop/beetroot.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/crop/beetroot.rs rename to crates/pumpkin/src/block/blocks/plant/crop/beetroot.rs diff --git a/pumpkin/src/block/blocks/plant/crop/carrot.rs b/crates/pumpkin/src/block/blocks/plant/crop/carrot.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/crop/carrot.rs rename to crates/pumpkin/src/block/blocks/plant/crop/carrot.rs diff --git a/pumpkin/src/block/blocks/plant/crop/gourds/attached_stem.rs b/crates/pumpkin/src/block/blocks/plant/crop/gourds/attached_stem.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/crop/gourds/attached_stem.rs rename to crates/pumpkin/src/block/blocks/plant/crop/gourds/attached_stem.rs diff --git a/pumpkin/src/block/blocks/plant/crop/gourds/mod.rs b/crates/pumpkin/src/block/blocks/plant/crop/gourds/mod.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/crop/gourds/mod.rs rename to crates/pumpkin/src/block/blocks/plant/crop/gourds/mod.rs diff --git a/pumpkin/src/block/blocks/plant/crop/gourds/stem.rs b/crates/pumpkin/src/block/blocks/plant/crop/gourds/stem.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/crop/gourds/stem.rs rename to crates/pumpkin/src/block/blocks/plant/crop/gourds/stem.rs diff --git a/pumpkin/src/block/blocks/plant/crop/mod.rs b/crates/pumpkin/src/block/blocks/plant/crop/mod.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/crop/mod.rs rename to crates/pumpkin/src/block/blocks/plant/crop/mod.rs diff --git a/pumpkin/src/block/blocks/plant/crop/nether_wart.rs b/crates/pumpkin/src/block/blocks/plant/crop/nether_wart.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/crop/nether_wart.rs rename to crates/pumpkin/src/block/blocks/plant/crop/nether_wart.rs diff --git a/pumpkin/src/block/blocks/plant/crop/potatoes.rs b/crates/pumpkin/src/block/blocks/plant/crop/potatoes.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/crop/potatoes.rs rename to crates/pumpkin/src/block/blocks/plant/crop/potatoes.rs diff --git a/pumpkin/src/block/blocks/plant/crop/sweet_berry_bush.rs b/crates/pumpkin/src/block/blocks/plant/crop/sweet_berry_bush.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/crop/sweet_berry_bush.rs rename to crates/pumpkin/src/block/blocks/plant/crop/sweet_berry_bush.rs diff --git a/pumpkin/src/block/blocks/plant/crop/torch_flower.rs b/crates/pumpkin/src/block/blocks/plant/crop/torch_flower.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/crop/torch_flower.rs rename to crates/pumpkin/src/block/blocks/plant/crop/torch_flower.rs diff --git a/pumpkin/src/block/blocks/plant/crop/wheat.rs b/crates/pumpkin/src/block/blocks/plant/crop/wheat.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/crop/wheat.rs rename to crates/pumpkin/src/block/blocks/plant/crop/wheat.rs diff --git a/pumpkin/src/block/blocks/plant/dry_vegetation.rs b/crates/pumpkin/src/block/blocks/plant/dry_vegetation.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/dry_vegetation.rs rename to crates/pumpkin/src/block/blocks/plant/dry_vegetation.rs diff --git a/pumpkin/src/block/blocks/plant/flower.rs b/crates/pumpkin/src/block/blocks/plant/flower.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/flower.rs rename to crates/pumpkin/src/block/blocks/plant/flower.rs diff --git a/pumpkin/src/block/blocks/plant/flowerbed.rs b/crates/pumpkin/src/block/blocks/plant/flowerbed.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/flowerbed.rs rename to crates/pumpkin/src/block/blocks/plant/flowerbed.rs diff --git a/pumpkin/src/block/blocks/plant/fungus.rs b/crates/pumpkin/src/block/blocks/plant/fungus.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/fungus.rs rename to crates/pumpkin/src/block/blocks/plant/fungus.rs diff --git a/pumpkin/src/block/blocks/plant/kelp.rs b/crates/pumpkin/src/block/blocks/plant/kelp.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/kelp.rs rename to crates/pumpkin/src/block/blocks/plant/kelp.rs diff --git a/pumpkin/src/block/blocks/plant/leaf_litter.rs b/crates/pumpkin/src/block/blocks/plant/leaf_litter.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/leaf_litter.rs rename to crates/pumpkin/src/block/blocks/plant/leaf_litter.rs diff --git a/pumpkin/src/block/blocks/plant/lily_pad.rs b/crates/pumpkin/src/block/blocks/plant/lily_pad.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/lily_pad.rs rename to crates/pumpkin/src/block/blocks/plant/lily_pad.rs diff --git a/pumpkin/src/block/blocks/plant/mod.rs b/crates/pumpkin/src/block/blocks/plant/mod.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/mod.rs rename to crates/pumpkin/src/block/blocks/plant/mod.rs diff --git a/pumpkin/src/block/blocks/plant/mushroom_plant.rs b/crates/pumpkin/src/block/blocks/plant/mushroom_plant.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/mushroom_plant.rs rename to crates/pumpkin/src/block/blocks/plant/mushroom_plant.rs diff --git a/pumpkin/src/block/blocks/plant/nether_sprouts.rs b/crates/pumpkin/src/block/blocks/plant/nether_sprouts.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/nether_sprouts.rs rename to crates/pumpkin/src/block/blocks/plant/nether_sprouts.rs diff --git a/pumpkin/src/block/blocks/plant/roots.rs b/crates/pumpkin/src/block/blocks/plant/roots.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/roots.rs rename to crates/pumpkin/src/block/blocks/plant/roots.rs diff --git a/pumpkin/src/block/blocks/plant/sapling.rs b/crates/pumpkin/src/block/blocks/plant/sapling.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/sapling.rs rename to crates/pumpkin/src/block/blocks/plant/sapling.rs diff --git a/pumpkin/src/block/blocks/plant/sea_pickles.rs b/crates/pumpkin/src/block/blocks/plant/sea_pickles.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/sea_pickles.rs rename to crates/pumpkin/src/block/blocks/plant/sea_pickles.rs diff --git a/pumpkin/src/block/blocks/plant/seagrass.rs b/crates/pumpkin/src/block/blocks/plant/seagrass.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/seagrass.rs rename to crates/pumpkin/src/block/blocks/plant/seagrass.rs diff --git a/pumpkin/src/block/blocks/plant/segmented.rs b/crates/pumpkin/src/block/blocks/plant/segmented.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/segmented.rs rename to crates/pumpkin/src/block/blocks/plant/segmented.rs diff --git a/pumpkin/src/block/blocks/plant/short_plant.rs b/crates/pumpkin/src/block/blocks/plant/short_plant.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/short_plant.rs rename to crates/pumpkin/src/block/blocks/plant/short_plant.rs diff --git a/pumpkin/src/block/blocks/plant/small_dripleaf.rs b/crates/pumpkin/src/block/blocks/plant/small_dripleaf.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/small_dripleaf.rs rename to crates/pumpkin/src/block/blocks/plant/small_dripleaf.rs diff --git a/pumpkin/src/block/blocks/plant/spore_blossom.rs b/crates/pumpkin/src/block/blocks/plant/spore_blossom.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/spore_blossom.rs rename to crates/pumpkin/src/block/blocks/plant/spore_blossom.rs diff --git a/pumpkin/src/block/blocks/plant/sugar_cane.rs b/crates/pumpkin/src/block/blocks/plant/sugar_cane.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/sugar_cane.rs rename to crates/pumpkin/src/block/blocks/plant/sugar_cane.rs diff --git a/pumpkin/src/block/blocks/plant/tall_plant.rs b/crates/pumpkin/src/block/blocks/plant/tall_plant.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/tall_plant.rs rename to crates/pumpkin/src/block/blocks/plant/tall_plant.rs diff --git a/pumpkin/src/block/blocks/plant/tall_seagrass.rs b/crates/pumpkin/src/block/blocks/plant/tall_seagrass.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/tall_seagrass.rs rename to crates/pumpkin/src/block/blocks/plant/tall_seagrass.rs diff --git a/pumpkin/src/block/blocks/plant/twisting_vines.rs b/crates/pumpkin/src/block/blocks/plant/twisting_vines.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/twisting_vines.rs rename to crates/pumpkin/src/block/blocks/plant/twisting_vines.rs diff --git a/pumpkin/src/block/blocks/plant/weeping_vines.rs b/crates/pumpkin/src/block/blocks/plant/weeping_vines.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/weeping_vines.rs rename to crates/pumpkin/src/block/blocks/plant/weeping_vines.rs diff --git a/pumpkin/src/block/blocks/plant/wither_rose.rs b/crates/pumpkin/src/block/blocks/plant/wither_rose.rs similarity index 100% rename from pumpkin/src/block/blocks/plant/wither_rose.rs rename to crates/pumpkin/src/block/blocks/plant/wither_rose.rs diff --git a/pumpkin/src/block/blocks/powder_snow.rs b/crates/pumpkin/src/block/blocks/powder_snow.rs similarity index 100% rename from pumpkin/src/block/blocks/powder_snow.rs rename to crates/pumpkin/src/block/blocks/powder_snow.rs diff --git a/pumpkin/src/block/blocks/pumpkin.rs b/crates/pumpkin/src/block/blocks/pumpkin.rs similarity index 100% rename from pumpkin/src/block/blocks/pumpkin.rs rename to crates/pumpkin/src/block/blocks/pumpkin.rs diff --git a/pumpkin/src/block/blocks/redstone/abstract_redstone_gate.rs b/crates/pumpkin/src/block/blocks/redstone/abstract_redstone_gate.rs similarity index 100% rename from pumpkin/src/block/blocks/redstone/abstract_redstone_gate.rs rename to crates/pumpkin/src/block/blocks/redstone/abstract_redstone_gate.rs diff --git a/pumpkin/src/block/blocks/redstone/bell.rs b/crates/pumpkin/src/block/blocks/redstone/bell.rs similarity index 100% rename from pumpkin/src/block/blocks/redstone/bell.rs rename to crates/pumpkin/src/block/blocks/redstone/bell.rs diff --git a/pumpkin/src/block/blocks/redstone/buttons.rs b/crates/pumpkin/src/block/blocks/redstone/buttons.rs similarity index 100% rename from pumpkin/src/block/blocks/redstone/buttons.rs rename to crates/pumpkin/src/block/blocks/redstone/buttons.rs diff --git a/pumpkin/src/block/blocks/redstone/comparator.rs b/crates/pumpkin/src/block/blocks/redstone/comparator.rs similarity index 100% rename from pumpkin/src/block/blocks/redstone/comparator.rs rename to crates/pumpkin/src/block/blocks/redstone/comparator.rs diff --git a/pumpkin/src/block/blocks/redstone/copper_bulb.rs b/crates/pumpkin/src/block/blocks/redstone/copper_bulb.rs similarity index 100% rename from pumpkin/src/block/blocks/redstone/copper_bulb.rs rename to crates/pumpkin/src/block/blocks/redstone/copper_bulb.rs diff --git a/pumpkin/src/block/blocks/redstone/crafter.rs b/crates/pumpkin/src/block/blocks/redstone/crafter.rs similarity index 100% rename from pumpkin/src/block/blocks/redstone/crafter.rs rename to crates/pumpkin/src/block/blocks/redstone/crafter.rs diff --git a/pumpkin/src/block/blocks/redstone/daylight_detector.rs b/crates/pumpkin/src/block/blocks/redstone/daylight_detector.rs similarity index 100% rename from pumpkin/src/block/blocks/redstone/daylight_detector.rs rename to crates/pumpkin/src/block/blocks/redstone/daylight_detector.rs diff --git a/pumpkin/src/block/blocks/redstone/dispenser.rs b/crates/pumpkin/src/block/blocks/redstone/dispenser.rs similarity index 100% rename from pumpkin/src/block/blocks/redstone/dispenser.rs rename to crates/pumpkin/src/block/blocks/redstone/dispenser.rs diff --git a/pumpkin/src/block/blocks/redstone/dropper.rs b/crates/pumpkin/src/block/blocks/redstone/dropper.rs similarity index 100% rename from pumpkin/src/block/blocks/redstone/dropper.rs rename to crates/pumpkin/src/block/blocks/redstone/dropper.rs diff --git a/pumpkin/src/block/blocks/redstone/lever.rs b/crates/pumpkin/src/block/blocks/redstone/lever.rs similarity index 100% rename from pumpkin/src/block/blocks/redstone/lever.rs rename to crates/pumpkin/src/block/blocks/redstone/lever.rs diff --git a/pumpkin/src/block/blocks/redstone/lightning_rod.rs b/crates/pumpkin/src/block/blocks/redstone/lightning_rod.rs similarity index 100% rename from pumpkin/src/block/blocks/redstone/lightning_rod.rs rename to crates/pumpkin/src/block/blocks/redstone/lightning_rod.rs diff --git a/pumpkin/src/block/blocks/redstone/mod.rs b/crates/pumpkin/src/block/blocks/redstone/mod.rs similarity index 100% rename from pumpkin/src/block/blocks/redstone/mod.rs rename to crates/pumpkin/src/block/blocks/redstone/mod.rs diff --git a/pumpkin/src/block/blocks/redstone/observer.rs b/crates/pumpkin/src/block/blocks/redstone/observer.rs similarity index 100% rename from pumpkin/src/block/blocks/redstone/observer.rs rename to crates/pumpkin/src/block/blocks/redstone/observer.rs diff --git a/pumpkin/src/block/blocks/redstone/pressure_plate/mod.rs b/crates/pumpkin/src/block/blocks/redstone/pressure_plate/mod.rs similarity index 100% rename from pumpkin/src/block/blocks/redstone/pressure_plate/mod.rs rename to crates/pumpkin/src/block/blocks/redstone/pressure_plate/mod.rs diff --git a/pumpkin/src/block/blocks/redstone/pressure_plate/plate.rs b/crates/pumpkin/src/block/blocks/redstone/pressure_plate/plate.rs similarity index 100% rename from pumpkin/src/block/blocks/redstone/pressure_plate/plate.rs rename to crates/pumpkin/src/block/blocks/redstone/pressure_plate/plate.rs diff --git a/pumpkin/src/block/blocks/redstone/pressure_plate/tests.rs b/crates/pumpkin/src/block/blocks/redstone/pressure_plate/tests.rs similarity index 100% rename from pumpkin/src/block/blocks/redstone/pressure_plate/tests.rs rename to crates/pumpkin/src/block/blocks/redstone/pressure_plate/tests.rs diff --git a/pumpkin/src/block/blocks/redstone/pressure_plate/weighted.rs b/crates/pumpkin/src/block/blocks/redstone/pressure_plate/weighted.rs similarity index 100% rename from pumpkin/src/block/blocks/redstone/pressure_plate/weighted.rs rename to crates/pumpkin/src/block/blocks/redstone/pressure_plate/weighted.rs diff --git a/pumpkin/src/block/blocks/redstone/rails/activator_rail.rs b/crates/pumpkin/src/block/blocks/redstone/rails/activator_rail.rs similarity index 100% rename from pumpkin/src/block/blocks/redstone/rails/activator_rail.rs rename to crates/pumpkin/src/block/blocks/redstone/rails/activator_rail.rs diff --git a/pumpkin/src/block/blocks/redstone/rails/common.rs b/crates/pumpkin/src/block/blocks/redstone/rails/common.rs similarity index 100% rename from pumpkin/src/block/blocks/redstone/rails/common.rs rename to crates/pumpkin/src/block/blocks/redstone/rails/common.rs diff --git a/pumpkin/src/block/blocks/redstone/rails/detector_rail.rs b/crates/pumpkin/src/block/blocks/redstone/rails/detector_rail.rs similarity index 100% rename from pumpkin/src/block/blocks/redstone/rails/detector_rail.rs rename to crates/pumpkin/src/block/blocks/redstone/rails/detector_rail.rs diff --git a/pumpkin/src/block/blocks/redstone/rails/mod.rs b/crates/pumpkin/src/block/blocks/redstone/rails/mod.rs similarity index 100% rename from pumpkin/src/block/blocks/redstone/rails/mod.rs rename to crates/pumpkin/src/block/blocks/redstone/rails/mod.rs diff --git a/pumpkin/src/block/blocks/redstone/rails/powered_rail.rs b/crates/pumpkin/src/block/blocks/redstone/rails/powered_rail.rs similarity index 100% rename from pumpkin/src/block/blocks/redstone/rails/powered_rail.rs rename to crates/pumpkin/src/block/blocks/redstone/rails/powered_rail.rs diff --git a/pumpkin/src/block/blocks/redstone/rails/rail.rs b/crates/pumpkin/src/block/blocks/redstone/rails/rail.rs similarity index 100% rename from pumpkin/src/block/blocks/redstone/rails/rail.rs rename to crates/pumpkin/src/block/blocks/redstone/rails/rail.rs diff --git a/pumpkin/src/block/blocks/redstone/redstone_block.rs b/crates/pumpkin/src/block/blocks/redstone/redstone_block.rs similarity index 100% rename from pumpkin/src/block/blocks/redstone/redstone_block.rs rename to crates/pumpkin/src/block/blocks/redstone/redstone_block.rs diff --git a/pumpkin/src/block/blocks/redstone/redstone_lamp.rs b/crates/pumpkin/src/block/blocks/redstone/redstone_lamp.rs similarity index 100% rename from pumpkin/src/block/blocks/redstone/redstone_lamp.rs rename to crates/pumpkin/src/block/blocks/redstone/redstone_lamp.rs diff --git a/pumpkin/src/block/blocks/redstone/redstone_ore.rs b/crates/pumpkin/src/block/blocks/redstone/redstone_ore.rs similarity index 100% rename from pumpkin/src/block/blocks/redstone/redstone_ore.rs rename to crates/pumpkin/src/block/blocks/redstone/redstone_ore.rs diff --git a/pumpkin/src/block/blocks/redstone/redstone_torch.rs b/crates/pumpkin/src/block/blocks/redstone/redstone_torch.rs similarity index 100% rename from pumpkin/src/block/blocks/redstone/redstone_torch.rs rename to crates/pumpkin/src/block/blocks/redstone/redstone_torch.rs diff --git a/pumpkin/src/block/blocks/redstone/redstone_wire.rs b/crates/pumpkin/src/block/blocks/redstone/redstone_wire.rs similarity index 100% rename from pumpkin/src/block/blocks/redstone/redstone_wire.rs rename to crates/pumpkin/src/block/blocks/redstone/redstone_wire.rs diff --git a/pumpkin/src/block/blocks/redstone/repeater.rs b/crates/pumpkin/src/block/blocks/redstone/repeater.rs similarity index 100% rename from pumpkin/src/block/blocks/redstone/repeater.rs rename to crates/pumpkin/src/block/blocks/redstone/repeater.rs diff --git a/pumpkin/src/block/blocks/redstone/sculk_sensor.rs b/crates/pumpkin/src/block/blocks/redstone/sculk_sensor.rs similarity index 100% rename from pumpkin/src/block/blocks/redstone/sculk_sensor.rs rename to crates/pumpkin/src/block/blocks/redstone/sculk_sensor.rs diff --git a/pumpkin/src/block/blocks/redstone/target_block.rs b/crates/pumpkin/src/block/blocks/redstone/target_block.rs similarity index 100% rename from pumpkin/src/block/blocks/redstone/target_block.rs rename to crates/pumpkin/src/block/blocks/redstone/target_block.rs diff --git a/pumpkin/src/block/blocks/redstone/tripwire.rs b/crates/pumpkin/src/block/blocks/redstone/tripwire.rs similarity index 100% rename from pumpkin/src/block/blocks/redstone/tripwire.rs rename to crates/pumpkin/src/block/blocks/redstone/tripwire.rs diff --git a/pumpkin/src/block/blocks/redstone/tripwire_hook.rs b/crates/pumpkin/src/block/blocks/redstone/tripwire_hook.rs similarity index 100% rename from pumpkin/src/block/blocks/redstone/tripwire_hook.rs rename to crates/pumpkin/src/block/blocks/redstone/tripwire_hook.rs diff --git a/pumpkin/src/block/blocks/redstone/turbo.rs b/crates/pumpkin/src/block/blocks/redstone/turbo.rs similarity index 100% rename from pumpkin/src/block/blocks/redstone/turbo.rs rename to crates/pumpkin/src/block/blocks/redstone/turbo.rs diff --git a/pumpkin/src/block/blocks/shelf.rs b/crates/pumpkin/src/block/blocks/shelf.rs similarity index 100% rename from pumpkin/src/block/blocks/shelf.rs rename to crates/pumpkin/src/block/blocks/shelf.rs diff --git a/pumpkin/src/block/blocks/shulker_box.rs b/crates/pumpkin/src/block/blocks/shulker_box.rs similarity index 100% rename from pumpkin/src/block/blocks/shulker_box.rs rename to crates/pumpkin/src/block/blocks/shulker_box.rs diff --git a/pumpkin/src/block/blocks/signs.rs b/crates/pumpkin/src/block/blocks/signs.rs similarity index 100% rename from pumpkin/src/block/blocks/signs.rs rename to crates/pumpkin/src/block/blocks/signs.rs diff --git a/pumpkin/src/block/blocks/skull_block.rs b/crates/pumpkin/src/block/blocks/skull_block.rs similarity index 100% rename from pumpkin/src/block/blocks/skull_block.rs rename to crates/pumpkin/src/block/blocks/skull_block.rs diff --git a/pumpkin/src/block/blocks/slabs.rs b/crates/pumpkin/src/block/blocks/slabs.rs similarity index 100% rename from pumpkin/src/block/blocks/slabs.rs rename to crates/pumpkin/src/block/blocks/slabs.rs diff --git a/pumpkin/src/block/blocks/slime.rs b/crates/pumpkin/src/block/blocks/slime.rs similarity index 100% rename from pumpkin/src/block/blocks/slime.rs rename to crates/pumpkin/src/block/blocks/slime.rs diff --git a/pumpkin/src/block/blocks/smoker.rs b/crates/pumpkin/src/block/blocks/smoker.rs similarity index 100% rename from pumpkin/src/block/blocks/smoker.rs rename to crates/pumpkin/src/block/blocks/smoker.rs diff --git a/pumpkin/src/block/blocks/snow.rs b/crates/pumpkin/src/block/blocks/snow.rs similarity index 100% rename from pumpkin/src/block/blocks/snow.rs rename to crates/pumpkin/src/block/blocks/snow.rs diff --git a/pumpkin/src/block/blocks/spawner.rs b/crates/pumpkin/src/block/blocks/spawner.rs similarity index 100% rename from pumpkin/src/block/blocks/spawner.rs rename to crates/pumpkin/src/block/blocks/spawner.rs diff --git a/pumpkin/src/block/blocks/sponge.rs b/crates/pumpkin/src/block/blocks/sponge.rs similarity index 100% rename from pumpkin/src/block/blocks/sponge.rs rename to crates/pumpkin/src/block/blocks/sponge.rs diff --git a/pumpkin/src/block/blocks/stairs.rs b/crates/pumpkin/src/block/blocks/stairs.rs similarity index 100% rename from pumpkin/src/block/blocks/stairs.rs rename to crates/pumpkin/src/block/blocks/stairs.rs diff --git a/pumpkin/src/block/blocks/stonecutter.rs b/crates/pumpkin/src/block/blocks/stonecutter.rs similarity index 100% rename from pumpkin/src/block/blocks/stonecutter.rs rename to crates/pumpkin/src/block/blocks/stonecutter.rs diff --git a/pumpkin/src/block/blocks/tnt.rs b/crates/pumpkin/src/block/blocks/tnt.rs similarity index 100% rename from pumpkin/src/block/blocks/tnt.rs rename to crates/pumpkin/src/block/blocks/tnt.rs diff --git a/pumpkin/src/block/blocks/torches.rs b/crates/pumpkin/src/block/blocks/torches.rs similarity index 100% rename from pumpkin/src/block/blocks/torches.rs rename to crates/pumpkin/src/block/blocks/torches.rs diff --git a/pumpkin/src/block/blocks/trapdoor.rs b/crates/pumpkin/src/block/blocks/trapdoor.rs similarity index 100% rename from pumpkin/src/block/blocks/trapdoor.rs rename to crates/pumpkin/src/block/blocks/trapdoor.rs diff --git a/pumpkin/src/block/blocks/vine.rs b/crates/pumpkin/src/block/blocks/vine.rs similarity index 100% rename from pumpkin/src/block/blocks/vine.rs rename to crates/pumpkin/src/block/blocks/vine.rs diff --git a/pumpkin/src/block/blocks/walls.rs b/crates/pumpkin/src/block/blocks/walls.rs similarity index 100% rename from pumpkin/src/block/blocks/walls.rs rename to crates/pumpkin/src/block/blocks/walls.rs diff --git a/pumpkin/src/block/blocks/wither_skull.rs b/crates/pumpkin/src/block/blocks/wither_skull.rs similarity index 100% rename from pumpkin/src/block/blocks/wither_skull.rs rename to crates/pumpkin/src/block/blocks/wither_skull.rs diff --git a/pumpkin/src/block/entities/banner.rs b/crates/pumpkin/src/block/entities/banner.rs similarity index 100% rename from pumpkin/src/block/entities/banner.rs rename to crates/pumpkin/src/block/entities/banner.rs diff --git a/pumpkin/src/block/entities/barrel.rs b/crates/pumpkin/src/block/entities/barrel.rs similarity index 100% rename from pumpkin/src/block/entities/barrel.rs rename to crates/pumpkin/src/block/entities/barrel.rs diff --git a/pumpkin/src/block/entities/beacon.rs b/crates/pumpkin/src/block/entities/beacon.rs similarity index 100% rename from pumpkin/src/block/entities/beacon.rs rename to crates/pumpkin/src/block/entities/beacon.rs diff --git a/pumpkin/src/block/entities/bed.rs b/crates/pumpkin/src/block/entities/bed.rs similarity index 100% rename from pumpkin/src/block/entities/bed.rs rename to crates/pumpkin/src/block/entities/bed.rs diff --git a/pumpkin/src/block/entities/beehive.rs b/crates/pumpkin/src/block/entities/beehive.rs similarity index 100% rename from pumpkin/src/block/entities/beehive.rs rename to crates/pumpkin/src/block/entities/beehive.rs diff --git a/pumpkin/src/block/entities/bell.rs b/crates/pumpkin/src/block/entities/bell.rs similarity index 100% rename from pumpkin/src/block/entities/bell.rs rename to crates/pumpkin/src/block/entities/bell.rs diff --git a/pumpkin/src/block/entities/blasting_furnace.rs b/crates/pumpkin/src/block/entities/blasting_furnace.rs similarity index 100% rename from pumpkin/src/block/entities/blasting_furnace.rs rename to crates/pumpkin/src/block/entities/blasting_furnace.rs diff --git a/pumpkin/src/block/entities/brewing_stand.rs b/crates/pumpkin/src/block/entities/brewing_stand.rs similarity index 100% rename from pumpkin/src/block/entities/brewing_stand.rs rename to crates/pumpkin/src/block/entities/brewing_stand.rs diff --git a/pumpkin/src/block/entities/brushable_block.rs b/crates/pumpkin/src/block/entities/brushable_block.rs similarity index 100% rename from pumpkin/src/block/entities/brushable_block.rs rename to crates/pumpkin/src/block/entities/brushable_block.rs diff --git a/pumpkin/src/block/entities/calibrated_sculk_sensor.rs b/crates/pumpkin/src/block/entities/calibrated_sculk_sensor.rs similarity index 100% rename from pumpkin/src/block/entities/calibrated_sculk_sensor.rs rename to crates/pumpkin/src/block/entities/calibrated_sculk_sensor.rs diff --git a/pumpkin/src/block/entities/campfire.rs b/crates/pumpkin/src/block/entities/campfire.rs similarity index 100% rename from pumpkin/src/block/entities/campfire.rs rename to crates/pumpkin/src/block/entities/campfire.rs diff --git a/pumpkin/src/block/entities/chest.rs b/crates/pumpkin/src/block/entities/chest.rs similarity index 100% rename from pumpkin/src/block/entities/chest.rs rename to crates/pumpkin/src/block/entities/chest.rs diff --git a/pumpkin/src/block/entities/chest_like_block_entity.rs b/crates/pumpkin/src/block/entities/chest_like_block_entity.rs similarity index 100% rename from pumpkin/src/block/entities/chest_like_block_entity.rs rename to crates/pumpkin/src/block/entities/chest_like_block_entity.rs diff --git a/pumpkin/src/block/entities/chiseled_bookshelf.rs b/crates/pumpkin/src/block/entities/chiseled_bookshelf.rs similarity index 100% rename from pumpkin/src/block/entities/chiseled_bookshelf.rs rename to crates/pumpkin/src/block/entities/chiseled_bookshelf.rs diff --git a/pumpkin/src/block/entities/command_block.rs b/crates/pumpkin/src/block/entities/command_block.rs similarity index 100% rename from pumpkin/src/block/entities/command_block.rs rename to crates/pumpkin/src/block/entities/command_block.rs diff --git a/pumpkin/src/block/entities/comparator.rs b/crates/pumpkin/src/block/entities/comparator.rs similarity index 100% rename from pumpkin/src/block/entities/comparator.rs rename to crates/pumpkin/src/block/entities/comparator.rs diff --git a/pumpkin/src/block/entities/conduit.rs b/crates/pumpkin/src/block/entities/conduit.rs similarity index 100% rename from pumpkin/src/block/entities/conduit.rs rename to crates/pumpkin/src/block/entities/conduit.rs diff --git a/pumpkin/src/block/entities/copper_golem_statue.rs b/crates/pumpkin/src/block/entities/copper_golem_statue.rs similarity index 100% rename from pumpkin/src/block/entities/copper_golem_statue.rs rename to crates/pumpkin/src/block/entities/copper_golem_statue.rs diff --git a/pumpkin/src/block/entities/crafter.rs b/crates/pumpkin/src/block/entities/crafter.rs similarity index 100% rename from pumpkin/src/block/entities/crafter.rs rename to crates/pumpkin/src/block/entities/crafter.rs diff --git a/pumpkin/src/block/entities/creaking_heart.rs b/crates/pumpkin/src/block/entities/creaking_heart.rs similarity index 100% rename from pumpkin/src/block/entities/creaking_heart.rs rename to crates/pumpkin/src/block/entities/creaking_heart.rs diff --git a/pumpkin/src/block/entities/daylight_detector.rs b/crates/pumpkin/src/block/entities/daylight_detector.rs similarity index 100% rename from pumpkin/src/block/entities/daylight_detector.rs rename to crates/pumpkin/src/block/entities/daylight_detector.rs diff --git a/pumpkin/src/block/entities/decorated_pot.rs b/crates/pumpkin/src/block/entities/decorated_pot.rs similarity index 100% rename from pumpkin/src/block/entities/decorated_pot.rs rename to crates/pumpkin/src/block/entities/decorated_pot.rs diff --git a/pumpkin/src/block/entities/dispenser.rs b/crates/pumpkin/src/block/entities/dispenser.rs similarity index 100% rename from pumpkin/src/block/entities/dispenser.rs rename to crates/pumpkin/src/block/entities/dispenser.rs diff --git a/pumpkin/src/block/entities/dropper.rs b/crates/pumpkin/src/block/entities/dropper.rs similarity index 100% rename from pumpkin/src/block/entities/dropper.rs rename to crates/pumpkin/src/block/entities/dropper.rs diff --git a/pumpkin/src/block/entities/enchanting_table.rs b/crates/pumpkin/src/block/entities/enchanting_table.rs similarity index 100% rename from pumpkin/src/block/entities/enchanting_table.rs rename to crates/pumpkin/src/block/entities/enchanting_table.rs diff --git a/pumpkin/src/block/entities/end_gateway.rs b/crates/pumpkin/src/block/entities/end_gateway.rs similarity index 100% rename from pumpkin/src/block/entities/end_gateway.rs rename to crates/pumpkin/src/block/entities/end_gateway.rs diff --git a/pumpkin/src/block/entities/end_portal.rs b/crates/pumpkin/src/block/entities/end_portal.rs similarity index 100% rename from pumpkin/src/block/entities/end_portal.rs rename to crates/pumpkin/src/block/entities/end_portal.rs diff --git a/pumpkin/src/block/entities/ender_chest.rs b/crates/pumpkin/src/block/entities/ender_chest.rs similarity index 100% rename from pumpkin/src/block/entities/ender_chest.rs rename to crates/pumpkin/src/block/entities/ender_chest.rs diff --git a/pumpkin/src/block/entities/furnace.rs b/crates/pumpkin/src/block/entities/furnace.rs similarity index 100% rename from pumpkin/src/block/entities/furnace.rs rename to crates/pumpkin/src/block/entities/furnace.rs diff --git a/pumpkin/src/block/entities/furnace_like_block_entity.rs b/crates/pumpkin/src/block/entities/furnace_like_block_entity.rs similarity index 100% rename from pumpkin/src/block/entities/furnace_like_block_entity.rs rename to crates/pumpkin/src/block/entities/furnace_like_block_entity.rs diff --git a/pumpkin/src/block/entities/hanging_sign.rs b/crates/pumpkin/src/block/entities/hanging_sign.rs similarity index 100% rename from pumpkin/src/block/entities/hanging_sign.rs rename to crates/pumpkin/src/block/entities/hanging_sign.rs diff --git a/pumpkin/src/block/entities/hopper.rs b/crates/pumpkin/src/block/entities/hopper.rs similarity index 100% rename from pumpkin/src/block/entities/hopper.rs rename to crates/pumpkin/src/block/entities/hopper.rs diff --git a/pumpkin/src/block/entities/jigsaw_block.rs b/crates/pumpkin/src/block/entities/jigsaw_block.rs similarity index 100% rename from pumpkin/src/block/entities/jigsaw_block.rs rename to crates/pumpkin/src/block/entities/jigsaw_block.rs diff --git a/pumpkin/src/block/entities/jukebox.rs b/crates/pumpkin/src/block/entities/jukebox.rs similarity index 100% rename from pumpkin/src/block/entities/jukebox.rs rename to crates/pumpkin/src/block/entities/jukebox.rs diff --git a/pumpkin/src/block/entities/lectern.rs b/crates/pumpkin/src/block/entities/lectern.rs similarity index 100% rename from pumpkin/src/block/entities/lectern.rs rename to crates/pumpkin/src/block/entities/lectern.rs diff --git a/pumpkin/src/block/entities/mob_spawner.rs b/crates/pumpkin/src/block/entities/mob_spawner.rs similarity index 100% rename from pumpkin/src/block/entities/mob_spawner.rs rename to crates/pumpkin/src/block/entities/mob_spawner.rs diff --git a/pumpkin/src/block/entities/mod.rs b/crates/pumpkin/src/block/entities/mod.rs similarity index 99% rename from pumpkin/src/block/entities/mod.rs rename to crates/pumpkin/src/block/entities/mod.rs index 6216853c4..b54f53f72 100644 --- a/pumpkin/src/block/entities/mod.rs +++ b/crates/pumpkin/src/block/entities/mod.rs @@ -123,7 +123,7 @@ pub trait BlockEntity: Any + Send + Sync { .expect("Block entity type should be registered") as u32 } - /// Obtain NBT data for sending to the client in [`ChunkData`](crate::chunk::ChunkData) + /// Obtain NBT data for sending to the client in `ChunkData` fn chunk_data_nbt(&self) -> Option { None } diff --git a/pumpkin/src/block/entities/piston.rs b/crates/pumpkin/src/block/entities/piston.rs similarity index 100% rename from pumpkin/src/block/entities/piston.rs rename to crates/pumpkin/src/block/entities/piston.rs diff --git a/pumpkin/src/block/entities/potent_sulfur.rs b/crates/pumpkin/src/block/entities/potent_sulfur.rs similarity index 100% rename from pumpkin/src/block/entities/potent_sulfur.rs rename to crates/pumpkin/src/block/entities/potent_sulfur.rs diff --git a/pumpkin/src/block/entities/sculk_catalyst.rs b/crates/pumpkin/src/block/entities/sculk_catalyst.rs similarity index 100% rename from pumpkin/src/block/entities/sculk_catalyst.rs rename to crates/pumpkin/src/block/entities/sculk_catalyst.rs diff --git a/pumpkin/src/block/entities/sculk_sensor.rs b/crates/pumpkin/src/block/entities/sculk_sensor.rs similarity index 100% rename from pumpkin/src/block/entities/sculk_sensor.rs rename to crates/pumpkin/src/block/entities/sculk_sensor.rs diff --git a/pumpkin/src/block/entities/sculk_shrieker.rs b/crates/pumpkin/src/block/entities/sculk_shrieker.rs similarity index 100% rename from pumpkin/src/block/entities/sculk_shrieker.rs rename to crates/pumpkin/src/block/entities/sculk_shrieker.rs diff --git a/pumpkin/src/block/entities/shelf.rs b/crates/pumpkin/src/block/entities/shelf.rs similarity index 100% rename from pumpkin/src/block/entities/shelf.rs rename to crates/pumpkin/src/block/entities/shelf.rs diff --git a/pumpkin/src/block/entities/shulker_box.rs b/crates/pumpkin/src/block/entities/shulker_box.rs similarity index 100% rename from pumpkin/src/block/entities/shulker_box.rs rename to crates/pumpkin/src/block/entities/shulker_box.rs diff --git a/pumpkin/src/block/entities/sign.rs b/crates/pumpkin/src/block/entities/sign.rs similarity index 100% rename from pumpkin/src/block/entities/sign.rs rename to crates/pumpkin/src/block/entities/sign.rs diff --git a/pumpkin/src/block/entities/skull.rs b/crates/pumpkin/src/block/entities/skull.rs similarity index 100% rename from pumpkin/src/block/entities/skull.rs rename to crates/pumpkin/src/block/entities/skull.rs diff --git a/pumpkin/src/block/entities/smoker.rs b/crates/pumpkin/src/block/entities/smoker.rs similarity index 100% rename from pumpkin/src/block/entities/smoker.rs rename to crates/pumpkin/src/block/entities/smoker.rs diff --git a/pumpkin/src/block/entities/structure_block.rs b/crates/pumpkin/src/block/entities/structure_block.rs similarity index 100% rename from pumpkin/src/block/entities/structure_block.rs rename to crates/pumpkin/src/block/entities/structure_block.rs diff --git a/pumpkin/src/block/entities/test_block.rs b/crates/pumpkin/src/block/entities/test_block.rs similarity index 100% rename from pumpkin/src/block/entities/test_block.rs rename to crates/pumpkin/src/block/entities/test_block.rs diff --git a/pumpkin/src/block/entities/test_instance_block.rs b/crates/pumpkin/src/block/entities/test_instance_block.rs similarity index 100% rename from pumpkin/src/block/entities/test_instance_block.rs rename to crates/pumpkin/src/block/entities/test_instance_block.rs diff --git a/pumpkin/src/block/entities/trapped_chest.rs b/crates/pumpkin/src/block/entities/trapped_chest.rs similarity index 100% rename from pumpkin/src/block/entities/trapped_chest.rs rename to crates/pumpkin/src/block/entities/trapped_chest.rs diff --git a/pumpkin/src/block/entities/trial_spawner.rs b/crates/pumpkin/src/block/entities/trial_spawner.rs similarity index 100% rename from pumpkin/src/block/entities/trial_spawner.rs rename to crates/pumpkin/src/block/entities/trial_spawner.rs diff --git a/pumpkin/src/block/entities/vault.rs b/crates/pumpkin/src/block/entities/vault.rs similarity index 100% rename from pumpkin/src/block/entities/vault.rs rename to crates/pumpkin/src/block/entities/vault.rs diff --git a/pumpkin/src/block/fluid/flowing_trait.rs b/crates/pumpkin/src/block/fluid/flowing_trait.rs similarity index 100% rename from pumpkin/src/block/fluid/flowing_trait.rs rename to crates/pumpkin/src/block/fluid/flowing_trait.rs diff --git a/pumpkin/src/block/fluid/lava.rs b/crates/pumpkin/src/block/fluid/lava.rs similarity index 100% rename from pumpkin/src/block/fluid/lava.rs rename to crates/pumpkin/src/block/fluid/lava.rs diff --git a/pumpkin/src/block/fluid/mod.rs b/crates/pumpkin/src/block/fluid/mod.rs similarity index 100% rename from pumpkin/src/block/fluid/mod.rs rename to crates/pumpkin/src/block/fluid/mod.rs diff --git a/pumpkin/src/block/fluid/pathfinder.rs b/crates/pumpkin/src/block/fluid/pathfinder.rs similarity index 100% rename from pumpkin/src/block/fluid/pathfinder.rs rename to crates/pumpkin/src/block/fluid/pathfinder.rs diff --git a/pumpkin/src/block/fluid/physics.rs b/crates/pumpkin/src/block/fluid/physics.rs similarity index 100% rename from pumpkin/src/block/fluid/physics.rs rename to crates/pumpkin/src/block/fluid/physics.rs diff --git a/pumpkin/src/block/fluid/water.rs b/crates/pumpkin/src/block/fluid/water.rs similarity index 100% rename from pumpkin/src/block/fluid/water.rs rename to crates/pumpkin/src/block/fluid/water.rs diff --git a/pumpkin/src/block/mod.rs b/crates/pumpkin/src/block/mod.rs similarity index 100% rename from pumpkin/src/block/mod.rs rename to crates/pumpkin/src/block/mod.rs diff --git a/pumpkin/src/block/registry.rs b/crates/pumpkin/src/block/registry.rs similarity index 100% rename from pumpkin/src/block/registry.rs rename to crates/pumpkin/src/block/registry.rs diff --git a/pumpkin/src/block/viewer.rs b/crates/pumpkin/src/block/viewer.rs similarity index 100% rename from pumpkin/src/block/viewer.rs rename to crates/pumpkin/src/block/viewer.rs diff --git a/pumpkin/src/command/args/block.rs b/crates/pumpkin/src/command/args/block.rs similarity index 100% rename from pumpkin/src/command/args/block.rs rename to crates/pumpkin/src/command/args/block.rs diff --git a/pumpkin/src/command/args/bool.rs b/crates/pumpkin/src/command/args/bool.rs similarity index 100% rename from pumpkin/src/command/args/bool.rs rename to crates/pumpkin/src/command/args/bool.rs diff --git a/pumpkin/src/command/args/bossbar_color.rs b/crates/pumpkin/src/command/args/bossbar_color.rs similarity index 100% rename from pumpkin/src/command/args/bossbar_color.rs rename to crates/pumpkin/src/command/args/bossbar_color.rs diff --git a/pumpkin/src/command/args/bossbar_style.rs b/crates/pumpkin/src/command/args/bossbar_style.rs similarity index 100% rename from pumpkin/src/command/args/bossbar_style.rs rename to crates/pumpkin/src/command/args/bossbar_style.rs diff --git a/pumpkin/src/command/args/bounded_num.rs b/crates/pumpkin/src/command/args/bounded_num.rs similarity index 100% rename from pumpkin/src/command/args/bounded_num.rs rename to crates/pumpkin/src/command/args/bounded_num.rs diff --git a/pumpkin/src/command/args/command.rs b/crates/pumpkin/src/command/args/command.rs similarity index 100% rename from pumpkin/src/command/args/command.rs rename to crates/pumpkin/src/command/args/command.rs diff --git a/pumpkin/src/command/args/coordinate.rs b/crates/pumpkin/src/command/args/coordinate.rs similarity index 100% rename from pumpkin/src/command/args/coordinate.rs rename to crates/pumpkin/src/command/args/coordinate.rs diff --git a/pumpkin/src/command/args/difficulty.rs b/crates/pumpkin/src/command/args/difficulty.rs similarity index 100% rename from pumpkin/src/command/args/difficulty.rs rename to crates/pumpkin/src/command/args/difficulty.rs diff --git a/pumpkin/src/command/args/entities.rs b/crates/pumpkin/src/command/args/entities.rs similarity index 99% rename from pumpkin/src/command/args/entities.rs rename to crates/pumpkin/src/command/args/entities.rs index 62ab016d5..d694ae95c 100644 --- a/pumpkin/src/command/args/entities.rs +++ b/crates/pumpkin/src/command/args/entities.rs @@ -335,7 +335,7 @@ fn parse_selector_filter( Ok(()) } -/// todo: implement (currently just calls [`super::arg_player::PlayerArgumentConsumer`]) +/// todo: implement (currently just calls `PlayerArgumentConsumer`) /// /// For selecting zero, one or multiple entities, eg. using @s, a player name, @a or @e pub struct EntitiesArgumentConsumer; diff --git a/pumpkin/src/command/args/entity.rs b/crates/pumpkin/src/command/args/entity.rs similarity index 97% rename from pumpkin/src/command/args/entity.rs rename to crates/pumpkin/src/command/args/entity.rs index 652afa92c..6fb933020 100644 --- a/pumpkin/src/command/args/entity.rs +++ b/crates/pumpkin/src/command/args/entity.rs @@ -18,7 +18,7 @@ use super::{Arg, DefaultNameArgConsumer, FindArg, GetClientSideArgParser}; /// /// For selecting a single entity, eg. using @s, a player name or entity uuid. /// -/// Use [`super::arg_entities::EntitiesArgumentConsumer`] when there may be multiple targets. +/// Use [`super::entities::EntitiesArgumentConsumer`] when there may be multiple targets. pub struct EntityArgumentConsumer; impl GetClientSideArgParser for EntityArgumentConsumer { diff --git a/pumpkin/src/command/args/entity_anchor.rs b/crates/pumpkin/src/command/args/entity_anchor.rs similarity index 100% rename from pumpkin/src/command/args/entity_anchor.rs rename to crates/pumpkin/src/command/args/entity_anchor.rs diff --git a/pumpkin/src/command/args/gamemode.rs b/crates/pumpkin/src/command/args/gamemode.rs similarity index 100% rename from pumpkin/src/command/args/gamemode.rs rename to crates/pumpkin/src/command/args/gamemode.rs diff --git a/pumpkin/src/command/args/gameprofile.rs b/crates/pumpkin/src/command/args/gameprofile.rs similarity index 100% rename from pumpkin/src/command/args/gameprofile.rs rename to crates/pumpkin/src/command/args/gameprofile.rs diff --git a/pumpkin/src/command/args/message.rs b/crates/pumpkin/src/command/args/message.rs similarity index 100% rename from pumpkin/src/command/args/message.rs rename to crates/pumpkin/src/command/args/message.rs diff --git a/pumpkin/src/command/args/mod.rs b/crates/pumpkin/src/command/args/mod.rs similarity index 97% rename from pumpkin/src/command/args/mod.rs rename to crates/pumpkin/src/command/args/mod.rs index 5ee417459..5ef21c39b 100644 --- a/pumpkin/src/command/args/mod.rs +++ b/crates/pumpkin/src/command/args/mod.rs @@ -57,7 +57,7 @@ pub mod summonable_entities; pub mod textcomponent; pub mod time; -/// see [`crate::commands::tree::builder::argument`] +/// see [`crate::command::tree::builder::argument`] pub type ConsumeResult<'a> = Pin>> + Send + 'a>>; pub type ConsumeResultWithSyntax<'a> = Pin>, CommandSyntaxError>> + Send + 'a>>; @@ -145,7 +145,7 @@ pub enum Arg<'a> { Slots(&'static [usize], String), } -/// see [`crate::commands::tree::builder::argument`] and [`CommandTree::execute`]/[`crate::commands::tree::builder::NonLeafNodeBuilder::execute`] +/// see [`crate::command::tree::builder::argument`] and [`CommandTree::execute`]/[`crate::command::tree::builder::NonLeafNodeBuilder::execute`] pub type ConsumedArgs<'a> = HashMap<&'a str, Arg<'a>>; pub trait GetCloned { diff --git a/pumpkin/src/command/args/players.rs b/crates/pumpkin/src/command/args/players.rs similarity index 100% rename from pumpkin/src/command/args/players.rs rename to crates/pumpkin/src/command/args/players.rs diff --git a/pumpkin/src/command/args/position_2d.rs b/crates/pumpkin/src/command/args/position_2d.rs similarity index 100% rename from pumpkin/src/command/args/position_2d.rs rename to crates/pumpkin/src/command/args/position_2d.rs diff --git a/pumpkin/src/command/args/position_3d.rs b/crates/pumpkin/src/command/args/position_3d.rs similarity index 100% rename from pumpkin/src/command/args/position_3d.rs rename to crates/pumpkin/src/command/args/position_3d.rs diff --git a/pumpkin/src/command/args/position_block.rs b/crates/pumpkin/src/command/args/position_block.rs similarity index 100% rename from pumpkin/src/command/args/position_block.rs rename to crates/pumpkin/src/command/args/position_block.rs diff --git a/pumpkin/src/command/args/resource/damage_type.rs b/crates/pumpkin/src/command/args/resource/damage_type.rs similarity index 100% rename from pumpkin/src/command/args/resource/damage_type.rs rename to crates/pumpkin/src/command/args/resource/damage_type.rs diff --git a/pumpkin/src/command/args/resource/effect.rs b/crates/pumpkin/src/command/args/resource/effect.rs similarity index 100% rename from pumpkin/src/command/args/resource/effect.rs rename to crates/pumpkin/src/command/args/resource/effect.rs diff --git a/pumpkin/src/command/args/resource/enchantment.rs b/crates/pumpkin/src/command/args/resource/enchantment.rs similarity index 100% rename from pumpkin/src/command/args/resource/enchantment.rs rename to crates/pumpkin/src/command/args/resource/enchantment.rs diff --git a/pumpkin/src/command/args/resource/item.rs b/crates/pumpkin/src/command/args/resource/item.rs similarity index 100% rename from pumpkin/src/command/args/resource/item.rs rename to crates/pumpkin/src/command/args/resource/item.rs diff --git a/pumpkin/src/command/args/resource/mod.rs b/crates/pumpkin/src/command/args/resource/mod.rs similarity index 100% rename from pumpkin/src/command/args/resource/mod.rs rename to crates/pumpkin/src/command/args/resource/mod.rs diff --git a/pumpkin/src/command/args/resource/particle.rs b/crates/pumpkin/src/command/args/resource/particle.rs similarity index 100% rename from pumpkin/src/command/args/resource/particle.rs rename to crates/pumpkin/src/command/args/resource/particle.rs diff --git a/pumpkin/src/command/args/resource_location.rs b/crates/pumpkin/src/command/args/resource_location.rs similarity index 100% rename from pumpkin/src/command/args/resource_location.rs rename to crates/pumpkin/src/command/args/resource_location.rs diff --git a/pumpkin/src/command/args/rotation.rs b/crates/pumpkin/src/command/args/rotation.rs similarity index 100% rename from pumpkin/src/command/args/rotation.rs rename to crates/pumpkin/src/command/args/rotation.rs diff --git a/pumpkin/src/command/args/simple.rs b/crates/pumpkin/src/command/args/simple.rs similarity index 100% rename from pumpkin/src/command/args/simple.rs rename to crates/pumpkin/src/command/args/simple.rs diff --git a/pumpkin/src/command/args/slot.rs b/crates/pumpkin/src/command/args/slot.rs similarity index 100% rename from pumpkin/src/command/args/slot.rs rename to crates/pumpkin/src/command/args/slot.rs diff --git a/pumpkin/src/command/args/sound.rs b/crates/pumpkin/src/command/args/sound.rs similarity index 100% rename from pumpkin/src/command/args/sound.rs rename to crates/pumpkin/src/command/args/sound.rs diff --git a/pumpkin/src/command/args/sound_category.rs b/crates/pumpkin/src/command/args/sound_category.rs similarity index 100% rename from pumpkin/src/command/args/sound_category.rs rename to crates/pumpkin/src/command/args/sound_category.rs diff --git a/pumpkin/src/command/args/summonable_entities.rs b/crates/pumpkin/src/command/args/summonable_entities.rs similarity index 100% rename from pumpkin/src/command/args/summonable_entities.rs rename to crates/pumpkin/src/command/args/summonable_entities.rs diff --git a/pumpkin/src/command/args/textcomponent.rs b/crates/pumpkin/src/command/args/textcomponent.rs similarity index 100% rename from pumpkin/src/command/args/textcomponent.rs rename to crates/pumpkin/src/command/args/textcomponent.rs diff --git a/pumpkin/src/command/args/time.rs b/crates/pumpkin/src/command/args/time.rs similarity index 100% rename from pumpkin/src/command/args/time.rs rename to crates/pumpkin/src/command/args/time.rs diff --git a/pumpkin/src/command/argument_builder.rs b/crates/pumpkin/src/command/argument_builder.rs similarity index 99% rename from pumpkin/src/command/argument_builder.rs rename to crates/pumpkin/src/command/argument_builder.rs index 936aa5917..628046310 100644 --- a/pumpkin/src/command/argument_builder.rs +++ b/crates/pumpkin/src/command/argument_builder.rs @@ -209,7 +209,7 @@ pub trait ArgumentBuilder>: Sized + Sealed { #[must_use] fn forks(&self) -> bool; - /// Returns the 'future [`GlobalId`]' of the node that will be produced by this Builder. + /// Returns the 'future [`GlobalNodeId`]' of the node that will be produced by this Builder. /// Very useful for redirects. #[must_use] fn id(&self) -> GlobalNodeId; diff --git a/pumpkin/src/command/argument_types/argument_type.rs b/crates/pumpkin/src/command/argument_types/argument_type.rs similarity index 100% rename from pumpkin/src/command/argument_types/argument_type.rs rename to crates/pumpkin/src/command/argument_types/argument_type.rs diff --git a/pumpkin/src/command/argument_types/attribute.rs b/crates/pumpkin/src/command/argument_types/attribute.rs similarity index 100% rename from pumpkin/src/command/argument_types/attribute.rs rename to crates/pumpkin/src/command/argument_types/attribute.rs diff --git a/pumpkin/src/command/argument_types/block.rs b/crates/pumpkin/src/command/argument_types/block.rs similarity index 100% rename from pumpkin/src/command/argument_types/block.rs rename to crates/pumpkin/src/command/argument_types/block.rs diff --git a/pumpkin/src/command/argument_types/coordinates/block_pos.rs b/crates/pumpkin/src/command/argument_types/coordinates/block_pos.rs similarity index 100% rename from pumpkin/src/command/argument_types/coordinates/block_pos.rs rename to crates/pumpkin/src/command/argument_types/coordinates/block_pos.rs diff --git a/pumpkin/src/command/argument_types/coordinates/column_pos.rs b/crates/pumpkin/src/command/argument_types/coordinates/column_pos.rs similarity index 100% rename from pumpkin/src/command/argument_types/coordinates/column_pos.rs rename to crates/pumpkin/src/command/argument_types/coordinates/column_pos.rs diff --git a/pumpkin/src/command/argument_types/coordinates/mod.rs b/crates/pumpkin/src/command/argument_types/coordinates/mod.rs similarity index 98% rename from pumpkin/src/command/argument_types/coordinates/mod.rs rename to crates/pumpkin/src/command/argument_types/coordinates/mod.rs index d56e93ba6..c676579ac 100644 --- a/pumpkin/src/command/argument_types/coordinates/mod.rs +++ b/crates/pumpkin/src/command/argument_types/coordinates/mod.rs @@ -74,14 +74,12 @@ impl WorldCoordinate { /// # Arguments /// * `reader` - The `StringReader` to parse the coordinate from. /// * `center_integers` - Whether to correct integral coordinates by adding `+0.5` to them - /// (as mentioned by [`Vec3ArgumentType::Default`]). + /// (as mentioned by `Vec3ArgumentType::Default`). /// /// # Returns /// - The `WorldCoordinate` if it was correctly parsed, wrapped in an `Ok`. /// - A [`CommandSyntaxError`] describing an error if it could not be correctly parsed, /// wrapped in an `Err`. - /// - /// [`Vec3ArgumentType::Default`]: Vec3ArgumentType::Default pub fn parse( reader: &mut StringReader, center_integers: bool, @@ -219,14 +217,12 @@ impl Coordinates { /// # Arguments /// * `reader` - The `StringReader` to parse the coordinates from. /// * `center_integers` - Whether to correct integral coordinates by adding `+0.5` to them - /// (as mentioned by [`Vec3ArgumentType::Default`]). + /// (as mentioned by `Vec3ArgumentType::Default`). /// /// # Returns /// - The world `Coordinates` if they were correctly parsed, wrapped in an `Ok`. /// - A [`CommandSyntaxError`] describing an error if they could not be correctly parsed, /// wrapped in an `Err`. - /// - /// [`Vec3ArgumentType::Default`]: Vec3ArgumentType::Default pub fn parse_world( reader: &mut StringReader, center_integers: bool, diff --git a/pumpkin/src/command/argument_types/coordinates/rotation.rs b/crates/pumpkin/src/command/argument_types/coordinates/rotation.rs similarity index 98% rename from pumpkin/src/command/argument_types/coordinates/rotation.rs rename to crates/pumpkin/src/command/argument_types/coordinates/rotation.rs index 5f7426bef..584de0364 100644 --- a/pumpkin/src/command/argument_types/coordinates/rotation.rs +++ b/crates/pumpkin/src/command/argument_types/coordinates/rotation.rs @@ -54,7 +54,7 @@ impl RotationArgumentType { /// Returns the [`Coordinates`] representing the rotation of a parsed rotation argument. /// - /// Use [`Coordinates::rotation`] to resolve the coordinates to a rotation [`Vector2`]. + /// Use [`Coordinates::rotation`] to resolve the coordinates to a rotation `Vector22`. /// /// If the rotation is successfully provided in an `Ok`: /// - The returned *x*-coordinate of the coordinates is the absolute/relative **pitch**. diff --git a/pumpkin/src/command/argument_types/coordinates/vec3.rs b/crates/pumpkin/src/command/argument_types/coordinates/vec3.rs similarity index 100% rename from pumpkin/src/command/argument_types/coordinates/vec3.rs rename to crates/pumpkin/src/command/argument_types/coordinates/vec3.rs diff --git a/pumpkin/src/command/argument_types/core/bool.rs b/crates/pumpkin/src/command/argument_types/core/bool.rs similarity index 100% rename from pumpkin/src/command/argument_types/core/bool.rs rename to crates/pumpkin/src/command/argument_types/core/bool.rs diff --git a/pumpkin/src/command/argument_types/core/double.rs b/crates/pumpkin/src/command/argument_types/core/double.rs similarity index 100% rename from pumpkin/src/command/argument_types/core/double.rs rename to crates/pumpkin/src/command/argument_types/core/double.rs diff --git a/pumpkin/src/command/argument_types/core/float.rs b/crates/pumpkin/src/command/argument_types/core/float.rs similarity index 100% rename from pumpkin/src/command/argument_types/core/float.rs rename to crates/pumpkin/src/command/argument_types/core/float.rs diff --git a/pumpkin/src/command/argument_types/core/integer.rs b/crates/pumpkin/src/command/argument_types/core/integer.rs similarity index 100% rename from pumpkin/src/command/argument_types/core/integer.rs rename to crates/pumpkin/src/command/argument_types/core/integer.rs diff --git a/pumpkin/src/command/argument_types/core/long.rs b/crates/pumpkin/src/command/argument_types/core/long.rs similarity index 100% rename from pumpkin/src/command/argument_types/core/long.rs rename to crates/pumpkin/src/command/argument_types/core/long.rs diff --git a/pumpkin/src/command/argument_types/core/mod.rs b/crates/pumpkin/src/command/argument_types/core/mod.rs similarity index 100% rename from pumpkin/src/command/argument_types/core/mod.rs rename to crates/pumpkin/src/command/argument_types/core/mod.rs diff --git a/pumpkin/src/command/argument_types/core/string.rs b/crates/pumpkin/src/command/argument_types/core/string.rs similarity index 100% rename from pumpkin/src/command/argument_types/core/string.rs rename to crates/pumpkin/src/command/argument_types/core/string.rs diff --git a/pumpkin/src/command/argument_types/dialog.rs b/crates/pumpkin/src/command/argument_types/dialog.rs similarity index 100% rename from pumpkin/src/command/argument_types/dialog.rs rename to crates/pumpkin/src/command/argument_types/dialog.rs diff --git a/pumpkin/src/command/argument_types/entity.rs b/crates/pumpkin/src/command/argument_types/entity.rs similarity index 100% rename from pumpkin/src/command/argument_types/entity.rs rename to crates/pumpkin/src/command/argument_types/entity.rs diff --git a/pumpkin/src/command/argument_types/entity_anchor.rs b/crates/pumpkin/src/command/argument_types/entity_anchor.rs similarity index 100% rename from pumpkin/src/command/argument_types/entity_anchor.rs rename to crates/pumpkin/src/command/argument_types/entity_anchor.rs diff --git a/pumpkin/src/command/argument_types/entity_selector/mod.rs b/crates/pumpkin/src/command/argument_types/entity_selector/mod.rs similarity index 100% rename from pumpkin/src/command/argument_types/entity_selector/mod.rs rename to crates/pumpkin/src/command/argument_types/entity_selector/mod.rs diff --git a/pumpkin/src/command/argument_types/entity_selector/option.rs b/crates/pumpkin/src/command/argument_types/entity_selector/option.rs similarity index 100% rename from pumpkin/src/command/argument_types/entity_selector/option.rs rename to crates/pumpkin/src/command/argument_types/entity_selector/option.rs diff --git a/pumpkin/src/command/argument_types/entity_selector/parser.rs b/crates/pumpkin/src/command/argument_types/entity_selector/parser.rs similarity index 100% rename from pumpkin/src/command/argument_types/entity_selector/parser.rs rename to crates/pumpkin/src/command/argument_types/entity_selector/parser.rs diff --git a/pumpkin/src/command/argument_types/game_profile.rs b/crates/pumpkin/src/command/argument_types/game_profile.rs similarity index 100% rename from pumpkin/src/command/argument_types/game_profile.rs rename to crates/pumpkin/src/command/argument_types/game_profile.rs diff --git a/pumpkin/src/command/argument_types/gamemode.rs b/crates/pumpkin/src/command/argument_types/gamemode.rs similarity index 100% rename from pumpkin/src/command/argument_types/gamemode.rs rename to crates/pumpkin/src/command/argument_types/gamemode.rs diff --git a/pumpkin/src/command/argument_types/hex_color.rs b/crates/pumpkin/src/command/argument_types/hex_color.rs similarity index 100% rename from pumpkin/src/command/argument_types/hex_color.rs rename to crates/pumpkin/src/command/argument_types/hex_color.rs diff --git a/pumpkin/src/command/argument_types/identifier.rs b/crates/pumpkin/src/command/argument_types/identifier.rs similarity index 100% rename from pumpkin/src/command/argument_types/identifier.rs rename to crates/pumpkin/src/command/argument_types/identifier.rs diff --git a/pumpkin/src/command/argument_types/mod.rs b/crates/pumpkin/src/command/argument_types/mod.rs similarity index 98% rename from pumpkin/src/command/argument_types/mod.rs rename to crates/pumpkin/src/command/argument_types/mod.rs index c983f0b8b..d85082da1 100644 --- a/pumpkin/src/command/argument_types/mod.rs +++ b/crates/pumpkin/src/command/argument_types/mod.rs @@ -56,7 +56,7 @@ macro_rules! assert_parse_err_reset { macro_rules! impl_copy_get { ($ty:ty, $item:ty) => { impl $ty { - #[doc = concat!("Returns a [`CommandContext`]'s parsed `", stringify!($item), "` argument.")] + #[doc = concat!("Returns a `CommandContext`'s parsed `", stringify!($item), "` argument.")] pub fn get(context: &$crate::command::context::command_context::CommandContext, name: &str) -> Result<$item, CommandSyntaxError> { Ok(*context.get_argument(name)?) } diff --git a/pumpkin/src/command/argument_types/nbt.rs b/crates/pumpkin/src/command/argument_types/nbt.rs similarity index 100% rename from pumpkin/src/command/argument_types/nbt.rs rename to crates/pumpkin/src/command/argument_types/nbt.rs diff --git a/pumpkin/src/command/argument_types/objective.rs b/crates/pumpkin/src/command/argument_types/objective.rs similarity index 100% rename from pumpkin/src/command/argument_types/objective.rs rename to crates/pumpkin/src/command/argument_types/objective.rs diff --git a/pumpkin/src/command/argument_types/placed_feature.rs b/crates/pumpkin/src/command/argument_types/placed_feature.rs similarity index 100% rename from pumpkin/src/command/argument_types/placed_feature.rs rename to crates/pumpkin/src/command/argument_types/placed_feature.rs diff --git a/pumpkin/src/command/argument_types/pool.rs b/crates/pumpkin/src/command/argument_types/pool.rs similarity index 100% rename from pumpkin/src/command/argument_types/pool.rs rename to crates/pumpkin/src/command/argument_types/pool.rs diff --git a/pumpkin/src/command/argument_types/range.rs b/crates/pumpkin/src/command/argument_types/range.rs similarity index 100% rename from pumpkin/src/command/argument_types/range.rs rename to crates/pumpkin/src/command/argument_types/range.rs diff --git a/pumpkin/src/command/argument_types/resource_key.rs b/crates/pumpkin/src/command/argument_types/resource_key.rs similarity index 99% rename from pumpkin/src/command/argument_types/resource_key.rs rename to crates/pumpkin/src/command/argument_types/resource_key.rs index e7b9585a9..4d0e42222 100644 --- a/pumpkin/src/command/argument_types/resource_key.rs +++ b/crates/pumpkin/src/command/argument_types/resource_key.rs @@ -105,7 +105,7 @@ impl ResourceKeyArgument { }) } - /// Returns a [`CommandContext`]'s parsed resource key argument as a [`Biome`]. + /// Returns a [`CommandContext`]'s parsed resource key argument as a [`Biome`](pumpkin_data::biome::Biome). pub fn get_biome( context: &CommandContext, name: &str, diff --git a/pumpkin/src/command/argument_types/slot.rs b/crates/pumpkin/src/command/argument_types/slot.rs similarity index 100% rename from pumpkin/src/command/argument_types/slot.rs rename to crates/pumpkin/src/command/argument_types/slot.rs diff --git a/pumpkin/src/command/argument_types/structure.rs b/crates/pumpkin/src/command/argument_types/structure.rs similarity index 100% rename from pumpkin/src/command/argument_types/structure.rs rename to crates/pumpkin/src/command/argument_types/structure.rs diff --git a/pumpkin/src/command/argument_types/team.rs b/crates/pumpkin/src/command/argument_types/team.rs similarity index 100% rename from pumpkin/src/command/argument_types/team.rs rename to crates/pumpkin/src/command/argument_types/team.rs diff --git a/pumpkin/src/command/argument_types/team_color.rs b/crates/pumpkin/src/command/argument_types/team_color.rs similarity index 100% rename from pumpkin/src/command/argument_types/team_color.rs rename to crates/pumpkin/src/command/argument_types/team_color.rs diff --git a/pumpkin/src/command/argument_types/template.rs b/crates/pumpkin/src/command/argument_types/template.rs similarity index 100% rename from pumpkin/src/command/argument_types/template.rs rename to crates/pumpkin/src/command/argument_types/template.rs diff --git a/pumpkin/src/command/argument_types/time.rs b/crates/pumpkin/src/command/argument_types/time.rs similarity index 100% rename from pumpkin/src/command/argument_types/time.rs rename to crates/pumpkin/src/command/argument_types/time.rs diff --git a/pumpkin/src/command/argument_types/uuid.rs b/crates/pumpkin/src/command/argument_types/uuid.rs similarity index 100% rename from pumpkin/src/command/argument_types/uuid.rs rename to crates/pumpkin/src/command/argument_types/uuid.rs diff --git a/pumpkin/src/command/client_suggestions.rs b/crates/pumpkin/src/command/client_suggestions.rs similarity index 100% rename from pumpkin/src/command/client_suggestions.rs rename to crates/pumpkin/src/command/client_suggestions.rs diff --git a/pumpkin/src/command/commands/advancement.rs b/crates/pumpkin/src/command/commands/advancement.rs similarity index 100% rename from pumpkin/src/command/commands/advancement.rs rename to crates/pumpkin/src/command/commands/advancement.rs diff --git a/pumpkin/src/command/commands/attribute.rs b/crates/pumpkin/src/command/commands/attribute.rs similarity index 100% rename from pumpkin/src/command/commands/attribute.rs rename to crates/pumpkin/src/command/commands/attribute.rs diff --git a/pumpkin/src/command/commands/ban.rs b/crates/pumpkin/src/command/commands/ban.rs similarity index 100% rename from pumpkin/src/command/commands/ban.rs rename to crates/pumpkin/src/command/commands/ban.rs diff --git a/pumpkin/src/command/commands/banip.rs b/crates/pumpkin/src/command/commands/banip.rs similarity index 92% rename from pumpkin/src/command/commands/banip.rs rename to crates/pumpkin/src/command/commands/banip.rs index b081b883a..e946f654c 100644 --- a/pumpkin/src/command/commands/banip.rs +++ b/crates/pumpkin/src/command/commands/banip.rs @@ -20,15 +20,10 @@ const DESCRIPTION: &str = "bans a player-ip"; const ARG_TARGET: &str = "ip"; const ARG_REASON: &str = "reason"; -async fn parse_ip(target: &str, server: &Server) -> Option { +fn parse_ip(target: &str, server: &Server) -> Option { Some(match IpAddr::from_str(target) { Ok(ip) => ip, - Err(_) => server - .get_player_by_name(target)? - .client - .address() - .await - .ip(), + Err(_) => server.get_player_by_name(target)?.client.address().ip(), }) } @@ -82,7 +77,7 @@ async fn ban_ip( ) -> Result { let reason = reason.unwrap_or_else(|| "Banned by an operator.".to_string()); - let Some(target_ip) = parse_ip(target, server).await else { + let Some(target_ip) = parse_ip(target, server) else { return Err(CommandError::CommandFailed(TextComponent::translate_cross( translation::java::COMMANDS_BANIP_INVALID, translation::bedrock::COMMANDS_BANIP_INVALID, @@ -111,7 +106,7 @@ async fn ban_ip( drop(banned_ips); // Send messages - let affected = server.get_players_by_ip(target_ip).await; + let affected = server.get_players_by_ip(target_ip); let names = affected .iter() .map(|p| p.gameprofile.name.clone()) diff --git a/pumpkin/src/command/commands/banlist.rs b/crates/pumpkin/src/command/commands/banlist.rs similarity index 100% rename from pumpkin/src/command/commands/banlist.rs rename to crates/pumpkin/src/command/commands/banlist.rs diff --git a/pumpkin/src/command/commands/bossbar.rs b/crates/pumpkin/src/command/commands/bossbar.rs similarity index 100% rename from pumpkin/src/command/commands/bossbar.rs rename to crates/pumpkin/src/command/commands/bossbar.rs diff --git a/pumpkin/src/command/commands/clear.rs b/crates/pumpkin/src/command/commands/clear.rs similarity index 100% rename from pumpkin/src/command/commands/clear.rs rename to crates/pumpkin/src/command/commands/clear.rs diff --git a/pumpkin/src/command/commands/clone.rs b/crates/pumpkin/src/command/commands/clone.rs similarity index 100% rename from pumpkin/src/command/commands/clone.rs rename to crates/pumpkin/src/command/commands/clone.rs diff --git a/pumpkin/src/command/commands/damage.rs b/crates/pumpkin/src/command/commands/damage.rs similarity index 100% rename from pumpkin/src/command/commands/damage.rs rename to crates/pumpkin/src/command/commands/damage.rs diff --git a/pumpkin/src/command/commands/data.rs b/crates/pumpkin/src/command/commands/data.rs similarity index 100% rename from pumpkin/src/command/commands/data.rs rename to crates/pumpkin/src/command/commands/data.rs diff --git a/pumpkin/src/command/commands/defaultgamemode.rs b/crates/pumpkin/src/command/commands/defaultgamemode.rs similarity index 100% rename from pumpkin/src/command/commands/defaultgamemode.rs rename to crates/pumpkin/src/command/commands/defaultgamemode.rs diff --git a/pumpkin/src/command/commands/deop.rs b/crates/pumpkin/src/command/commands/deop.rs similarity index 100% rename from pumpkin/src/command/commands/deop.rs rename to crates/pumpkin/src/command/commands/deop.rs diff --git a/pumpkin/src/command/commands/dialog.rs b/crates/pumpkin/src/command/commands/dialog.rs similarity index 100% rename from pumpkin/src/command/commands/dialog.rs rename to crates/pumpkin/src/command/commands/dialog.rs diff --git a/pumpkin/src/command/commands/difficulty.rs b/crates/pumpkin/src/command/commands/difficulty.rs similarity index 100% rename from pumpkin/src/command/commands/difficulty.rs rename to crates/pumpkin/src/command/commands/difficulty.rs diff --git a/pumpkin/src/command/commands/effect.rs b/crates/pumpkin/src/command/commands/effect.rs similarity index 100% rename from pumpkin/src/command/commands/effect.rs rename to crates/pumpkin/src/command/commands/effect.rs diff --git a/pumpkin/src/command/commands/enchant.rs b/crates/pumpkin/src/command/commands/enchant.rs similarity index 100% rename from pumpkin/src/command/commands/enchant.rs rename to crates/pumpkin/src/command/commands/enchant.rs diff --git a/pumpkin/src/command/commands/execute.rs b/crates/pumpkin/src/command/commands/execute.rs similarity index 100% rename from pumpkin/src/command/commands/execute.rs rename to crates/pumpkin/src/command/commands/execute.rs diff --git a/pumpkin/src/command/commands/experience.rs b/crates/pumpkin/src/command/commands/experience.rs similarity index 100% rename from pumpkin/src/command/commands/experience.rs rename to crates/pumpkin/src/command/commands/experience.rs diff --git a/pumpkin/src/command/commands/fill.rs b/crates/pumpkin/src/command/commands/fill.rs similarity index 100% rename from pumpkin/src/command/commands/fill.rs rename to crates/pumpkin/src/command/commands/fill.rs diff --git a/pumpkin/src/command/commands/fillbiome.rs b/crates/pumpkin/src/command/commands/fillbiome.rs similarity index 100% rename from pumpkin/src/command/commands/fillbiome.rs rename to crates/pumpkin/src/command/commands/fillbiome.rs diff --git a/pumpkin/src/command/commands/forceload.rs b/crates/pumpkin/src/command/commands/forceload.rs similarity index 100% rename from pumpkin/src/command/commands/forceload.rs rename to crates/pumpkin/src/command/commands/forceload.rs diff --git a/pumpkin/src/command/commands/gamemode.rs b/crates/pumpkin/src/command/commands/gamemode.rs similarity index 100% rename from pumpkin/src/command/commands/gamemode.rs rename to crates/pumpkin/src/command/commands/gamemode.rs diff --git a/pumpkin/src/command/commands/gamerule.rs b/crates/pumpkin/src/command/commands/gamerule.rs similarity index 100% rename from pumpkin/src/command/commands/gamerule.rs rename to crates/pumpkin/src/command/commands/gamerule.rs diff --git a/pumpkin/src/command/commands/give.rs b/crates/pumpkin/src/command/commands/give.rs similarity index 87% rename from pumpkin/src/command/commands/give.rs rename to crates/pumpkin/src/command/commands/give.rs index fb9af5b38..4be88ed9c 100644 --- a/pumpkin/src/command/commands/give.rs +++ b/crates/pumpkin/src/command/commands/give.rs @@ -3,11 +3,10 @@ use pumpkin_data::data_component_impl::{MaxStackSizeImpl, get}; use pumpkin_util::text::TextComponent; use pumpkin_util::text::hover::HoverEvent; -use crate::command::args::bounded_num::{BoundedNumArgumentConsumer, NotInBounds}; +use crate::command::args::bounded_num::BoundedNumArgumentConsumer; use crate::command::args::players::PlayersArgumentConsumer; use crate::command::args::resource::item::ItemArgumentConsumer; use crate::command::args::{ConsumedArgs, FindArg, FindArgDefaultName}; -use crate::command::dispatcher::CommandError; use crate::command::tree::CommandTree; use crate::command::tree::builder::{argument, argument_default_name}; use crate::command::{CommandExecutor, CommandResult, CommandSender}; @@ -44,18 +43,7 @@ impl CommandExecutor for Executor { let item_count = match item_count_consumer().find_arg_default_name(args) { Err(_) => 1, Ok(Ok(count)) => count, - Ok(Err(err)) => { - let err_msg = match err { - NotInBounds::LowerBound(_, min) => { - format!("Can't give less than {min} of {item_name}") - } - NotInBounds::UpperBound(_, max) => { - format!("Can't give more than {max} of {item_name}") - } - }; - - return Err(CommandError::CommandFailed(TextComponent::text(err_msg))); - } + Ok(Err(err)) => return Err(err.into()), }; for target in targets { diff --git a/pumpkin/src/command/commands/help.rs b/crates/pumpkin/src/command/commands/help.rs similarity index 100% rename from pumpkin/src/command/commands/help.rs rename to crates/pumpkin/src/command/commands/help.rs diff --git a/pumpkin/src/command/commands/item.rs b/crates/pumpkin/src/command/commands/item.rs similarity index 100% rename from pumpkin/src/command/commands/item.rs rename to crates/pumpkin/src/command/commands/item.rs diff --git a/pumpkin/src/command/commands/kick.rs b/crates/pumpkin/src/command/commands/kick.rs similarity index 97% rename from pumpkin/src/command/commands/kick.rs rename to crates/pumpkin/src/command/commands/kick.rs index 01bf15656..0f242f2bd 100644 --- a/pumpkin/src/command/commands/kick.rs +++ b/crates/pumpkin/src/command/commands/kick.rs @@ -39,7 +39,7 @@ impl CommandExecutor for Executor { Some(Arg::Msg(r)) => TextComponent::text(r.clone()), _ => TextComponent::translate_cross( translation::java::MULTIPLAYER_DISCONNECT_KICKED, - translation::java::MULTIPLAYER_DISCONNECT_KICKED, + translation::bedrock::DISCONNECT_KICKED, [], ), }; diff --git a/pumpkin/src/command/commands/kill.rs b/crates/pumpkin/src/command/commands/kill.rs similarity index 100% rename from pumpkin/src/command/commands/kill.rs rename to crates/pumpkin/src/command/commands/kill.rs diff --git a/pumpkin/src/command/commands/list.rs b/crates/pumpkin/src/command/commands/list.rs similarity index 100% rename from pumpkin/src/command/commands/list.rs rename to crates/pumpkin/src/command/commands/list.rs diff --git a/pumpkin/src/command/commands/loot.rs b/crates/pumpkin/src/command/commands/loot.rs similarity index 100% rename from pumpkin/src/command/commands/loot.rs rename to crates/pumpkin/src/command/commands/loot.rs diff --git a/pumpkin/src/command/commands/me.rs b/crates/pumpkin/src/command/commands/me.rs similarity index 100% rename from pumpkin/src/command/commands/me.rs rename to crates/pumpkin/src/command/commands/me.rs diff --git a/pumpkin/src/command/commands/mod.rs b/crates/pumpkin/src/command/commands/mod.rs similarity index 100% rename from pumpkin/src/command/commands/mod.rs rename to crates/pumpkin/src/command/commands/mod.rs diff --git a/pumpkin/src/command/commands/msg.rs b/crates/pumpkin/src/command/commands/msg.rs similarity index 100% rename from pumpkin/src/command/commands/msg.rs rename to crates/pumpkin/src/command/commands/msg.rs diff --git a/pumpkin/src/command/commands/op.rs b/crates/pumpkin/src/command/commands/op.rs similarity index 100% rename from pumpkin/src/command/commands/op.rs rename to crates/pumpkin/src/command/commands/op.rs diff --git a/pumpkin/src/command/commands/pardon.rs b/crates/pumpkin/src/command/commands/pardon.rs similarity index 100% rename from pumpkin/src/command/commands/pardon.rs rename to crates/pumpkin/src/command/commands/pardon.rs diff --git a/pumpkin/src/command/commands/pardonip.rs b/crates/pumpkin/src/command/commands/pardonip.rs similarity index 100% rename from pumpkin/src/command/commands/pardonip.rs rename to crates/pumpkin/src/command/commands/pardonip.rs diff --git a/pumpkin/src/command/commands/particle.rs b/crates/pumpkin/src/command/commands/particle.rs similarity index 100% rename from pumpkin/src/command/commands/particle.rs rename to crates/pumpkin/src/command/commands/particle.rs diff --git a/pumpkin/src/command/commands/place.rs b/crates/pumpkin/src/command/commands/place.rs similarity index 100% rename from pumpkin/src/command/commands/place.rs rename to crates/pumpkin/src/command/commands/place.rs diff --git a/pumpkin/src/command/commands/playsound.rs b/crates/pumpkin/src/command/commands/playsound.rs similarity index 100% rename from pumpkin/src/command/commands/playsound.rs rename to crates/pumpkin/src/command/commands/playsound.rs diff --git a/pumpkin/src/command/commands/plugin.rs b/crates/pumpkin/src/command/commands/plugin.rs similarity index 100% rename from pumpkin/src/command/commands/plugin.rs rename to crates/pumpkin/src/command/commands/plugin.rs diff --git a/pumpkin/src/command/commands/plugins.rs b/crates/pumpkin/src/command/commands/plugins.rs similarity index 100% rename from pumpkin/src/command/commands/plugins.rs rename to crates/pumpkin/src/command/commands/plugins.rs diff --git a/pumpkin/src/command/commands/pumpkin.rs b/crates/pumpkin/src/command/commands/pumpkin.rs similarity index 100% rename from pumpkin/src/command/commands/pumpkin.rs rename to crates/pumpkin/src/command/commands/pumpkin.rs diff --git a/pumpkin/src/command/commands/random.rs b/crates/pumpkin/src/command/commands/random.rs similarity index 100% rename from pumpkin/src/command/commands/random.rs rename to crates/pumpkin/src/command/commands/random.rs diff --git a/pumpkin/src/command/commands/recipe.rs b/crates/pumpkin/src/command/commands/recipe.rs similarity index 100% rename from pumpkin/src/command/commands/recipe.rs rename to crates/pumpkin/src/command/commands/recipe.rs diff --git a/pumpkin/src/command/commands/ride.rs b/crates/pumpkin/src/command/commands/ride.rs similarity index 100% rename from pumpkin/src/command/commands/ride.rs rename to crates/pumpkin/src/command/commands/ride.rs diff --git a/pumpkin/src/command/commands/rotate.rs b/crates/pumpkin/src/command/commands/rotate.rs similarity index 100% rename from pumpkin/src/command/commands/rotate.rs rename to crates/pumpkin/src/command/commands/rotate.rs diff --git a/pumpkin/src/command/commands/saveall.rs b/crates/pumpkin/src/command/commands/saveall.rs similarity index 100% rename from pumpkin/src/command/commands/saveall.rs rename to crates/pumpkin/src/command/commands/saveall.rs diff --git a/pumpkin/src/command/commands/saveoff.rs b/crates/pumpkin/src/command/commands/saveoff.rs similarity index 100% rename from pumpkin/src/command/commands/saveoff.rs rename to crates/pumpkin/src/command/commands/saveoff.rs diff --git a/pumpkin/src/command/commands/saveon.rs b/crates/pumpkin/src/command/commands/saveon.rs similarity index 100% rename from pumpkin/src/command/commands/saveon.rs rename to crates/pumpkin/src/command/commands/saveon.rs diff --git a/pumpkin/src/command/commands/say.rs b/crates/pumpkin/src/command/commands/say.rs similarity index 100% rename from pumpkin/src/command/commands/say.rs rename to crates/pumpkin/src/command/commands/say.rs diff --git a/pumpkin/src/command/commands/scoreboard.rs b/crates/pumpkin/src/command/commands/scoreboard.rs similarity index 100% rename from pumpkin/src/command/commands/scoreboard.rs rename to crates/pumpkin/src/command/commands/scoreboard.rs diff --git a/pumpkin/src/command/commands/seed.rs b/crates/pumpkin/src/command/commands/seed.rs similarity index 100% rename from pumpkin/src/command/commands/seed.rs rename to crates/pumpkin/src/command/commands/seed.rs diff --git a/pumpkin/src/command/commands/setblock.rs b/crates/pumpkin/src/command/commands/setblock.rs similarity index 100% rename from pumpkin/src/command/commands/setblock.rs rename to crates/pumpkin/src/command/commands/setblock.rs diff --git a/pumpkin/src/command/commands/setidletimeout.rs b/crates/pumpkin/src/command/commands/setidletimeout.rs similarity index 100% rename from pumpkin/src/command/commands/setidletimeout.rs rename to crates/pumpkin/src/command/commands/setidletimeout.rs diff --git a/pumpkin/src/command/commands/setworldspawn.rs b/crates/pumpkin/src/command/commands/setworldspawn.rs similarity index 100% rename from pumpkin/src/command/commands/setworldspawn.rs rename to crates/pumpkin/src/command/commands/setworldspawn.rs diff --git a/pumpkin/src/command/commands/spawnpoint.rs b/crates/pumpkin/src/command/commands/spawnpoint.rs similarity index 100% rename from pumpkin/src/command/commands/spawnpoint.rs rename to crates/pumpkin/src/command/commands/spawnpoint.rs diff --git a/pumpkin/src/command/commands/spectate.rs b/crates/pumpkin/src/command/commands/spectate.rs similarity index 100% rename from pumpkin/src/command/commands/spectate.rs rename to crates/pumpkin/src/command/commands/spectate.rs diff --git a/pumpkin/src/command/commands/spreadplayers.rs b/crates/pumpkin/src/command/commands/spreadplayers.rs similarity index 100% rename from pumpkin/src/command/commands/spreadplayers.rs rename to crates/pumpkin/src/command/commands/spreadplayers.rs diff --git a/pumpkin/src/command/commands/stop.rs b/crates/pumpkin/src/command/commands/stop.rs similarity index 100% rename from pumpkin/src/command/commands/stop.rs rename to crates/pumpkin/src/command/commands/stop.rs diff --git a/pumpkin/src/command/commands/stopsound.rs b/crates/pumpkin/src/command/commands/stopsound.rs similarity index 100% rename from pumpkin/src/command/commands/stopsound.rs rename to crates/pumpkin/src/command/commands/stopsound.rs diff --git a/pumpkin/src/command/commands/summon.rs b/crates/pumpkin/src/command/commands/summon.rs similarity index 100% rename from pumpkin/src/command/commands/summon.rs rename to crates/pumpkin/src/command/commands/summon.rs diff --git a/pumpkin/src/command/commands/tag.rs b/crates/pumpkin/src/command/commands/tag.rs similarity index 100% rename from pumpkin/src/command/commands/tag.rs rename to crates/pumpkin/src/command/commands/tag.rs diff --git a/pumpkin/src/command/commands/team.rs b/crates/pumpkin/src/command/commands/team.rs similarity index 100% rename from pumpkin/src/command/commands/team.rs rename to crates/pumpkin/src/command/commands/team.rs diff --git a/pumpkin/src/command/commands/teammsg.rs b/crates/pumpkin/src/command/commands/teammsg.rs similarity index 100% rename from pumpkin/src/command/commands/teammsg.rs rename to crates/pumpkin/src/command/commands/teammsg.rs diff --git a/pumpkin/src/command/commands/teleport.rs b/crates/pumpkin/src/command/commands/teleport.rs similarity index 100% rename from pumpkin/src/command/commands/teleport.rs rename to crates/pumpkin/src/command/commands/teleport.rs diff --git a/pumpkin/src/command/commands/tellraw.rs b/crates/pumpkin/src/command/commands/tellraw.rs similarity index 100% rename from pumpkin/src/command/commands/tellraw.rs rename to crates/pumpkin/src/command/commands/tellraw.rs diff --git a/pumpkin/src/command/commands/tick.rs b/crates/pumpkin/src/command/commands/tick.rs similarity index 100% rename from pumpkin/src/command/commands/tick.rs rename to crates/pumpkin/src/command/commands/tick.rs diff --git a/pumpkin/src/command/commands/time.rs b/crates/pumpkin/src/command/commands/time.rs similarity index 100% rename from pumpkin/src/command/commands/time.rs rename to crates/pumpkin/src/command/commands/time.rs diff --git a/pumpkin/src/command/commands/title.rs b/crates/pumpkin/src/command/commands/title.rs similarity index 100% rename from pumpkin/src/command/commands/title.rs rename to crates/pumpkin/src/command/commands/title.rs diff --git a/pumpkin/src/command/commands/tps.rs b/crates/pumpkin/src/command/commands/tps.rs similarity index 100% rename from pumpkin/src/command/commands/tps.rs rename to crates/pumpkin/src/command/commands/tps.rs diff --git a/pumpkin/src/command/commands/transfer.rs b/crates/pumpkin/src/command/commands/transfer.rs similarity index 100% rename from pumpkin/src/command/commands/transfer.rs rename to crates/pumpkin/src/command/commands/transfer.rs diff --git a/pumpkin/src/command/commands/trigger.rs b/crates/pumpkin/src/command/commands/trigger.rs similarity index 100% rename from pumpkin/src/command/commands/trigger.rs rename to crates/pumpkin/src/command/commands/trigger.rs diff --git a/pumpkin/src/command/commands/weather.rs b/crates/pumpkin/src/command/commands/weather.rs similarity index 100% rename from pumpkin/src/command/commands/weather.rs rename to crates/pumpkin/src/command/commands/weather.rs diff --git a/pumpkin/src/command/commands/whitelist.rs b/crates/pumpkin/src/command/commands/whitelist.rs similarity index 100% rename from pumpkin/src/command/commands/whitelist.rs rename to crates/pumpkin/src/command/commands/whitelist.rs diff --git a/pumpkin/src/command/commands/worldborder.rs b/crates/pumpkin/src/command/commands/worldborder.rs similarity index 100% rename from pumpkin/src/command/commands/worldborder.rs rename to crates/pumpkin/src/command/commands/worldborder.rs diff --git a/pumpkin/src/command/context/command_context.rs b/crates/pumpkin/src/command/context/command_context.rs similarity index 100% rename from pumpkin/src/command/context/command_context.rs rename to crates/pumpkin/src/command/context/command_context.rs diff --git a/pumpkin/src/command/context/command_source.rs b/crates/pumpkin/src/command/context/command_source.rs similarity index 100% rename from pumpkin/src/command/context/command_source.rs rename to crates/pumpkin/src/command/context/command_source.rs diff --git a/pumpkin/src/command/context/mod.rs b/crates/pumpkin/src/command/context/mod.rs similarity index 100% rename from pumpkin/src/command/context/mod.rs rename to crates/pumpkin/src/command/context/mod.rs diff --git a/pumpkin/src/command/context/string_range.rs b/crates/pumpkin/src/command/context/string_range.rs similarity index 100% rename from pumpkin/src/command/context/string_range.rs rename to crates/pumpkin/src/command/context/string_range.rs diff --git a/pumpkin/src/command/dispatcher.rs b/crates/pumpkin/src/command/dispatcher.rs similarity index 99% rename from pumpkin/src/command/dispatcher.rs rename to crates/pumpkin/src/command/dispatcher.rs index 301df2046..12ba012e9 100644 --- a/pumpkin/src/command/dispatcher.rs +++ b/crates/pumpkin/src/command/dispatcher.rs @@ -24,7 +24,7 @@ pub enum CommandError { /// That only happens when consumption is wrongly implemented, as it should ensure parsing may /// never fail. InvalidConsumption(Option), - /// Return this if a condition that a [`Node::Require`] should ensure is met is not met. + /// Return this if a condition that a `Node::Require` should ensure is met is not met. InvalidRequirement, /// The command could not be executed due to insufficient permissions. /// The user attempting to run the command lacks the necessary authorization. diff --git a/pumpkin/src/command/errors/command_syntax_error.rs b/crates/pumpkin/src/command/errors/command_syntax_error.rs similarity index 100% rename from pumpkin/src/command/errors/command_syntax_error.rs rename to crates/pumpkin/src/command/errors/command_syntax_error.rs diff --git a/pumpkin/src/command/errors/error_types.rs b/crates/pumpkin/src/command/errors/error_types.rs similarity index 100% rename from pumpkin/src/command/errors/error_types.rs rename to crates/pumpkin/src/command/errors/error_types.rs diff --git a/pumpkin/src/command/errors/mod.rs b/crates/pumpkin/src/command/errors/mod.rs similarity index 100% rename from pumpkin/src/command/errors/mod.rs rename to crates/pumpkin/src/command/errors/mod.rs diff --git a/pumpkin/src/command/mod.rs b/crates/pumpkin/src/command/mod.rs similarity index 100% rename from pumpkin/src/command/mod.rs rename to crates/pumpkin/src/command/mod.rs diff --git a/pumpkin/src/command/node/attached.rs b/crates/pumpkin/src/command/node/attached.rs similarity index 96% rename from pumpkin/src/command/node/attached.rs rename to crates/pumpkin/src/command/node/attached.rs index 07939245b..e628bd57d 100644 --- a/pumpkin/src/command/node/attached.rs +++ b/crates/pumpkin/src/command/node/attached.rs @@ -68,7 +68,7 @@ impl From for NodeId { } } -/// Represents a node which has been attached as the root of a [`Tree`]. +/// Represents a node which has been attached as the root of a `Tree`. #[derive(Clone)] pub struct RootAttachedNode { pub owned: OwnedNodeData, @@ -98,7 +98,7 @@ impl RootAttachedNode { } /// Represents a literal, non-command node that has already been attached -/// to a [`Tree`]. +/// to a `Tree`. #[derive(Clone)] pub struct LiteralAttachedNode { pub owned: OwnedNodeData, @@ -108,7 +108,7 @@ pub struct LiteralAttachedNode { } /// Represents a literal, command node that has already been attached -/// to a [`Tree`]. +/// to a `Tree`. #[derive(Clone)] pub struct CommandAttachedNode { pub owned: OwnedNodeData, @@ -118,7 +118,7 @@ pub struct CommandAttachedNode { } /// Represents a node that accepts a specific type of argument that has already been attached -/// to a [`Tree`]. +/// to a `Tree`. #[derive(Clone)] pub struct ArgumentAttachedNode { pub owned: OwnedNodeData, @@ -137,7 +137,7 @@ pub enum NodeClassification { Argument, } -/// Represents a node not attached to a [`Tree`] yet. +/// Represents a node not attached to a `Tree` yet. #[derive(Clone)] pub enum AttachedNode { Root(RootAttachedNode), @@ -305,13 +305,13 @@ impl AttachedNode { self.owned_node_data_mut_ref().modifier = modifier; } - /// Whether this node forks [`CommandSources`] or not. + /// Whether this node forks `CommandSources` or not. #[must_use] pub const fn forks(&self) -> bool { self.owned_node_data_ref().forks } - /// Sets whether this node forks [`CommandSources`] or not. + /// Sets whether this node forks `CommandSources` or not. pub const fn set_forks(&mut self, forks: bool) { self.owned_node_data_mut_ref().forks = forks; } @@ -364,7 +364,7 @@ impl AttachedNode { } /// Parses the given input for this node. - /// Prefer using a [`CommandDispatcher`] over this function directly. + /// Prefer using a `CommandDispatcher` over this function directly. pub fn parse( &self, reader: &mut StringReader, @@ -377,7 +377,7 @@ impl AttachedNode { ) } - /// Internal function to parse a literal. Used by [`Tree`]. + /// Internal function to parse a literal. Used by `Tree`. pub fn parse_literal( reader: &mut StringReader, literal: &str, diff --git a/pumpkin/src/command/node/detached.rs b/crates/pumpkin/src/command/node/detached.rs similarity index 97% rename from pumpkin/src/command/node/detached.rs rename to crates/pumpkin/src/command/node/detached.rs index e331d62bb..8bcea4113 100644 --- a/pumpkin/src/command/node/detached.rs +++ b/crates/pumpkin/src/command/node/detached.rs @@ -168,7 +168,7 @@ impl ArgumentDetachedNode { } } -/// Represents a node not attached to a [`Tree`] yet. +/// Represents a node not attached to a `Tree` yet. pub enum DetachedNode { Literal(LiteralDetachedNode), Command(CommandDetachedNode), @@ -177,7 +177,7 @@ pub enum DetachedNode { /// Represents a [`DetachedNode`] that has been irreversibly /// decomposed into its elements so that it can be recast -/// into a new [`AttachedNode`]. +/// into a new `AttachedNode`. pub struct DecomposedNode { pub owned: OwnedNodeData, pub children: FxHashMap, @@ -205,7 +205,7 @@ impl From for DetachedNode { impl DetachedNode { /// Irreversibly decomposes this [`DetachedNode`] into its constituent elements. - /// This allows it to then be recast into a new [`AttachedNode`]. + /// This allows it to then be recast into a new `AttachedNode`. #[must_use] pub fn decompose(self) -> DecomposedNode { match self { diff --git a/pumpkin/src/command/node/dispatcher.rs b/crates/pumpkin/src/command/node/dispatcher.rs similarity index 100% rename from pumpkin/src/command/node/dispatcher.rs rename to crates/pumpkin/src/command/node/dispatcher.rs diff --git a/pumpkin/src/command/node/mod.rs b/crates/pumpkin/src/command/node/mod.rs similarity index 100% rename from pumpkin/src/command/node/mod.rs rename to crates/pumpkin/src/command/node/mod.rs diff --git a/pumpkin/src/command/node/tree.rs b/crates/pumpkin/src/command/node/tree.rs similarity index 100% rename from pumpkin/src/command/node/tree.rs rename to crates/pumpkin/src/command/node/tree.rs diff --git a/pumpkin/src/command/parser.rs b/crates/pumpkin/src/command/parser.rs similarity index 99% rename from pumpkin/src/command/parser.rs rename to crates/pumpkin/src/command/parser.rs index fc56cf07d..2c755938a 100644 --- a/pumpkin/src/command/parser.rs +++ b/crates/pumpkin/src/command/parser.rs @@ -5,7 +5,7 @@ use crate::command::{ string_reader::StringReader, }; -/// A delayed version of [`CommandSyntaxError`]. +/// A delayed version of `CommandSyntaxError`. #[derive(Debug, Clone, PartialEq, Eq)] pub struct DelayedCommandSyntaxError { pub error_type: &'static dyn AnyCommandErrorType, diff --git a/pumpkin/src/command/snbt/markers.rs b/crates/pumpkin/src/command/snbt/markers.rs similarity index 100% rename from pumpkin/src/command/snbt/markers.rs rename to crates/pumpkin/src/command/snbt/markers.rs diff --git a/pumpkin/src/command/snbt/mod.rs b/crates/pumpkin/src/command/snbt/mod.rs similarity index 100% rename from pumpkin/src/command/snbt/mod.rs rename to crates/pumpkin/src/command/snbt/mod.rs diff --git a/pumpkin/src/command/snbt/operations.rs b/crates/pumpkin/src/command/snbt/operations.rs similarity index 100% rename from pumpkin/src/command/snbt/operations.rs rename to crates/pumpkin/src/command/snbt/operations.rs diff --git a/pumpkin/src/command/snbt/rules.rs b/crates/pumpkin/src/command/snbt/rules.rs similarity index 100% rename from pumpkin/src/command/snbt/rules.rs rename to crates/pumpkin/src/command/snbt/rules.rs diff --git a/pumpkin/src/command/snbt/tests.rs b/crates/pumpkin/src/command/snbt/tests.rs similarity index 100% rename from pumpkin/src/command/snbt/tests.rs rename to crates/pumpkin/src/command/snbt/tests.rs diff --git a/pumpkin/src/command/string_reader.rs b/crates/pumpkin/src/command/string_reader.rs similarity index 100% rename from pumpkin/src/command/string_reader.rs rename to crates/pumpkin/src/command/string_reader.rs diff --git a/pumpkin/src/command/suggestion/mod.rs b/crates/pumpkin/src/command/suggestion/mod.rs similarity index 98% rename from pumpkin/src/command/suggestion/mod.rs rename to crates/pumpkin/src/command/suggestion/mod.rs index 740c27038..241949657 100644 --- a/pumpkin/src/command/suggestion/mod.rs +++ b/crates/pumpkin/src/command/suggestion/mod.rs @@ -10,11 +10,11 @@ use crate::command::context::string_range::StringRange; /// A structure that describes the text of a suggestion. /// It's actual value can either be a [`String`], or an [`i32`]. /// -/// Use the [`new`] method to create new [`SuggestionType`]s. +/// Use the [`new`] method to create new [`SuggestionText`]s. /// /// If you want to use an `i32` for a suggestion's text, -/// go with [`SuggestionType::Integer`]. In all other cases, -/// go with [`SuggestionType::Text`]. +/// go with [`SuggestionText::Integer`]. In all other cases, +/// go with [`SuggestionText::Text`]. /// /// # Invariant /// A [`SuggestionText::Text`] **shall not exist** if it can instead diff --git a/pumpkin/src/command/suggestion/provider.rs b/crates/pumpkin/src/command/suggestion/provider.rs similarity index 100% rename from pumpkin/src/command/suggestion/provider.rs rename to crates/pumpkin/src/command/suggestion/provider.rs diff --git a/pumpkin/src/command/suggestion/suggestions.rs b/crates/pumpkin/src/command/suggestion/suggestions.rs similarity index 100% rename from pumpkin/src/command/suggestion/suggestions.rs rename to crates/pumpkin/src/command/suggestion/suggestions.rs diff --git a/pumpkin/src/command/tree/builder.rs b/crates/pumpkin/src/command/tree/builder.rs similarity index 91% rename from pumpkin/src/command/tree/builder.rs rename to crates/pumpkin/src/command/tree/builder.rs index 50f514746..d1ee4e299 100644 --- a/pumpkin/src/command/tree/builder.rs +++ b/crates/pumpkin/src/command/tree/builder.rs @@ -35,7 +35,7 @@ impl CommandTree { /// Executes if a command terminates at this [Node], i.e. without any arguments. /// - /// [`ConsumedArgs`] maps the names of all + /// `ConsumedArgs` maps the names of all /// arguments to the result of their consumption, i.e. a string that can be parsed to the /// desired type. /// @@ -112,7 +112,7 @@ impl NonLeafNodeBuilder { /// Executes if a command terminates at this [Node]. /// - /// [`ConsumedArgs`] maps the names of all + /// `ConsumedArgs` maps the names of all /// arguments to the result of their consumption, i.e. a string that can be parsed to the /// desired type. /// @@ -141,13 +141,13 @@ pub fn literal(string: impl Into) -> NonLeafNodeBuilder { } } -/// ```name``` identifies this argument in [`ConsumedArgs`]. +/// `name` identifies this argument in `ConsumedArgs`. /// -/// ```consumer: ArgumentConsumer``` has the purpose of validating arguments. Conversion may start +/// `consumer: ArgumentConsumer` has the purpose of validating arguments. Conversion may start /// here, as long as the result remains a [String] (e.g. convert offset to absolute position actual /// coordinates), because the result of this function will be passed to following -/// [`NonLeafNodeBuilder::execute`] nodes in a [`ConsumedArgs`] instance. It must remove consumed arg(s) -/// from [`RawArgs`] and return them. It must return None if [`RawArgs`] are invalid. [`RawArgs`] is +/// [`NonLeafNodeBuilder::execute`] nodes in a `ConsumedArgs` instance. It must remove consumed arg(s) +/// from `RawArgs` and return them. It must return None if `RawArgs` are invalid. `RawArgs` is /// reversed, so [`Vec::pop`] can be used to obtain args in ltr order. pub fn argument( name: impl Into, diff --git a/pumpkin/src/command/tree/format.rs b/crates/pumpkin/src/command/tree/format.rs similarity index 100% rename from pumpkin/src/command/tree/format.rs rename to crates/pumpkin/src/command/tree/format.rs diff --git a/pumpkin/src/command/tree/mod.rs b/crates/pumpkin/src/command/tree/mod.rs similarity index 98% rename from pumpkin/src/command/tree/mod.rs rename to crates/pumpkin/src/command/tree/mod.rs index 7eb21395a..4d2aa2831 100644 --- a/pumpkin/src/command/tree/mod.rs +++ b/crates/pumpkin/src/command/tree/mod.rs @@ -23,7 +23,7 @@ impl Debug for RawArg<'_> { } } -/// see [`crate::commands::tree::builder::argument`] +/// see [`crate::command::tree::builder::argument`] pub type RawArgs<'a> = Vec>; #[derive(Debug, Clone)] diff --git a/pumpkin/src/crash.rs b/crates/pumpkin/src/crash.rs similarity index 100% rename from pumpkin/src/crash.rs rename to crates/pumpkin/src/crash.rs diff --git a/pumpkin/src/data/advancement_data.rs b/crates/pumpkin/src/data/advancement_data.rs similarity index 100% rename from pumpkin/src/data/advancement_data.rs rename to crates/pumpkin/src/data/advancement_data.rs diff --git a/pumpkin/src/data/banlist_serializer.rs b/crates/pumpkin/src/data/banlist_serializer.rs similarity index 100% rename from pumpkin/src/data/banlist_serializer.rs rename to crates/pumpkin/src/data/banlist_serializer.rs diff --git a/pumpkin/src/data/banned_ip.rs b/crates/pumpkin/src/data/banned_ip.rs similarity index 100% rename from pumpkin/src/data/banned_ip.rs rename to crates/pumpkin/src/data/banned_ip.rs diff --git a/pumpkin/src/data/banned_player.rs b/crates/pumpkin/src/data/banned_player.rs similarity index 100% rename from pumpkin/src/data/banned_player.rs rename to crates/pumpkin/src/data/banned_player.rs diff --git a/pumpkin/src/data/mod.rs b/crates/pumpkin/src/data/mod.rs similarity index 100% rename from pumpkin/src/data/mod.rs rename to crates/pumpkin/src/data/mod.rs diff --git a/pumpkin/src/data/op.rs b/crates/pumpkin/src/data/op.rs similarity index 100% rename from pumpkin/src/data/op.rs rename to crates/pumpkin/src/data/op.rs diff --git a/pumpkin/src/data/player_server.rs b/crates/pumpkin/src/data/player_server.rs similarity index 100% rename from pumpkin/src/data/player_server.rs rename to crates/pumpkin/src/data/player_server.rs diff --git a/pumpkin/src/data/usercache.rs b/crates/pumpkin/src/data/usercache.rs similarity index 100% rename from pumpkin/src/data/usercache.rs rename to crates/pumpkin/src/data/usercache.rs diff --git a/pumpkin/src/data/whitelist.rs b/crates/pumpkin/src/data/whitelist.rs similarity index 100% rename from pumpkin/src/data/whitelist.rs rename to crates/pumpkin/src/data/whitelist.rs diff --git a/pumpkin/src/entity/ageable.rs b/crates/pumpkin/src/entity/ageable.rs similarity index 100% rename from pumpkin/src/entity/ageable.rs rename to crates/pumpkin/src/entity/ageable.rs diff --git a/pumpkin/src/entity/ai/control/look_control.rs b/crates/pumpkin/src/entity/ai/control/look_control.rs similarity index 100% rename from pumpkin/src/entity/ai/control/look_control.rs rename to crates/pumpkin/src/entity/ai/control/look_control.rs diff --git a/pumpkin/src/entity/ai/control/mod.rs b/crates/pumpkin/src/entity/ai/control/mod.rs similarity index 100% rename from pumpkin/src/entity/ai/control/mod.rs rename to crates/pumpkin/src/entity/ai/control/mod.rs diff --git a/pumpkin/src/entity/ai/control/move_control.rs b/crates/pumpkin/src/entity/ai/control/move_control.rs similarity index 100% rename from pumpkin/src/entity/ai/control/move_control.rs rename to crates/pumpkin/src/entity/ai/control/move_control.rs diff --git a/pumpkin/src/entity/ai/goal/active_target.rs b/crates/pumpkin/src/entity/ai/goal/active_target.rs similarity index 100% rename from pumpkin/src/entity/ai/goal/active_target.rs rename to crates/pumpkin/src/entity/ai/goal/active_target.rs diff --git a/pumpkin/src/entity/ai/goal/ambient_stand.rs b/crates/pumpkin/src/entity/ai/goal/ambient_stand.rs similarity index 100% rename from pumpkin/src/entity/ai/goal/ambient_stand.rs rename to crates/pumpkin/src/entity/ai/goal/ambient_stand.rs diff --git a/pumpkin/src/entity/ai/goal/avoid_entity.rs b/crates/pumpkin/src/entity/ai/goal/avoid_entity.rs similarity index 100% rename from pumpkin/src/entity/ai/goal/avoid_entity.rs rename to crates/pumpkin/src/entity/ai/goal/avoid_entity.rs diff --git a/pumpkin/src/entity/ai/goal/beg.rs b/crates/pumpkin/src/entity/ai/goal/beg.rs similarity index 100% rename from pumpkin/src/entity/ai/goal/beg.rs rename to crates/pumpkin/src/entity/ai/goal/beg.rs diff --git a/pumpkin/src/entity/ai/goal/blaze_attack.rs b/crates/pumpkin/src/entity/ai/goal/blaze_attack.rs similarity index 100% rename from pumpkin/src/entity/ai/goal/blaze_attack.rs rename to crates/pumpkin/src/entity/ai/goal/blaze_attack.rs diff --git a/pumpkin/src/entity/ai/goal/breed.rs b/crates/pumpkin/src/entity/ai/goal/breed.rs similarity index 100% rename from pumpkin/src/entity/ai/goal/breed.rs rename to crates/pumpkin/src/entity/ai/goal/breed.rs diff --git a/pumpkin/src/entity/ai/goal/chase_player.rs b/crates/pumpkin/src/entity/ai/goal/chase_player.rs similarity index 100% rename from pumpkin/src/entity/ai/goal/chase_player.rs rename to crates/pumpkin/src/entity/ai/goal/chase_player.rs diff --git a/pumpkin/src/entity/ai/goal/creeper_ignite.rs b/crates/pumpkin/src/entity/ai/goal/creeper_ignite.rs similarity index 100% rename from pumpkin/src/entity/ai/goal/creeper_ignite.rs rename to crates/pumpkin/src/entity/ai/goal/creeper_ignite.rs diff --git a/pumpkin/src/entity/ai/goal/destroy_egg.rs b/crates/pumpkin/src/entity/ai/goal/destroy_egg.rs similarity index 91% rename from pumpkin/src/entity/ai/goal/destroy_egg.rs rename to crates/pumpkin/src/entity/ai/goal/destroy_egg.rs index 758e7252f..557f08be2 100644 --- a/pumpkin/src/entity/ai/goal/destroy_egg.rs +++ b/crates/pumpkin/src/entity/ai/goal/destroy_egg.rs @@ -29,10 +29,11 @@ impl DestroyEggGoal { ), }); + // SAFETY: `this` heap allocation address is pinned in Box and outlives `ParentHandle` references. this.step_and_destroy_block_goal.stepping = unsafe { ParentHandle::new(&this) }; - this.step_and_destroy_block_goal - .move_to_target_pos_goal - .move_to_target_pos = unsafe { ParentHandle::new(&this) }; + this.step_and_destroy_block_goal.move_to_target_pos_goal.move_to_target_pos = + // SAFETY: `this` heap allocation address is pinned in Box and outlives `ParentHandle` references. + unsafe { ParentHandle::new(&this) }; this } diff --git a/pumpkin/src/entity/ai/goal/eat_grass.rs b/crates/pumpkin/src/entity/ai/goal/eat_grass.rs similarity index 100% rename from pumpkin/src/entity/ai/goal/eat_grass.rs rename to crates/pumpkin/src/entity/ai/goal/eat_grass.rs diff --git a/pumpkin/src/entity/ai/goal/escape_danger.rs b/crates/pumpkin/src/entity/ai/goal/escape_danger.rs similarity index 100% rename from pumpkin/src/entity/ai/goal/escape_danger.rs rename to crates/pumpkin/src/entity/ai/goal/escape_danger.rs diff --git a/pumpkin/src/entity/ai/goal/follow_owner.rs b/crates/pumpkin/src/entity/ai/goal/follow_owner.rs similarity index 100% rename from pumpkin/src/entity/ai/goal/follow_owner.rs rename to crates/pumpkin/src/entity/ai/goal/follow_owner.rs diff --git a/pumpkin/src/entity/ai/goal/follow_parent.rs b/crates/pumpkin/src/entity/ai/goal/follow_parent.rs similarity index 100% rename from pumpkin/src/entity/ai/goal/follow_parent.rs rename to crates/pumpkin/src/entity/ai/goal/follow_parent.rs diff --git a/pumpkin/src/entity/ai/goal/goal_selector.rs b/crates/pumpkin/src/entity/ai/goal/goal_selector.rs similarity index 100% rename from pumpkin/src/entity/ai/goal/goal_selector.rs rename to crates/pumpkin/src/entity/ai/goal/goal_selector.rs diff --git a/pumpkin/src/entity/ai/goal/look_around.rs b/crates/pumpkin/src/entity/ai/goal/look_around.rs similarity index 100% rename from pumpkin/src/entity/ai/goal/look_around.rs rename to crates/pumpkin/src/entity/ai/goal/look_around.rs diff --git a/pumpkin/src/entity/ai/goal/look_at_entity.rs b/crates/pumpkin/src/entity/ai/goal/look_at_entity.rs similarity index 100% rename from pumpkin/src/entity/ai/goal/look_at_entity.rs rename to crates/pumpkin/src/entity/ai/goal/look_at_entity.rs diff --git a/pumpkin/src/entity/ai/goal/melee_attack.rs b/crates/pumpkin/src/entity/ai/goal/melee_attack.rs similarity index 100% rename from pumpkin/src/entity/ai/goal/melee_attack.rs rename to crates/pumpkin/src/entity/ai/goal/melee_attack.rs diff --git a/pumpkin/src/entity/ai/goal/mod.rs b/crates/pumpkin/src/entity/ai/goal/mod.rs similarity index 94% rename from pumpkin/src/entity/ai/goal/mod.rs rename to crates/pumpkin/src/entity/ai/goal/mod.rs index 1b5f13d7d..3165bd2db 100644 --- a/pumpkin/src/entity/ai/goal/mod.rs +++ b/crates/pumpkin/src/entity/ai/goal/mod.rs @@ -267,6 +267,7 @@ impl

ParentHandle

{ if self.ptr.is_null() { None } else { + // SAFETY: `self.ptr` was initialized from a valid reference in `ParentHandle::new` and outlives `ParentHandle`. unsafe { Some(&*self.ptr) } } } @@ -278,6 +279,7 @@ impl

Default for ParentHandle

{ } } -// This is safe since we own everything. +// SAFETY: ParentHandle stores a raw pointer `*const P` to parent goal structures managed within the same AI engine instance. unsafe impl

Sync for ParentHandle

{} +// SAFETY: ParentHandle stores a raw pointer `*const P` to parent goal structures managed within the same AI engine instance. unsafe impl

Send for ParentHandle

{} diff --git a/pumpkin/src/entity/ai/goal/move_to_target_pos.rs b/crates/pumpkin/src/entity/ai/goal/move_to_target_pos.rs similarity index 100% rename from pumpkin/src/entity/ai/goal/move_to_target_pos.rs rename to crates/pumpkin/src/entity/ai/goal/move_to_target_pos.rs diff --git a/pumpkin/src/entity/ai/goal/owner_hurt_by_target.rs b/crates/pumpkin/src/entity/ai/goal/owner_hurt_by_target.rs similarity index 100% rename from pumpkin/src/entity/ai/goal/owner_hurt_by_target.rs rename to crates/pumpkin/src/entity/ai/goal/owner_hurt_by_target.rs diff --git a/pumpkin/src/entity/ai/goal/owner_hurt_target.rs b/crates/pumpkin/src/entity/ai/goal/owner_hurt_target.rs similarity index 100% rename from pumpkin/src/entity/ai/goal/owner_hurt_target.rs rename to crates/pumpkin/src/entity/ai/goal/owner_hurt_target.rs diff --git a/pumpkin/src/entity/ai/goal/pick_up_block.rs b/crates/pumpkin/src/entity/ai/goal/pick_up_block.rs similarity index 100% rename from pumpkin/src/entity/ai/goal/pick_up_block.rs rename to crates/pumpkin/src/entity/ai/goal/pick_up_block.rs diff --git a/pumpkin/src/entity/ai/goal/place_block.rs b/crates/pumpkin/src/entity/ai/goal/place_block.rs similarity index 100% rename from pumpkin/src/entity/ai/goal/place_block.rs rename to crates/pumpkin/src/entity/ai/goal/place_block.rs diff --git a/pumpkin/src/entity/ai/goal/revenge.rs b/crates/pumpkin/src/entity/ai/goal/revenge.rs similarity index 100% rename from pumpkin/src/entity/ai/goal/revenge.rs rename to crates/pumpkin/src/entity/ai/goal/revenge.rs diff --git a/pumpkin/src/entity/ai/goal/step_and_destroy_block.rs b/crates/pumpkin/src/entity/ai/goal/step_and_destroy_block.rs similarity index 100% rename from pumpkin/src/entity/ai/goal/step_and_destroy_block.rs rename to crates/pumpkin/src/entity/ai/goal/step_and_destroy_block.rs diff --git a/pumpkin/src/entity/ai/goal/swim.rs b/crates/pumpkin/src/entity/ai/goal/swim.rs similarity index 100% rename from pumpkin/src/entity/ai/goal/swim.rs rename to crates/pumpkin/src/entity/ai/goal/swim.rs diff --git a/pumpkin/src/entity/ai/goal/teleport_towards_player.rs b/crates/pumpkin/src/entity/ai/goal/teleport_towards_player.rs similarity index 100% rename from pumpkin/src/entity/ai/goal/teleport_towards_player.rs rename to crates/pumpkin/src/entity/ai/goal/teleport_towards_player.rs diff --git a/pumpkin/src/entity/ai/goal/tempt.rs b/crates/pumpkin/src/entity/ai/goal/tempt.rs similarity index 100% rename from pumpkin/src/entity/ai/goal/tempt.rs rename to crates/pumpkin/src/entity/ai/goal/tempt.rs diff --git a/pumpkin/src/entity/ai/goal/track_target.rs b/crates/pumpkin/src/entity/ai/goal/track_target.rs similarity index 100% rename from pumpkin/src/entity/ai/goal/track_target.rs rename to crates/pumpkin/src/entity/ai/goal/track_target.rs diff --git a/pumpkin/src/entity/ai/goal/wander_around.rs b/crates/pumpkin/src/entity/ai/goal/wander_around.rs similarity index 100% rename from pumpkin/src/entity/ai/goal/wander_around.rs rename to crates/pumpkin/src/entity/ai/goal/wander_around.rs diff --git a/pumpkin/src/entity/ai/goal/zombie_attack.rs b/crates/pumpkin/src/entity/ai/goal/zombie_attack.rs similarity index 100% rename from pumpkin/src/entity/ai/goal/zombie_attack.rs rename to crates/pumpkin/src/entity/ai/goal/zombie_attack.rs diff --git a/pumpkin/src/entity/ai/mod.rs b/crates/pumpkin/src/entity/ai/mod.rs similarity index 100% rename from pumpkin/src/entity/ai/mod.rs rename to crates/pumpkin/src/entity/ai/mod.rs diff --git a/pumpkin/src/entity/ai/pathfinder/binary_heap.rs b/crates/pumpkin/src/entity/ai/pathfinder/binary_heap.rs similarity index 100% rename from pumpkin/src/entity/ai/pathfinder/binary_heap.rs rename to crates/pumpkin/src/entity/ai/pathfinder/binary_heap.rs diff --git a/pumpkin/src/entity/ai/pathfinder/mod.rs b/crates/pumpkin/src/entity/ai/pathfinder/mod.rs similarity index 100% rename from pumpkin/src/entity/ai/pathfinder/mod.rs rename to crates/pumpkin/src/entity/ai/pathfinder/mod.rs diff --git a/pumpkin/src/entity/ai/pathfinder/node.rs b/crates/pumpkin/src/entity/ai/pathfinder/node.rs similarity index 100% rename from pumpkin/src/entity/ai/pathfinder/node.rs rename to crates/pumpkin/src/entity/ai/pathfinder/node.rs diff --git a/pumpkin/src/entity/ai/pathfinder/node_evaluator.rs b/crates/pumpkin/src/entity/ai/pathfinder/node_evaluator.rs similarity index 100% rename from pumpkin/src/entity/ai/pathfinder/node_evaluator.rs rename to crates/pumpkin/src/entity/ai/pathfinder/node_evaluator.rs diff --git a/pumpkin/src/entity/ai/pathfinder/path.rs b/crates/pumpkin/src/entity/ai/pathfinder/path.rs similarity index 100% rename from pumpkin/src/entity/ai/pathfinder/path.rs rename to crates/pumpkin/src/entity/ai/pathfinder/path.rs diff --git a/pumpkin/src/entity/ai/pathfinder/path_type_cache.rs b/crates/pumpkin/src/entity/ai/pathfinder/path_type_cache.rs similarity index 100% rename from pumpkin/src/entity/ai/pathfinder/path_type_cache.rs rename to crates/pumpkin/src/entity/ai/pathfinder/path_type_cache.rs diff --git a/pumpkin/src/entity/ai/pathfinder/pathfinding_context.rs b/crates/pumpkin/src/entity/ai/pathfinder/pathfinding_context.rs similarity index 100% rename from pumpkin/src/entity/ai/pathfinder/pathfinding_context.rs rename to crates/pumpkin/src/entity/ai/pathfinder/pathfinding_context.rs diff --git a/pumpkin/src/entity/ai/pathfinder/walk_node_evaluator.rs b/crates/pumpkin/src/entity/ai/pathfinder/walk_node_evaluator.rs similarity index 100% rename from pumpkin/src/entity/ai/pathfinder/walk_node_evaluator.rs rename to crates/pumpkin/src/entity/ai/pathfinder/walk_node_evaluator.rs diff --git a/pumpkin/src/entity/ai/target_predicate.rs b/crates/pumpkin/src/entity/ai/target_predicate.rs similarity index 100% rename from pumpkin/src/entity/ai/target_predicate.rs rename to crates/pumpkin/src/entity/ai/target_predicate.rs diff --git a/pumpkin/src/entity/area_effect_cloud.rs b/crates/pumpkin/src/entity/area_effect_cloud.rs similarity index 100% rename from pumpkin/src/entity/area_effect_cloud.rs rename to crates/pumpkin/src/entity/area_effect_cloud.rs diff --git a/pumpkin/src/entity/attributes.rs b/crates/pumpkin/src/entity/attributes.rs similarity index 100% rename from pumpkin/src/entity/attributes.rs rename to crates/pumpkin/src/entity/attributes.rs diff --git a/pumpkin/src/entity/boss/ender_dragon.rs b/crates/pumpkin/src/entity/boss/ender_dragon.rs similarity index 100% rename from pumpkin/src/entity/boss/ender_dragon.rs rename to crates/pumpkin/src/entity/boss/ender_dragon.rs diff --git a/pumpkin/src/entity/boss/ender_dragon/flight_history.rs b/crates/pumpkin/src/entity/boss/ender_dragon/flight_history.rs similarity index 100% rename from pumpkin/src/entity/boss/ender_dragon/flight_history.rs rename to crates/pumpkin/src/entity/boss/ender_dragon/flight_history.rs diff --git a/pumpkin/src/entity/boss/ender_dragon/phase/charging.rs b/crates/pumpkin/src/entity/boss/ender_dragon/phase/charging.rs similarity index 100% rename from pumpkin/src/entity/boss/ender_dragon/phase/charging.rs rename to crates/pumpkin/src/entity/boss/ender_dragon/phase/charging.rs diff --git a/pumpkin/src/entity/boss/ender_dragon/phase/circling.rs b/crates/pumpkin/src/entity/boss/ender_dragon/phase/circling.rs similarity index 100% rename from pumpkin/src/entity/boss/ender_dragon/phase/circling.rs rename to crates/pumpkin/src/entity/boss/ender_dragon/phase/circling.rs diff --git a/pumpkin/src/entity/boss/ender_dragon/phase/dying.rs b/crates/pumpkin/src/entity/boss/ender_dragon/phase/dying.rs similarity index 100% rename from pumpkin/src/entity/boss/ender_dragon/phase/dying.rs rename to crates/pumpkin/src/entity/boss/ender_dragon/phase/dying.rs diff --git a/pumpkin/src/entity/boss/ender_dragon/phase/fly_to_portal.rs b/crates/pumpkin/src/entity/boss/ender_dragon/phase/fly_to_portal.rs similarity index 100% rename from pumpkin/src/entity/boss/ender_dragon/phase/fly_to_portal.rs rename to crates/pumpkin/src/entity/boss/ender_dragon/phase/fly_to_portal.rs diff --git a/pumpkin/src/entity/boss/ender_dragon/phase/hovering.rs b/crates/pumpkin/src/entity/boss/ender_dragon/phase/hovering.rs similarity index 100% rename from pumpkin/src/entity/boss/ender_dragon/phase/hovering.rs rename to crates/pumpkin/src/entity/boss/ender_dragon/phase/hovering.rs diff --git a/pumpkin/src/entity/boss/ender_dragon/phase/landing.rs b/crates/pumpkin/src/entity/boss/ender_dragon/phase/landing.rs similarity index 100% rename from pumpkin/src/entity/boss/ender_dragon/phase/landing.rs rename to crates/pumpkin/src/entity/boss/ender_dragon/phase/landing.rs diff --git a/pumpkin/src/entity/boss/ender_dragon/phase/landing_approach.rs b/crates/pumpkin/src/entity/boss/ender_dragon/phase/landing_approach.rs similarity index 100% rename from pumpkin/src/entity/boss/ender_dragon/phase/landing_approach.rs rename to crates/pumpkin/src/entity/boss/ender_dragon/phase/landing_approach.rs diff --git a/pumpkin/src/entity/boss/ender_dragon/phase/mod.rs b/crates/pumpkin/src/entity/boss/ender_dragon/phase/mod.rs similarity index 100% rename from pumpkin/src/entity/boss/ender_dragon/phase/mod.rs rename to crates/pumpkin/src/entity/boss/ender_dragon/phase/mod.rs diff --git a/pumpkin/src/entity/boss/ender_dragon/phase/sit_attacking.rs b/crates/pumpkin/src/entity/boss/ender_dragon/phase/sit_attacking.rs similarity index 100% rename from pumpkin/src/entity/boss/ender_dragon/phase/sit_attacking.rs rename to crates/pumpkin/src/entity/boss/ender_dragon/phase/sit_attacking.rs diff --git a/pumpkin/src/entity/boss/ender_dragon/phase/sit_breathing.rs b/crates/pumpkin/src/entity/boss/ender_dragon/phase/sit_breathing.rs similarity index 100% rename from pumpkin/src/entity/boss/ender_dragon/phase/sit_breathing.rs rename to crates/pumpkin/src/entity/boss/ender_dragon/phase/sit_breathing.rs diff --git a/pumpkin/src/entity/boss/ender_dragon/phase/strafing.rs b/crates/pumpkin/src/entity/boss/ender_dragon/phase/strafing.rs similarity index 100% rename from pumpkin/src/entity/boss/ender_dragon/phase/strafing.rs rename to crates/pumpkin/src/entity/boss/ender_dragon/phase/strafing.rs diff --git a/pumpkin/src/entity/boss/ender_dragon/phase/taking_off.rs b/crates/pumpkin/src/entity/boss/ender_dragon/phase/taking_off.rs similarity index 100% rename from pumpkin/src/entity/boss/ender_dragon/phase/taking_off.rs rename to crates/pumpkin/src/entity/boss/ender_dragon/phase/taking_off.rs diff --git a/pumpkin/src/entity/boss/mod.rs b/crates/pumpkin/src/entity/boss/mod.rs similarity index 100% rename from pumpkin/src/entity/boss/mod.rs rename to crates/pumpkin/src/entity/boss/mod.rs diff --git a/pumpkin/src/entity/boss/wither.rs b/crates/pumpkin/src/entity/boss/wither.rs similarity index 100% rename from pumpkin/src/entity/boss/wither.rs rename to crates/pumpkin/src/entity/boss/wither.rs diff --git a/pumpkin/src/entity/breath.rs b/crates/pumpkin/src/entity/breath.rs similarity index 100% rename from pumpkin/src/entity/breath.rs rename to crates/pumpkin/src/entity/breath.rs diff --git a/pumpkin/src/entity/combat.rs b/crates/pumpkin/src/entity/combat.rs similarity index 100% rename from pumpkin/src/entity/combat.rs rename to crates/pumpkin/src/entity/combat.rs diff --git a/pumpkin/src/entity/decoration/armor_stand.rs b/crates/pumpkin/src/entity/decoration/armor_stand.rs similarity index 100% rename from pumpkin/src/entity/decoration/armor_stand.rs rename to crates/pumpkin/src/entity/decoration/armor_stand.rs diff --git a/pumpkin/src/entity/decoration/end_crystal.rs b/crates/pumpkin/src/entity/decoration/end_crystal.rs similarity index 100% rename from pumpkin/src/entity/decoration/end_crystal.rs rename to crates/pumpkin/src/entity/decoration/end_crystal.rs diff --git a/pumpkin/src/entity/decoration/item_frame.rs b/crates/pumpkin/src/entity/decoration/item_frame.rs similarity index 100% rename from pumpkin/src/entity/decoration/item_frame.rs rename to crates/pumpkin/src/entity/decoration/item_frame.rs diff --git a/pumpkin/src/entity/decoration/leash_knot.rs b/crates/pumpkin/src/entity/decoration/leash_knot.rs similarity index 100% rename from pumpkin/src/entity/decoration/leash_knot.rs rename to crates/pumpkin/src/entity/decoration/leash_knot.rs diff --git a/pumpkin/src/entity/decoration/mod.rs b/crates/pumpkin/src/entity/decoration/mod.rs similarity index 100% rename from pumpkin/src/entity/decoration/mod.rs rename to crates/pumpkin/src/entity/decoration/mod.rs diff --git a/pumpkin/src/entity/decoration/painting.rs b/crates/pumpkin/src/entity/decoration/painting.rs similarity index 100% rename from pumpkin/src/entity/decoration/painting.rs rename to crates/pumpkin/src/entity/decoration/painting.rs diff --git a/pumpkin/src/entity/effect/mod.rs b/crates/pumpkin/src/entity/effect/mod.rs similarity index 100% rename from pumpkin/src/entity/effect/mod.rs rename to crates/pumpkin/src/entity/effect/mod.rs diff --git a/pumpkin/src/entity/experience_orb.rs b/crates/pumpkin/src/entity/experience_orb.rs similarity index 100% rename from pumpkin/src/entity/experience_orb.rs rename to crates/pumpkin/src/entity/experience_orb.rs diff --git a/pumpkin/src/entity/falling.rs b/crates/pumpkin/src/entity/falling.rs similarity index 100% rename from pumpkin/src/entity/falling.rs rename to crates/pumpkin/src/entity/falling.rs diff --git a/pumpkin/src/entity/hunger.rs b/crates/pumpkin/src/entity/hunger.rs similarity index 100% rename from pumpkin/src/entity/hunger.rs rename to crates/pumpkin/src/entity/hunger.rs diff --git a/pumpkin/src/entity/item.rs b/crates/pumpkin/src/entity/item.rs similarity index 100% rename from pumpkin/src/entity/item.rs rename to crates/pumpkin/src/entity/item.rs diff --git a/pumpkin/src/entity/living.rs b/crates/pumpkin/src/entity/living.rs similarity index 100% rename from pumpkin/src/entity/living.rs rename to crates/pumpkin/src/entity/living.rs diff --git a/pumpkin/src/entity/mob/bat.rs b/crates/pumpkin/src/entity/mob/bat.rs similarity index 100% rename from pumpkin/src/entity/mob/bat.rs rename to crates/pumpkin/src/entity/mob/bat.rs diff --git a/pumpkin/src/entity/mob/blaze.rs b/crates/pumpkin/src/entity/mob/blaze.rs similarity index 100% rename from pumpkin/src/entity/mob/blaze.rs rename to crates/pumpkin/src/entity/mob/blaze.rs diff --git a/pumpkin/src/entity/mob/breeze.rs b/crates/pumpkin/src/entity/mob/breeze.rs similarity index 100% rename from pumpkin/src/entity/mob/breeze.rs rename to crates/pumpkin/src/entity/mob/breeze.rs diff --git a/pumpkin/src/entity/mob/cave_spider.rs b/crates/pumpkin/src/entity/mob/cave_spider.rs similarity index 100% rename from pumpkin/src/entity/mob/cave_spider.rs rename to crates/pumpkin/src/entity/mob/cave_spider.rs diff --git a/pumpkin/src/entity/mob/creaking.rs b/crates/pumpkin/src/entity/mob/creaking.rs similarity index 100% rename from pumpkin/src/entity/mob/creaking.rs rename to crates/pumpkin/src/entity/mob/creaking.rs diff --git a/pumpkin/src/entity/mob/creeper.rs b/crates/pumpkin/src/entity/mob/creeper.rs similarity index 100% rename from pumpkin/src/entity/mob/creeper.rs rename to crates/pumpkin/src/entity/mob/creeper.rs diff --git a/pumpkin/src/entity/mob/elder_guardian.rs b/crates/pumpkin/src/entity/mob/elder_guardian.rs similarity index 100% rename from pumpkin/src/entity/mob/elder_guardian.rs rename to crates/pumpkin/src/entity/mob/elder_guardian.rs diff --git a/pumpkin/src/entity/mob/enderman.rs b/crates/pumpkin/src/entity/mob/enderman.rs similarity index 100% rename from pumpkin/src/entity/mob/enderman.rs rename to crates/pumpkin/src/entity/mob/enderman.rs diff --git a/pumpkin/src/entity/mob/endermite.rs b/crates/pumpkin/src/entity/mob/endermite.rs similarity index 100% rename from pumpkin/src/entity/mob/endermite.rs rename to crates/pumpkin/src/entity/mob/endermite.rs diff --git a/pumpkin/src/entity/mob/equipment.rs b/crates/pumpkin/src/entity/mob/equipment.rs similarity index 100% rename from pumpkin/src/entity/mob/equipment.rs rename to crates/pumpkin/src/entity/mob/equipment.rs diff --git a/pumpkin/src/entity/mob/evoker.rs b/crates/pumpkin/src/entity/mob/evoker.rs similarity index 100% rename from pumpkin/src/entity/mob/evoker.rs rename to crates/pumpkin/src/entity/mob/evoker.rs diff --git a/pumpkin/src/entity/mob/ghast.rs b/crates/pumpkin/src/entity/mob/ghast.rs similarity index 100% rename from pumpkin/src/entity/mob/ghast.rs rename to crates/pumpkin/src/entity/mob/ghast.rs diff --git a/pumpkin/src/entity/mob/giant.rs b/crates/pumpkin/src/entity/mob/giant.rs similarity index 100% rename from pumpkin/src/entity/mob/giant.rs rename to crates/pumpkin/src/entity/mob/giant.rs diff --git a/pumpkin/src/entity/mob/guardian.rs b/crates/pumpkin/src/entity/mob/guardian.rs similarity index 100% rename from pumpkin/src/entity/mob/guardian.rs rename to crates/pumpkin/src/entity/mob/guardian.rs diff --git a/pumpkin/src/entity/mob/hoglin.rs b/crates/pumpkin/src/entity/mob/hoglin.rs similarity index 100% rename from pumpkin/src/entity/mob/hoglin.rs rename to crates/pumpkin/src/entity/mob/hoglin.rs diff --git a/pumpkin/src/entity/mob/illusioner.rs b/crates/pumpkin/src/entity/mob/illusioner.rs similarity index 100% rename from pumpkin/src/entity/mob/illusioner.rs rename to crates/pumpkin/src/entity/mob/illusioner.rs diff --git a/pumpkin/src/entity/mob/magma_cube.rs b/crates/pumpkin/src/entity/mob/magma_cube.rs similarity index 100% rename from pumpkin/src/entity/mob/magma_cube.rs rename to crates/pumpkin/src/entity/mob/magma_cube.rs diff --git a/pumpkin/src/entity/mob/mod.rs b/crates/pumpkin/src/entity/mob/mod.rs similarity index 100% rename from pumpkin/src/entity/mob/mod.rs rename to crates/pumpkin/src/entity/mob/mod.rs diff --git a/pumpkin/src/entity/mob/phantom.rs b/crates/pumpkin/src/entity/mob/phantom.rs similarity index 100% rename from pumpkin/src/entity/mob/phantom.rs rename to crates/pumpkin/src/entity/mob/phantom.rs diff --git a/pumpkin/src/entity/mob/piglin.rs b/crates/pumpkin/src/entity/mob/piglin.rs similarity index 100% rename from pumpkin/src/entity/mob/piglin.rs rename to crates/pumpkin/src/entity/mob/piglin.rs diff --git a/pumpkin/src/entity/mob/piglin_brute.rs b/crates/pumpkin/src/entity/mob/piglin_brute.rs similarity index 100% rename from pumpkin/src/entity/mob/piglin_brute.rs rename to crates/pumpkin/src/entity/mob/piglin_brute.rs diff --git a/pumpkin/src/entity/mob/pillager.rs b/crates/pumpkin/src/entity/mob/pillager.rs similarity index 100% rename from pumpkin/src/entity/mob/pillager.rs rename to crates/pumpkin/src/entity/mob/pillager.rs diff --git a/pumpkin/src/entity/mob/ravager.rs b/crates/pumpkin/src/entity/mob/ravager.rs similarity index 100% rename from pumpkin/src/entity/mob/ravager.rs rename to crates/pumpkin/src/entity/mob/ravager.rs diff --git a/pumpkin/src/entity/mob/shulker.rs b/crates/pumpkin/src/entity/mob/shulker.rs similarity index 100% rename from pumpkin/src/entity/mob/shulker.rs rename to crates/pumpkin/src/entity/mob/shulker.rs diff --git a/pumpkin/src/entity/mob/silverfish.rs b/crates/pumpkin/src/entity/mob/silverfish.rs similarity index 100% rename from pumpkin/src/entity/mob/silverfish.rs rename to crates/pumpkin/src/entity/mob/silverfish.rs diff --git a/pumpkin/src/entity/mob/skeleton/bogged.rs b/crates/pumpkin/src/entity/mob/skeleton/bogged.rs similarity index 100% rename from pumpkin/src/entity/mob/skeleton/bogged.rs rename to crates/pumpkin/src/entity/mob/skeleton/bogged.rs diff --git a/pumpkin/src/entity/mob/skeleton/mod.rs b/crates/pumpkin/src/entity/mob/skeleton/mod.rs similarity index 100% rename from pumpkin/src/entity/mob/skeleton/mod.rs rename to crates/pumpkin/src/entity/mob/skeleton/mod.rs diff --git a/pumpkin/src/entity/mob/skeleton/parched.rs b/crates/pumpkin/src/entity/mob/skeleton/parched.rs similarity index 100% rename from pumpkin/src/entity/mob/skeleton/parched.rs rename to crates/pumpkin/src/entity/mob/skeleton/parched.rs diff --git a/pumpkin/src/entity/mob/skeleton/skeleton.rs b/crates/pumpkin/src/entity/mob/skeleton/skeleton.rs similarity index 100% rename from pumpkin/src/entity/mob/skeleton/skeleton.rs rename to crates/pumpkin/src/entity/mob/skeleton/skeleton.rs diff --git a/pumpkin/src/entity/mob/skeleton/stray.rs b/crates/pumpkin/src/entity/mob/skeleton/stray.rs similarity index 100% rename from pumpkin/src/entity/mob/skeleton/stray.rs rename to crates/pumpkin/src/entity/mob/skeleton/stray.rs diff --git a/pumpkin/src/entity/mob/skeleton/wither.rs b/crates/pumpkin/src/entity/mob/skeleton/wither.rs similarity index 100% rename from pumpkin/src/entity/mob/skeleton/wither.rs rename to crates/pumpkin/src/entity/mob/skeleton/wither.rs diff --git a/pumpkin/src/entity/mob/slime.rs b/crates/pumpkin/src/entity/mob/slime.rs similarity index 100% rename from pumpkin/src/entity/mob/slime.rs rename to crates/pumpkin/src/entity/mob/slime.rs diff --git a/pumpkin/src/entity/mob/spider.rs b/crates/pumpkin/src/entity/mob/spider.rs similarity index 100% rename from pumpkin/src/entity/mob/spider.rs rename to crates/pumpkin/src/entity/mob/spider.rs diff --git a/pumpkin/src/entity/mob/vex.rs b/crates/pumpkin/src/entity/mob/vex.rs similarity index 100% rename from pumpkin/src/entity/mob/vex.rs rename to crates/pumpkin/src/entity/mob/vex.rs diff --git a/pumpkin/src/entity/mob/vindicator.rs b/crates/pumpkin/src/entity/mob/vindicator.rs similarity index 100% rename from pumpkin/src/entity/mob/vindicator.rs rename to crates/pumpkin/src/entity/mob/vindicator.rs diff --git a/pumpkin/src/entity/mob/warden.rs b/crates/pumpkin/src/entity/mob/warden.rs similarity index 100% rename from pumpkin/src/entity/mob/warden.rs rename to crates/pumpkin/src/entity/mob/warden.rs diff --git a/pumpkin/src/entity/mob/witch.rs b/crates/pumpkin/src/entity/mob/witch.rs similarity index 100% rename from pumpkin/src/entity/mob/witch.rs rename to crates/pumpkin/src/entity/mob/witch.rs diff --git a/pumpkin/src/entity/mob/zoglin.rs b/crates/pumpkin/src/entity/mob/zoglin.rs similarity index 100% rename from pumpkin/src/entity/mob/zoglin.rs rename to crates/pumpkin/src/entity/mob/zoglin.rs diff --git a/pumpkin/src/entity/mob/zombie/drowned.rs b/crates/pumpkin/src/entity/mob/zombie/drowned.rs similarity index 100% rename from pumpkin/src/entity/mob/zombie/drowned.rs rename to crates/pumpkin/src/entity/mob/zombie/drowned.rs diff --git a/pumpkin/src/entity/mob/zombie/husk.rs b/crates/pumpkin/src/entity/mob/zombie/husk.rs similarity index 100% rename from pumpkin/src/entity/mob/zombie/husk.rs rename to crates/pumpkin/src/entity/mob/zombie/husk.rs diff --git a/pumpkin/src/entity/mob/zombie/mod.rs b/crates/pumpkin/src/entity/mob/zombie/mod.rs similarity index 100% rename from pumpkin/src/entity/mob/zombie/mod.rs rename to crates/pumpkin/src/entity/mob/zombie/mod.rs diff --git a/pumpkin/src/entity/mob/zombie/zombie.rs b/crates/pumpkin/src/entity/mob/zombie/zombie.rs similarity index 100% rename from pumpkin/src/entity/mob/zombie/zombie.rs rename to crates/pumpkin/src/entity/mob/zombie/zombie.rs diff --git a/pumpkin/src/entity/mob/zombie/zombie_villager.rs b/crates/pumpkin/src/entity/mob/zombie/zombie_villager.rs similarity index 100% rename from pumpkin/src/entity/mob/zombie/zombie_villager.rs rename to crates/pumpkin/src/entity/mob/zombie/zombie_villager.rs diff --git a/pumpkin/src/entity/mob/zombified_piglin.rs b/crates/pumpkin/src/entity/mob/zombified_piglin.rs similarity index 100% rename from pumpkin/src/entity/mob/zombified_piglin.rs rename to crates/pumpkin/src/entity/mob/zombified_piglin.rs diff --git a/pumpkin/src/entity/mod.rs b/crates/pumpkin/src/entity/mod.rs similarity index 100% rename from pumpkin/src/entity/mod.rs rename to crates/pumpkin/src/entity/mod.rs diff --git a/pumpkin/src/entity/passive/allay.rs b/crates/pumpkin/src/entity/passive/allay.rs similarity index 100% rename from pumpkin/src/entity/passive/allay.rs rename to crates/pumpkin/src/entity/passive/allay.rs diff --git a/pumpkin/src/entity/passive/animal.rs b/crates/pumpkin/src/entity/passive/animal.rs similarity index 100% rename from pumpkin/src/entity/passive/animal.rs rename to crates/pumpkin/src/entity/passive/animal.rs diff --git a/pumpkin/src/entity/passive/armadillo.rs b/crates/pumpkin/src/entity/passive/armadillo.rs similarity index 100% rename from pumpkin/src/entity/passive/armadillo.rs rename to crates/pumpkin/src/entity/passive/armadillo.rs diff --git a/pumpkin/src/entity/passive/axolotl.rs b/crates/pumpkin/src/entity/passive/axolotl.rs similarity index 100% rename from pumpkin/src/entity/passive/axolotl.rs rename to crates/pumpkin/src/entity/passive/axolotl.rs diff --git a/pumpkin/src/entity/passive/bee.rs b/crates/pumpkin/src/entity/passive/bee.rs similarity index 100% rename from pumpkin/src/entity/passive/bee.rs rename to crates/pumpkin/src/entity/passive/bee.rs diff --git a/pumpkin/src/entity/passive/camel.rs b/crates/pumpkin/src/entity/passive/camel.rs similarity index 100% rename from pumpkin/src/entity/passive/camel.rs rename to crates/pumpkin/src/entity/passive/camel.rs diff --git a/pumpkin/src/entity/passive/cat.rs b/crates/pumpkin/src/entity/passive/cat.rs similarity index 100% rename from pumpkin/src/entity/passive/cat.rs rename to crates/pumpkin/src/entity/passive/cat.rs diff --git a/pumpkin/src/entity/passive/chicken.rs b/crates/pumpkin/src/entity/passive/chicken.rs similarity index 100% rename from pumpkin/src/entity/passive/chicken.rs rename to crates/pumpkin/src/entity/passive/chicken.rs diff --git a/pumpkin/src/entity/passive/cod.rs b/crates/pumpkin/src/entity/passive/cod.rs similarity index 100% rename from pumpkin/src/entity/passive/cod.rs rename to crates/pumpkin/src/entity/passive/cod.rs diff --git a/pumpkin/src/entity/passive/cow.rs b/crates/pumpkin/src/entity/passive/cow.rs similarity index 100% rename from pumpkin/src/entity/passive/cow.rs rename to crates/pumpkin/src/entity/passive/cow.rs diff --git a/pumpkin/src/entity/passive/dolphin.rs b/crates/pumpkin/src/entity/passive/dolphin.rs similarity index 100% rename from pumpkin/src/entity/passive/dolphin.rs rename to crates/pumpkin/src/entity/passive/dolphin.rs diff --git a/pumpkin/src/entity/passive/donkey.rs b/crates/pumpkin/src/entity/passive/donkey.rs similarity index 100% rename from pumpkin/src/entity/passive/donkey.rs rename to crates/pumpkin/src/entity/passive/donkey.rs diff --git a/pumpkin/src/entity/passive/fox.rs b/crates/pumpkin/src/entity/passive/fox.rs similarity index 100% rename from pumpkin/src/entity/passive/fox.rs rename to crates/pumpkin/src/entity/passive/fox.rs diff --git a/pumpkin/src/entity/passive/frog.rs b/crates/pumpkin/src/entity/passive/frog.rs similarity index 100% rename from pumpkin/src/entity/passive/frog.rs rename to crates/pumpkin/src/entity/passive/frog.rs diff --git a/pumpkin/src/entity/passive/glow_squid.rs b/crates/pumpkin/src/entity/passive/glow_squid.rs similarity index 100% rename from pumpkin/src/entity/passive/glow_squid.rs rename to crates/pumpkin/src/entity/passive/glow_squid.rs diff --git a/pumpkin/src/entity/passive/goat.rs b/crates/pumpkin/src/entity/passive/goat.rs similarity index 100% rename from pumpkin/src/entity/passive/goat.rs rename to crates/pumpkin/src/entity/passive/goat.rs diff --git a/pumpkin/src/entity/passive/horse.rs b/crates/pumpkin/src/entity/passive/horse.rs similarity index 100% rename from pumpkin/src/entity/passive/horse.rs rename to crates/pumpkin/src/entity/passive/horse.rs diff --git a/pumpkin/src/entity/passive/iron_golem.rs b/crates/pumpkin/src/entity/passive/iron_golem.rs similarity index 100% rename from pumpkin/src/entity/passive/iron_golem.rs rename to crates/pumpkin/src/entity/passive/iron_golem.rs diff --git a/pumpkin/src/entity/passive/llama.rs b/crates/pumpkin/src/entity/passive/llama.rs similarity index 100% rename from pumpkin/src/entity/passive/llama.rs rename to crates/pumpkin/src/entity/passive/llama.rs diff --git a/pumpkin/src/entity/passive/mod.rs b/crates/pumpkin/src/entity/passive/mod.rs similarity index 100% rename from pumpkin/src/entity/passive/mod.rs rename to crates/pumpkin/src/entity/passive/mod.rs diff --git a/pumpkin/src/entity/passive/mooshroom.rs b/crates/pumpkin/src/entity/passive/mooshroom.rs similarity index 100% rename from pumpkin/src/entity/passive/mooshroom.rs rename to crates/pumpkin/src/entity/passive/mooshroom.rs diff --git a/pumpkin/src/entity/passive/mule.rs b/crates/pumpkin/src/entity/passive/mule.rs similarity index 100% rename from pumpkin/src/entity/passive/mule.rs rename to crates/pumpkin/src/entity/passive/mule.rs diff --git a/pumpkin/src/entity/passive/ocelot.rs b/crates/pumpkin/src/entity/passive/ocelot.rs similarity index 100% rename from pumpkin/src/entity/passive/ocelot.rs rename to crates/pumpkin/src/entity/passive/ocelot.rs diff --git a/pumpkin/src/entity/passive/panda.rs b/crates/pumpkin/src/entity/passive/panda.rs similarity index 100% rename from pumpkin/src/entity/passive/panda.rs rename to crates/pumpkin/src/entity/passive/panda.rs diff --git a/pumpkin/src/entity/passive/parrot.rs b/crates/pumpkin/src/entity/passive/parrot.rs similarity index 100% rename from pumpkin/src/entity/passive/parrot.rs rename to crates/pumpkin/src/entity/passive/parrot.rs diff --git a/pumpkin/src/entity/passive/pig.rs b/crates/pumpkin/src/entity/passive/pig.rs similarity index 100% rename from pumpkin/src/entity/passive/pig.rs rename to crates/pumpkin/src/entity/passive/pig.rs diff --git a/pumpkin/src/entity/passive/polar_bear.rs b/crates/pumpkin/src/entity/passive/polar_bear.rs similarity index 100% rename from pumpkin/src/entity/passive/polar_bear.rs rename to crates/pumpkin/src/entity/passive/polar_bear.rs diff --git a/pumpkin/src/entity/passive/pufferfish.rs b/crates/pumpkin/src/entity/passive/pufferfish.rs similarity index 100% rename from pumpkin/src/entity/passive/pufferfish.rs rename to crates/pumpkin/src/entity/passive/pufferfish.rs diff --git a/pumpkin/src/entity/passive/rabbit.rs b/crates/pumpkin/src/entity/passive/rabbit.rs similarity index 100% rename from pumpkin/src/entity/passive/rabbit.rs rename to crates/pumpkin/src/entity/passive/rabbit.rs diff --git a/pumpkin/src/entity/passive/salmon.rs b/crates/pumpkin/src/entity/passive/salmon.rs similarity index 100% rename from pumpkin/src/entity/passive/salmon.rs rename to crates/pumpkin/src/entity/passive/salmon.rs diff --git a/pumpkin/src/entity/passive/sheep.rs b/crates/pumpkin/src/entity/passive/sheep.rs similarity index 100% rename from pumpkin/src/entity/passive/sheep.rs rename to crates/pumpkin/src/entity/passive/sheep.rs diff --git a/pumpkin/src/entity/passive/skeleton_horse.rs b/crates/pumpkin/src/entity/passive/skeleton_horse.rs similarity index 100% rename from pumpkin/src/entity/passive/skeleton_horse.rs rename to crates/pumpkin/src/entity/passive/skeleton_horse.rs diff --git a/pumpkin/src/entity/passive/sniffer.rs b/crates/pumpkin/src/entity/passive/sniffer.rs similarity index 100% rename from pumpkin/src/entity/passive/sniffer.rs rename to crates/pumpkin/src/entity/passive/sniffer.rs diff --git a/pumpkin/src/entity/passive/snow_golem.rs b/crates/pumpkin/src/entity/passive/snow_golem.rs similarity index 100% rename from pumpkin/src/entity/passive/snow_golem.rs rename to crates/pumpkin/src/entity/passive/snow_golem.rs diff --git a/pumpkin/src/entity/passive/squid.rs b/crates/pumpkin/src/entity/passive/squid.rs similarity index 100% rename from pumpkin/src/entity/passive/squid.rs rename to crates/pumpkin/src/entity/passive/squid.rs diff --git a/pumpkin/src/entity/passive/strider.rs b/crates/pumpkin/src/entity/passive/strider.rs similarity index 100% rename from pumpkin/src/entity/passive/strider.rs rename to crates/pumpkin/src/entity/passive/strider.rs diff --git a/pumpkin/src/entity/passive/tadpole.rs b/crates/pumpkin/src/entity/passive/tadpole.rs similarity index 100% rename from pumpkin/src/entity/passive/tadpole.rs rename to crates/pumpkin/src/entity/passive/tadpole.rs diff --git a/pumpkin/src/entity/passive/trader_llama.rs b/crates/pumpkin/src/entity/passive/trader_llama.rs similarity index 100% rename from pumpkin/src/entity/passive/trader_llama.rs rename to crates/pumpkin/src/entity/passive/trader_llama.rs diff --git a/pumpkin/src/entity/passive/tropical_fish.rs b/crates/pumpkin/src/entity/passive/tropical_fish.rs similarity index 100% rename from pumpkin/src/entity/passive/tropical_fish.rs rename to crates/pumpkin/src/entity/passive/tropical_fish.rs diff --git a/pumpkin/src/entity/passive/turtle.rs b/crates/pumpkin/src/entity/passive/turtle.rs similarity index 100% rename from pumpkin/src/entity/passive/turtle.rs rename to crates/pumpkin/src/entity/passive/turtle.rs diff --git a/pumpkin/src/entity/passive/villager/data.rs b/crates/pumpkin/src/entity/passive/villager/data.rs similarity index 100% rename from pumpkin/src/entity/passive/villager/data.rs rename to crates/pumpkin/src/entity/passive/villager/data.rs diff --git a/pumpkin/src/entity/passive/villager/mod.rs b/crates/pumpkin/src/entity/passive/villager/mod.rs similarity index 99% rename from pumpkin/src/entity/passive/villager/mod.rs rename to crates/pumpkin/src/entity/passive/villager/mod.rs index d87a92b24..32e965beb 100644 --- a/pumpkin/src/entity/passive/villager/mod.rs +++ b/crates/pumpkin/src/entity/passive/villager/mod.rs @@ -402,7 +402,11 @@ impl ScreenHandlerFactory for VillagerEntity { fn get_display_name(&self) -> TextComponent { // TODO: Localized name based on profession - TextComponent::text("Villager") + TextComponent::translate_cross( + pumpkin_data::translation::java::ENTITY_MINECRAFT_VILLAGER, + pumpkin_data::translation::bedrock::ENTITY_VILLAGER_NAME, + [], + ) } } diff --git a/pumpkin/src/entity/passive/wandering_trader.rs b/crates/pumpkin/src/entity/passive/wandering_trader.rs similarity index 100% rename from pumpkin/src/entity/passive/wandering_trader.rs rename to crates/pumpkin/src/entity/passive/wandering_trader.rs diff --git a/pumpkin/src/entity/passive/wolf.rs b/crates/pumpkin/src/entity/passive/wolf.rs similarity index 100% rename from pumpkin/src/entity/passive/wolf.rs rename to crates/pumpkin/src/entity/passive/wolf.rs diff --git a/pumpkin/src/entity/passive/zombie_horse.rs b/crates/pumpkin/src/entity/passive/zombie_horse.rs similarity index 100% rename from pumpkin/src/entity/passive/zombie_horse.rs rename to crates/pumpkin/src/entity/passive/zombie_horse.rs diff --git a/pumpkin/src/entity/player.rs b/crates/pumpkin/src/entity/player.rs similarity index 99% rename from pumpkin/src/entity/player.rs rename to crates/pumpkin/src/entity/player.rs index cfbea8256..53be210e8 100644 --- a/pumpkin/src/entity/player.rs +++ b/crates/pumpkin/src/entity/player.rs @@ -3036,8 +3036,8 @@ impl Player { self.living_entity.set_absorption(absorption).await; } - pub async fn get_ip(&self) -> String { - self.client.address().await.to_string() + pub fn get_ip(&self) -> String { + self.client.address().to_string() } pub async fn respawn(self: &Arc) { @@ -3088,7 +3088,7 @@ impl Player { || "Banned by an operator.".to_string(), pumpkin_util::text::TextComponent::get_text, ); - let target_ip = self.client.address().await.ip(); + let target_ip = self.client.address().ip(); if banned_ips.get_entry(&target_ip).is_some() { return; @@ -3114,7 +3114,7 @@ impl Player { ) }); - let affected = server.get_players_by_ip(target_ip).await; + let affected = server.get_players_by_ip(target_ip); for target in affected { target .kick(DisconnectReason::Kicked, kick_reason.clone()) diff --git a/pumpkin/src/entity/player/advancement.rs b/crates/pumpkin/src/entity/player/advancement.rs similarity index 100% rename from pumpkin/src/entity/player/advancement.rs rename to crates/pumpkin/src/entity/player/advancement.rs diff --git a/pumpkin/src/entity/player/advancement/trigger.rs b/crates/pumpkin/src/entity/player/advancement/trigger.rs similarity index 100% rename from pumpkin/src/entity/player/advancement/trigger.rs rename to crates/pumpkin/src/entity/player/advancement/trigger.rs diff --git a/pumpkin/src/entity/player/advancement/visibility_evaluator.rs b/crates/pumpkin/src/entity/player/advancement/visibility_evaluator.rs similarity index 100% rename from pumpkin/src/entity/player/advancement/visibility_evaluator.rs rename to crates/pumpkin/src/entity/player/advancement/visibility_evaluator.rs diff --git a/pumpkin/src/entity/player/statistics.rs b/crates/pumpkin/src/entity/player/statistics.rs similarity index 100% rename from pumpkin/src/entity/player/statistics.rs rename to crates/pumpkin/src/entity/player/statistics.rs diff --git a/pumpkin/src/entity/predicate/mod.rs b/crates/pumpkin/src/entity/predicate/mod.rs similarity index 100% rename from pumpkin/src/entity/predicate/mod.rs rename to crates/pumpkin/src/entity/predicate/mod.rs diff --git a/pumpkin/src/entity/projectile/arrow.rs b/crates/pumpkin/src/entity/projectile/arrow.rs similarity index 100% rename from pumpkin/src/entity/projectile/arrow.rs rename to crates/pumpkin/src/entity/projectile/arrow.rs diff --git a/pumpkin/src/entity/projectile/egg.rs b/crates/pumpkin/src/entity/projectile/egg.rs similarity index 100% rename from pumpkin/src/entity/projectile/egg.rs rename to crates/pumpkin/src/entity/projectile/egg.rs diff --git a/pumpkin/src/entity/projectile/ender_pearl.rs b/crates/pumpkin/src/entity/projectile/ender_pearl.rs similarity index 100% rename from pumpkin/src/entity/projectile/ender_pearl.rs rename to crates/pumpkin/src/entity/projectile/ender_pearl.rs diff --git a/pumpkin/src/entity/projectile/eye_of_ender.rs b/crates/pumpkin/src/entity/projectile/eye_of_ender.rs similarity index 100% rename from pumpkin/src/entity/projectile/eye_of_ender.rs rename to crates/pumpkin/src/entity/projectile/eye_of_ender.rs diff --git a/pumpkin/src/entity/projectile/fireball.rs b/crates/pumpkin/src/entity/projectile/fireball.rs similarity index 100% rename from pumpkin/src/entity/projectile/fireball.rs rename to crates/pumpkin/src/entity/projectile/fireball.rs diff --git a/pumpkin/src/entity/projectile/firework_rocket.rs b/crates/pumpkin/src/entity/projectile/firework_rocket.rs similarity index 100% rename from pumpkin/src/entity/projectile/firework_rocket.rs rename to crates/pumpkin/src/entity/projectile/firework_rocket.rs diff --git a/pumpkin/src/entity/projectile/fishing_bobber.rs b/crates/pumpkin/src/entity/projectile/fishing_bobber.rs similarity index 100% rename from pumpkin/src/entity/projectile/fishing_bobber.rs rename to crates/pumpkin/src/entity/projectile/fishing_bobber.rs diff --git a/pumpkin/src/entity/projectile/lingering_potion.rs b/crates/pumpkin/src/entity/projectile/lingering_potion.rs similarity index 100% rename from pumpkin/src/entity/projectile/lingering_potion.rs rename to crates/pumpkin/src/entity/projectile/lingering_potion.rs diff --git a/pumpkin/src/entity/projectile/mod.rs b/crates/pumpkin/src/entity/projectile/mod.rs similarity index 100% rename from pumpkin/src/entity/projectile/mod.rs rename to crates/pumpkin/src/entity/projectile/mod.rs diff --git a/pumpkin/src/entity/projectile/shulker_bullet.rs b/crates/pumpkin/src/entity/projectile/shulker_bullet.rs similarity index 100% rename from pumpkin/src/entity/projectile/shulker_bullet.rs rename to crates/pumpkin/src/entity/projectile/shulker_bullet.rs diff --git a/pumpkin/src/entity/projectile/small_fireball.rs b/crates/pumpkin/src/entity/projectile/small_fireball.rs similarity index 100% rename from pumpkin/src/entity/projectile/small_fireball.rs rename to crates/pumpkin/src/entity/projectile/small_fireball.rs diff --git a/pumpkin/src/entity/projectile/snowball.rs b/crates/pumpkin/src/entity/projectile/snowball.rs similarity index 100% rename from pumpkin/src/entity/projectile/snowball.rs rename to crates/pumpkin/src/entity/projectile/snowball.rs diff --git a/pumpkin/src/entity/projectile/splash_potion.rs b/crates/pumpkin/src/entity/projectile/splash_potion.rs similarity index 100% rename from pumpkin/src/entity/projectile/splash_potion.rs rename to crates/pumpkin/src/entity/projectile/splash_potion.rs diff --git a/pumpkin/src/entity/projectile/trident.rs b/crates/pumpkin/src/entity/projectile/trident.rs similarity index 100% rename from pumpkin/src/entity/projectile/trident.rs rename to crates/pumpkin/src/entity/projectile/trident.rs diff --git a/pumpkin/src/entity/projectile/wind_charge.rs b/crates/pumpkin/src/entity/projectile/wind_charge.rs similarity index 100% rename from pumpkin/src/entity/projectile/wind_charge.rs rename to crates/pumpkin/src/entity/projectile/wind_charge.rs diff --git a/pumpkin/src/entity/projectile_deflection.rs b/crates/pumpkin/src/entity/projectile_deflection.rs similarity index 100% rename from pumpkin/src/entity/projectile_deflection.rs rename to crates/pumpkin/src/entity/projectile_deflection.rs diff --git a/pumpkin/src/entity/tnt.rs b/crates/pumpkin/src/entity/tnt.rs similarity index 100% rename from pumpkin/src/entity/tnt.rs rename to crates/pumpkin/src/entity/tnt.rs diff --git a/pumpkin/src/entity/type.rs b/crates/pumpkin/src/entity/type.rs similarity index 100% rename from pumpkin/src/entity/type.rs rename to crates/pumpkin/src/entity/type.rs diff --git a/pumpkin/src/entity/vehicle/boat.rs b/crates/pumpkin/src/entity/vehicle/boat.rs similarity index 100% rename from pumpkin/src/entity/vehicle/boat.rs rename to crates/pumpkin/src/entity/vehicle/boat.rs diff --git a/pumpkin/src/entity/vehicle/minecart.rs b/crates/pumpkin/src/entity/vehicle/minecart.rs similarity index 100% rename from pumpkin/src/entity/vehicle/minecart.rs rename to crates/pumpkin/src/entity/vehicle/minecart.rs diff --git a/pumpkin/src/entity/vehicle/mod.rs b/crates/pumpkin/src/entity/vehicle/mod.rs similarity index 100% rename from pumpkin/src/entity/vehicle/mod.rs rename to crates/pumpkin/src/entity/vehicle/mod.rs diff --git a/pumpkin/src/entity/vehicle/vehicle.rs b/crates/pumpkin/src/entity/vehicle/vehicle.rs similarity index 100% rename from pumpkin/src/entity/vehicle/vehicle.rs rename to crates/pumpkin/src/entity/vehicle/vehicle.rs diff --git a/pumpkin/src/error.rs b/crates/pumpkin/src/error.rs similarity index 100% rename from pumpkin/src/error.rs rename to crates/pumpkin/src/error.rs diff --git a/pumpkin/src/item/items/armor_stand.rs b/crates/pumpkin/src/item/items/armor_stand.rs similarity index 100% rename from pumpkin/src/item/items/armor_stand.rs rename to crates/pumpkin/src/item/items/armor_stand.rs diff --git a/pumpkin/src/item/items/arrow.rs b/crates/pumpkin/src/item/items/arrow.rs similarity index 100% rename from pumpkin/src/item/items/arrow.rs rename to crates/pumpkin/src/item/items/arrow.rs diff --git a/pumpkin/src/item/items/axe.rs b/crates/pumpkin/src/item/items/axe.rs similarity index 100% rename from pumpkin/src/item/items/axe.rs rename to crates/pumpkin/src/item/items/axe.rs diff --git a/pumpkin/src/item/items/boat.rs b/crates/pumpkin/src/item/items/boat.rs similarity index 100% rename from pumpkin/src/item/items/boat.rs rename to crates/pumpkin/src/item/items/boat.rs diff --git a/pumpkin/src/item/items/bow.rs b/crates/pumpkin/src/item/items/bow.rs similarity index 100% rename from pumpkin/src/item/items/bow.rs rename to crates/pumpkin/src/item/items/bow.rs diff --git a/pumpkin/src/item/items/bucket.rs b/crates/pumpkin/src/item/items/bucket.rs similarity index 100% rename from pumpkin/src/item/items/bucket.rs rename to crates/pumpkin/src/item/items/bucket.rs diff --git a/pumpkin/src/item/items/bundle.rs b/crates/pumpkin/src/item/items/bundle.rs similarity index 100% rename from pumpkin/src/item/items/bundle.rs rename to crates/pumpkin/src/item/items/bundle.rs diff --git a/pumpkin/src/item/items/crossbow.rs b/crates/pumpkin/src/item/items/crossbow.rs similarity index 100% rename from pumpkin/src/item/items/crossbow.rs rename to crates/pumpkin/src/item/items/crossbow.rs diff --git a/pumpkin/src/item/items/dye.rs b/crates/pumpkin/src/item/items/dye.rs similarity index 100% rename from pumpkin/src/item/items/dye.rs rename to crates/pumpkin/src/item/items/dye.rs diff --git a/pumpkin/src/item/items/egg.rs b/crates/pumpkin/src/item/items/egg.rs similarity index 100% rename from pumpkin/src/item/items/egg.rs rename to crates/pumpkin/src/item/items/egg.rs diff --git a/pumpkin/src/item/items/end_crystal.rs b/crates/pumpkin/src/item/items/end_crystal.rs similarity index 100% rename from pumpkin/src/item/items/end_crystal.rs rename to crates/pumpkin/src/item/items/end_crystal.rs diff --git a/pumpkin/src/item/items/ender_eye.rs b/crates/pumpkin/src/item/items/ender_eye.rs similarity index 100% rename from pumpkin/src/item/items/ender_eye.rs rename to crates/pumpkin/src/item/items/ender_eye.rs diff --git a/pumpkin/src/item/items/ender_pearl.rs b/crates/pumpkin/src/item/items/ender_pearl.rs similarity index 100% rename from pumpkin/src/item/items/ender_pearl.rs rename to crates/pumpkin/src/item/items/ender_pearl.rs diff --git a/pumpkin/src/item/items/firework_rocket.rs b/crates/pumpkin/src/item/items/firework_rocket.rs similarity index 100% rename from pumpkin/src/item/items/firework_rocket.rs rename to crates/pumpkin/src/item/items/firework_rocket.rs diff --git a/pumpkin/src/item/items/fishing_rod.rs b/crates/pumpkin/src/item/items/fishing_rod.rs similarity index 100% rename from pumpkin/src/item/items/fishing_rod.rs rename to crates/pumpkin/src/item/items/fishing_rod.rs diff --git a/pumpkin/src/item/items/glowing_ink_sac.rs b/crates/pumpkin/src/item/items/glowing_ink_sac.rs similarity index 100% rename from pumpkin/src/item/items/glowing_ink_sac.rs rename to crates/pumpkin/src/item/items/glowing_ink_sac.rs diff --git a/pumpkin/src/item/items/hoe.rs b/crates/pumpkin/src/item/items/hoe.rs similarity index 100% rename from pumpkin/src/item/items/hoe.rs rename to crates/pumpkin/src/item/items/hoe.rs diff --git a/pumpkin/src/item/items/honeycomb.rs b/crates/pumpkin/src/item/items/honeycomb.rs similarity index 100% rename from pumpkin/src/item/items/honeycomb.rs rename to crates/pumpkin/src/item/items/honeycomb.rs diff --git a/pumpkin/src/item/items/ignite/fire_charge.rs b/crates/pumpkin/src/item/items/ignite/fire_charge.rs similarity index 100% rename from pumpkin/src/item/items/ignite/fire_charge.rs rename to crates/pumpkin/src/item/items/ignite/fire_charge.rs diff --git a/pumpkin/src/item/items/ignite/flint_and_steel.rs b/crates/pumpkin/src/item/items/ignite/flint_and_steel.rs similarity index 100% rename from pumpkin/src/item/items/ignite/flint_and_steel.rs rename to crates/pumpkin/src/item/items/ignite/flint_and_steel.rs diff --git a/pumpkin/src/item/items/ignite/ignition.rs b/crates/pumpkin/src/item/items/ignite/ignition.rs similarity index 100% rename from pumpkin/src/item/items/ignite/ignition.rs rename to crates/pumpkin/src/item/items/ignite/ignition.rs diff --git a/pumpkin/src/item/items/ignite/mod.rs b/crates/pumpkin/src/item/items/ignite/mod.rs similarity index 100% rename from pumpkin/src/item/items/ignite/mod.rs rename to crates/pumpkin/src/item/items/ignite/mod.rs diff --git a/pumpkin/src/item/items/ink_sac.rs b/crates/pumpkin/src/item/items/ink_sac.rs similarity index 100% rename from pumpkin/src/item/items/ink_sac.rs rename to crates/pumpkin/src/item/items/ink_sac.rs diff --git a/pumpkin/src/item/items/lead.rs b/crates/pumpkin/src/item/items/lead.rs similarity index 100% rename from pumpkin/src/item/items/lead.rs rename to crates/pumpkin/src/item/items/lead.rs diff --git a/pumpkin/src/item/items/mace.rs b/crates/pumpkin/src/item/items/mace.rs similarity index 100% rename from pumpkin/src/item/items/mace.rs rename to crates/pumpkin/src/item/items/mace.rs diff --git a/pumpkin/src/item/items/map.rs b/crates/pumpkin/src/item/items/map.rs similarity index 100% rename from pumpkin/src/item/items/map.rs rename to crates/pumpkin/src/item/items/map.rs diff --git a/pumpkin/src/item/items/minecart.rs b/crates/pumpkin/src/item/items/minecart.rs similarity index 100% rename from pumpkin/src/item/items/minecart.rs rename to crates/pumpkin/src/item/items/minecart.rs diff --git a/pumpkin/src/item/items/mod.rs b/crates/pumpkin/src/item/items/mod.rs similarity index 100% rename from pumpkin/src/item/items/mod.rs rename to crates/pumpkin/src/item/items/mod.rs diff --git a/pumpkin/src/item/items/name_tag.rs b/crates/pumpkin/src/item/items/name_tag.rs similarity index 100% rename from pumpkin/src/item/items/name_tag.rs rename to crates/pumpkin/src/item/items/name_tag.rs diff --git a/pumpkin/src/item/items/potions.rs b/crates/pumpkin/src/item/items/potions.rs similarity index 100% rename from pumpkin/src/item/items/potions.rs rename to crates/pumpkin/src/item/items/potions.rs diff --git a/pumpkin/src/item/items/shovel.rs b/crates/pumpkin/src/item/items/shovel.rs similarity index 100% rename from pumpkin/src/item/items/shovel.rs rename to crates/pumpkin/src/item/items/shovel.rs diff --git a/pumpkin/src/item/items/snowball.rs b/crates/pumpkin/src/item/items/snowball.rs similarity index 100% rename from pumpkin/src/item/items/snowball.rs rename to crates/pumpkin/src/item/items/snowball.rs diff --git a/pumpkin/src/item/items/spawn_egg.rs b/crates/pumpkin/src/item/items/spawn_egg.rs similarity index 100% rename from pumpkin/src/item/items/spawn_egg.rs rename to crates/pumpkin/src/item/items/spawn_egg.rs diff --git a/pumpkin/src/item/items/swords.rs b/crates/pumpkin/src/item/items/swords.rs similarity index 100% rename from pumpkin/src/item/items/swords.rs rename to crates/pumpkin/src/item/items/swords.rs diff --git a/pumpkin/src/item/items/trident.rs b/crates/pumpkin/src/item/items/trident.rs similarity index 100% rename from pumpkin/src/item/items/trident.rs rename to crates/pumpkin/src/item/items/trident.rs diff --git a/pumpkin/src/item/items/wind_charge.rs b/crates/pumpkin/src/item/items/wind_charge.rs similarity index 100% rename from pumpkin/src/item/items/wind_charge.rs rename to crates/pumpkin/src/item/items/wind_charge.rs diff --git a/pumpkin/src/item/mod.rs b/crates/pumpkin/src/item/mod.rs similarity index 100% rename from pumpkin/src/item/mod.rs rename to crates/pumpkin/src/item/mod.rs diff --git a/pumpkin/src/item/potion.rs b/crates/pumpkin/src/item/potion.rs similarity index 100% rename from pumpkin/src/item/potion.rs rename to crates/pumpkin/src/item/potion.rs diff --git a/pumpkin/src/item/registry.rs b/crates/pumpkin/src/item/registry.rs similarity index 100% rename from pumpkin/src/item/registry.rs rename to crates/pumpkin/src/item/registry.rs diff --git a/pumpkin/src/lib.rs b/crates/pumpkin/src/lib.rs similarity index 97% rename from pumpkin/src/lib.rs rename to crates/pumpkin/src/lib.rs index 8b88942da..5560b51cf 100644 --- a/pumpkin/src/lib.rs +++ b/crates/pumpkin/src/lib.rs @@ -9,6 +9,7 @@ use crate::data::VanillaData; use crate::logging::{GzipRollingLogger, PumpkinCommandCompleter, ReadlineLogWrapper}; use crate::net::bedrock::BedrockClient; use crate::net::java::JavaClient; +use crate::net::java::pending::PendingConnection; use crate::net::{ClientPlatform, DisconnectReason, PacketHandlerResult}; use crate::net::{lan_broadcast::LANBroadcast, query, rcon::RCONServer}; use crate::plugin::server::server_command::ServerCommandEvent; @@ -456,24 +457,22 @@ impl PumpkinServer { let server_clone = self.server.clone(); tasks.spawn(async move { - let mut java_client = JavaClient::new(connection, client_addr, client_id); - java_client.start_outgoing_packet_task(); - let login_result = java_client.handle_login_sequence(&server_clone).await; + let mut pending = PendingConnection::new(connection, client_addr, client_id); + let login_result = pending.handle_login_sequence(&server_clone).await; match login_result { PacketHandlerResult::Stop => { - java_client.close(); - java_client.await_tasks().await; + pending.close(); }, - PacketHandlerResult::ReadyToPlay(profile,config) => { + PacketHandlerResult::ReadyToPlay(profile, config) => { + let mut java_client = JavaClient::from_pending(pending, profile.clone(), config.clone()); + java_client.start_outgoing_packet_task(); if let Some((player, world)) = server_clone .add_player(Arc::new(ClientPlatform::Java(java_client)), profile, Some(config)) .await { - // Set the player on the client BEFORE spawning so that chunk - // sends during spawn_java_player don't get silently dropped. if let ClientPlatform::Java(client) = player.client.as_ref() { - *client.player.lock().await = Some(player.clone()); + client.set_player(player.clone()); } world .spawn_java_player(&server_clone.basic_config, &player, &server_clone) @@ -564,7 +563,7 @@ impl PumpkinServer { .add_player(Arc::new(ClientPlatform::Bedrock(client_clone.clone())), profile, Some(config)) .await { - *client_clone.player.lock().await = Some(player.clone()); + client_clone.set_player(player.clone()); client_clone.progress_player_packets(&player, &server_clone).await; diff --git a/pumpkin/src/logging.rs b/crates/pumpkin/src/logging.rs similarity index 100% rename from pumpkin/src/logging.rs rename to crates/pumpkin/src/logging.rs diff --git a/pumpkin/src/main.rs b/crates/pumpkin/src/main.rs similarity index 100% rename from pumpkin/src/main.rs rename to crates/pumpkin/src/main.rs diff --git a/pumpkin/src/net/authentication.rs b/crates/pumpkin/src/net/authentication.rs similarity index 100% rename from pumpkin/src/net/authentication.rs rename to crates/pumpkin/src/net/authentication.rs diff --git a/pumpkin/src/net/bedrock/connection.rs b/crates/pumpkin/src/net/bedrock/connection.rs similarity index 100% rename from pumpkin/src/net/bedrock/connection.rs rename to crates/pumpkin/src/net/bedrock/connection.rs diff --git a/pumpkin/src/net/bedrock/login.rs b/crates/pumpkin/src/net/bedrock/login.rs similarity index 98% rename from pumpkin/src/net/bedrock/login.rs rename to crates/pumpkin/src/net/bedrock/login.rs index eea353c44..e4cf6c827 100644 --- a/pumpkin/src/net/bedrock/login.rs +++ b/crates/pumpkin/src/net/bedrock/login.rs @@ -258,7 +258,10 @@ impl BedrockClient { }; self.client_data .store(std::sync::Arc::new(Some(std::sync::Arc::new(client_data)))); - *self.pending_profile.lock().await = Some((profile, new_config)); + self.pending_profile + .store(std::sync::Arc::new(Some(std::sync::Arc::new(( + profile, new_config, + ))))); return Ok(None); } @@ -358,8 +361,8 @@ impl BedrockClient { } SResourcePackResponse::STATUS_COMPLETED => { debug!("Bedrock: SResourcePackResponse::STATUS_COMPLETED"); - let player = self.player.lock().await.clone(); - if let Some(player) = player { + let player = self.player.load_full(); + if let Some(player) = player.as_ref() { player .world() .spawn_bedrock_player(&server.basic_config, player.clone(), server) diff --git a/pumpkin/src/net/bedrock/mod.rs b/crates/pumpkin/src/net/bedrock/mod.rs similarity index 98% rename from pumpkin/src/net/bedrock/mod.rs rename to crates/pumpkin/src/net/bedrock/mod.rs index 322b2165b..c261d705a 100644 --- a/pumpkin/src/net/bedrock/mod.rs +++ b/crates/pumpkin/src/net/bedrock/mod.rs @@ -120,7 +120,7 @@ pub struct BedrockClient { socket: Arc, /// The client's IP address. pub address: SocketAddr, - pub player: Mutex>>, + pub player: ArcSwap>>, pub version: AtomicCell, pub client_data: ArcSwap>>, /// All Bedrock clients @@ -165,7 +165,7 @@ pub struct BedrockClient { ordered_queues: Mutex>>, incoming_game_packet_send: Sender, incoming_game_packet_recv: Mutex>>, - pending_profile: Mutex>, + pending_profile: ArcSwap>>, } impl BedrockClient { @@ -181,7 +181,7 @@ impl BedrockClient { let rt_handle = tokio::runtime::Handle::current(); Self { socket, - player: Mutex::new(None), + player: ArcSwap::new(Arc::new(None)), address, version: AtomicCell::new(BedrockMinecraftVersion::Unknown), client_data: ArcSwap::new(Arc::new(None)), @@ -214,7 +214,7 @@ impl BedrockClient { //input_sequence_number: AtomicU32::new(0), incoming_game_packet_send: incoming_send, incoming_game_packet_recv: Mutex::new(Some(incoming_recv)), - pending_profile: Mutex::new(None), + pending_profile: ArcSwap::new(Arc::new(None)), } } @@ -358,7 +358,7 @@ impl BedrockClient { } pub async fn send_chunks(&self, chunks: &[SyncChunk]) { - let player = self.player.lock().await.clone(); + let player = self.player.load_full(); let Some(player) = player.as_ref() else { debug!( "send_chunks: player not set yet, dropping {} chunks", @@ -429,12 +429,16 @@ impl BedrockClient { } } + pub fn set_player(&self, player: Arc) { + self.player.store(Arc::new(Some(player))); + } + pub async fn enqueue_packet(&self, packet: &P) { let mut packet_buf = Vec::new(); match self.write_game_packet(packet, &mut packet_buf).await { Ok(()) => { let payload = Bytes::from(packet_buf); - let player = self.player.lock().await.clone(); + let player = self.player.load_full(); let cancelled = if let Some(player) = player.as_ref() { player .fire_packet_sent_no_obj(P::PACKET_ID, payload.clone()) @@ -573,7 +577,7 @@ impl BedrockClient { match self.write_game_packet(packet, &mut packet_buf).await { Ok(()) => { let payload = Bytes::from(packet_buf); - let player = self.player.lock().await.clone(); + let player = self.player.load_full(); let cancelled = if let Some(player) = player.as_ref() { player .fire_packet_sent_no_obj(P::PACKET_ID, payload.clone()) @@ -1043,8 +1047,9 @@ impl BedrockClient { continue; } }; - let pending = self.pending_profile.lock().await.take(); - if let Some((profile, new_config)) = pending { + let pending = self.pending_profile.swap(Arc::new(None)); + if let Some(pending) = pending.as_ref() { + let (profile, new_config) = pending.as_ref(); self.enqueue_packet_internal(&CPlayStatus::LoginSuccess) .await; let br_config = &server.advanced_config.resource_pack.bedrock; @@ -1077,7 +1082,10 @@ impl BedrockClient { resource_packs: entries, }; self.enqueue_packet_internal(&packs_info).await; - return PacketHandlerResult::ReadyToPlay(profile, new_config); + return PacketHandlerResult::ReadyToPlay( + profile.clone(), + new_config.clone(), + ); } error!("Received ClientToServerHandshake but no pending profile was found."); self.kick(DisconnectReason::BadPacket, "Handshake error".into()) diff --git a/pumpkin/src/net/bedrock/open_connection.rs b/crates/pumpkin/src/net/bedrock/open_connection.rs similarity index 100% rename from pumpkin/src/net/bedrock/open_connection.rs rename to crates/pumpkin/src/net/bedrock/open_connection.rs diff --git a/pumpkin/src/net/bedrock/play.rs b/crates/pumpkin/src/net/bedrock/play.rs similarity index 100% rename from pumpkin/src/net/bedrock/play.rs rename to crates/pumpkin/src/net/bedrock/play.rs diff --git a/pumpkin/src/net/bedrock/unconnected.rs b/crates/pumpkin/src/net/bedrock/unconnected.rs similarity index 100% rename from pumpkin/src/net/bedrock/unconnected.rs rename to crates/pumpkin/src/net/bedrock/unconnected.rs diff --git a/pumpkin/src/net/java/config.rs b/crates/pumpkin/src/net/java/config.rs similarity index 86% rename from pumpkin/src/net/java/config.rs rename to crates/pumpkin/src/net/java/config.rs index 5ca9fea9e..bcf8ca46a 100644 --- a/pumpkin/src/net/java/config.rs +++ b/crates/pumpkin/src/net/java/config.rs @@ -1,4 +1,4 @@ -use std::{num::NonZeroU8, sync::atomic::Ordering}; +use std::{num::NonZeroU8, sync::Arc, sync::atomic::Ordering}; use crate::{ entity::player::ChatMode, @@ -11,9 +11,9 @@ use crate::{ use core::str; use pumpkin_data::{registry::Registry, translation}; use pumpkin_protocol::{ - ConnectionState, + ConnectionState, KnownPack, java::{ - client::config::{CFeatureFlags, CFinishConfig, CRegistryData, CUpdateTags}, + client::config::{CFeatureFlags, CFinishConfig, CKnownPacks, CRegistryData, CUpdateTags}, server::config::{ ResourcePackResponseResult, SClientInformationConfig, SConfigCookieResponse, SConfigResourcePack, SKeepAlive, SKnownPacks, SPluginMessage, @@ -43,7 +43,7 @@ impl JavaClient { Hand::try_from(client_information.main_hand.0), ChatMode::try_from(client_information.chat_mode.0), ) { - *self.config.lock().await = Some(PlayerConfig { + self.config.store(Arc::new(PlayerConfig { locale: client_information.locale.to_string(), // client_information.view_distance was checked above to be > 0 so compiler should optimize this out. view_distance: NonZeroU8::new(client_information.view_distance as u8).unwrap(), @@ -53,7 +53,7 @@ impl JavaClient { main_hand, text_filtering: client_information.text_filtering, server_listing: client_information.server_listing, - }); + })); } else { self.kick(TextComponent::text("Invalid hand or chat type")) .await; @@ -65,7 +65,7 @@ impl JavaClient { if plugin_message.channel.starts_with(BRAND_CHANNEL_PREFIX) { debug!("Got a client brand"); match str::from_utf8(plugin_message.data) { - Ok(brand) => *self.brand.lock().await = Some(brand.to_string()), + Ok(brand) => self.brand.store(Arc::new(Some(brand.to_string()))), Err(e) => self.kick(TextComponent::text(e.to_string())).await, } } @@ -141,6 +141,16 @@ impl JavaClient { self.send_known_packs().await; } + pub async fn send_known_packs(&self) { + let version_str = self.version.load().to_string(); + self.send_packet_now(&CKnownPacks::new(&[KnownPack { + namespace: "minecraft", + id: "core", + version: &version_str, + }])) + .await; + } + pub fn handle_config_cookie_response(&self, packet: &SConfigCookieResponse<'_>) { // TODO: allow plugins to access this debug!( @@ -192,47 +202,33 @@ impl JavaClient { .await; } } - //self.send_packet_now(&CUpdateTags::new(&tags_to_send)).await; - let mut tags = vec![ + let all_keys = [ + pumpkin_data::tag::RegistryKey::BannerPattern, pumpkin_data::tag::RegistryKey::Block, - pumpkin_data::tag::RegistryKey::Fluid, - pumpkin_data::tag::RegistryKey::Enchantment, - pumpkin_data::tag::RegistryKey::WorldgenBiome, - pumpkin_data::tag::RegistryKey::Item, - pumpkin_data::tag::RegistryKey::EntityType, + pumpkin_data::tag::RegistryKey::CatVariant, + pumpkin_data::tag::RegistryKey::DamageType, pumpkin_data::tag::RegistryKey::Dialog, + pumpkin_data::tag::RegistryKey::DimensionType, + pumpkin_data::tag::RegistryKey::Enchantment, + pumpkin_data::tag::RegistryKey::EntityType, + pumpkin_data::tag::RegistryKey::Fluid, + pumpkin_data::tag::RegistryKey::GameEvent, + pumpkin_data::tag::RegistryKey::Instrument, + pumpkin_data::tag::RegistryKey::Item, + pumpkin_data::tag::RegistryKey::PaintingVariant, + pumpkin_data::tag::RegistryKey::PointOfInterestType, + pumpkin_data::tag::RegistryKey::Potion, + pumpkin_data::tag::RegistryKey::Timeline, + pumpkin_data::tag::RegistryKey::WorldgenBiome, ]; - // optionally include timeline/dimension_type if there are any tags to send - if version.protocol_version() >= JavaMinecraftVersion::V_1_21_11.protocol_version() - && let Some(map) = pumpkin_data::tag::get_registry_key_tags( - version, - pumpkin_data::tag::RegistryKey::Timeline, - ) - && !map.is_empty() - { - tags.push(pumpkin_data::tag::RegistryKey::Timeline); - } - if let Some(map) = pumpkin_data::tag::get_registry_key_tags( - version, - pumpkin_data::tag::RegistryKey::DimensionType, - ) && !map.is_empty() - { - tags.push(pumpkin_data::tag::RegistryKey::DimensionType); - } - if let Some(map) = pumpkin_data::tag::get_registry_key_tags( - version, - pumpkin_data::tag::RegistryKey::DamageType, - ) && !map.is_empty() - { - tags.push(pumpkin_data::tag::RegistryKey::DamageType); - } - if let Some(map) = pumpkin_data::tag::get_registry_key_tags( - version, - pumpkin_data::tag::RegistryKey::BannerPattern, - ) && !map.is_empty() - { - tags.push(pumpkin_data::tag::RegistryKey::BannerPattern); + let mut tags = Vec::new(); + for key in all_keys { + if pumpkin_data::tag::get_registry_key_tags(version, key) + .is_some_and(|map| !map.is_empty()) + { + tags.push(key); + } } self.send_packet_now(&CUpdateTags::new(&tags)).await; @@ -265,17 +261,16 @@ impl JavaClient { debug!("Handling config acknowledgement"); self.connection_state.store(ConnectionState::Play); - let profile = self.gameprofile.lock().await.clone(); - let profile = profile.unwrap(); - let address = self.address.lock().await; + let profile = self.gameprofile.clone(); + let address = self.address; if let Some(reason) = can_not_join(&profile, &address, server).await { self.kick(reason).await; return PacketHandlerResult::Stop; } - let config = self.config.lock().await; - PacketHandlerResult::ReadyToPlay(profile, config.clone().unwrap_or_default()) + let config = self.config.load(); + PacketHandlerResult::ReadyToPlay(profile, (**config).clone()) } } diff --git a/pumpkin/src/net/java/handshake.rs b/crates/pumpkin/src/net/java/handshake.rs similarity index 78% rename from pumpkin/src/net/java/handshake.rs rename to crates/pumpkin/src/net/java/handshake.rs index 387503d99..e1a6633ce 100644 --- a/pumpkin/src/net/java/handshake.rs +++ b/crates/pumpkin/src/net/java/handshake.rs @@ -6,12 +6,12 @@ use pumpkin_protocol::{ConnectionState, java::server::handshake::SHandShake}; use pumpkin_util::{text::TextComponent, version::JavaMinecraftVersion}; use tracing::debug; -use crate::net::java::JavaClient; +use crate::net::java::pending::PendingConnection; -impl JavaClient { - pub async fn handle_handshake(&self, handshake: SHandShake) { +impl PendingConnection { + pub async fn handle_handshake(&mut self, handshake: SHandShake) { let version = handshake.protocol_version.0 as u32; - *self.server_address.lock().await = handshake.server_address; + self.server_address = handshake.server_address.to_string(); self.version .store(JavaMinecraftVersion::from_protocol(version)); @@ -22,14 +22,14 @@ impl JavaClient { if protocol < LOWEST_SUPPORTED_MC_VERSION.protocol_version() as u32 { self.kick(TextComponent::translate_cross( translation::java::MULTIPLAYER_DISCONNECT_OUTDATED_CLIENT, - translation::java::MULTIPLAYER_DISCONNECT_OUTDATED_CLIENT, + translation::bedrock::DISCONNECTIONSCREEN_OUTDATEDCLIENT, [TextComponent::text(CURRENT_MC_VERSION.to_string())], )) .await; } else if protocol > CURRENT_MC_VERSION.protocol_version() as u32 { self.kick(TextComponent::translate_cross( translation::java::MULTIPLAYER_DISCONNECT_OUTDATED_SERVER, - translation::java::MULTIPLAYER_DISCONNECT_OUTDATED_SERVER, + translation::bedrock::DISCONNECTIONSCREEN_OUTDATEDSERVER, [TextComponent::text(CURRENT_MC_VERSION.to_string())], )) .await; diff --git a/pumpkin/src/net/java/login.rs b/crates/pumpkin/src/net/java/login.rs similarity index 75% rename from pumpkin/src/net/java/login.rs rename to crates/pumpkin/src/net/java/login.rs index 4bf36c978..0ec6c6b53 100644 --- a/pumpkin/src/net/java/login.rs +++ b/crates/pumpkin/src/net/java/login.rs @@ -3,7 +3,10 @@ use pumpkin_data::translation; use pumpkin_protocol::{ ConnectionState, KnownPack, Label, Link, LinkType, java::client::{ - config::{CConfigAddResourcePack, CConfigServerLinks, CKnownPacks}, + config::{ + CConfigAddResourcePack, CConfigServerLinks, CFeatureFlags, CFinishConfig, CKnownPacks, + CRegistryData, CUpdateTags, + }, login::{CLoginSuccess, CSetCompression}, }, java::server::config::SKnownPacks, @@ -21,25 +24,22 @@ use crate::{ GameProfile, authentication::{self, AuthError}, is_valid_player_name, - java::JavaClient, + java::pending::PendingConnection, offline_uuid, proxy::{bungeecord, velocity}, }, server::Server, }; -impl JavaClient { - pub async fn handle_login_start(&self, server: &Server, login_start: SLoginStart) { +impl PendingConnection { + pub async fn handle_login_start(&mut self, server: &Server, login_start: SLoginStart) { debug!("login start"); - // Don't allow new logons when the server is full. - // If `max_players` is set to zero, then there is no max player count enforced. - // TODO: If client is an operator or has otherwise suitable elevated permissions, allow the client to bypass this requirement. let max_players = server.advanced_config.networking.java.max_players; if max_players > 0 && server.get_player_count() >= max_players as usize { self.kick(TextComponent::translate_cross( translation::java::MULTIPLAYER_DISCONNECT_SERVER_FULL, - translation::java::MULTIPLAYER_DISCONNECT_SERVER_FULL, + translation::bedrock::DISCONNECTIONSCREEN_SERVERFULL, [], )) .await; @@ -51,9 +51,7 @@ impl JavaClient { .await; return; } - // Default game profile, when no online mode - // TODO: Make offline UUID - let mut gameprofile = self.gameprofile.lock().await; + let proxy = &server.advanced_config.networking.proxy; if proxy.enabled { if proxy.velocity.enabled { @@ -61,15 +59,12 @@ impl JavaClient { } else if proxy.bungeecord.enabled { match bungeecord::bungeecord_login( &self.address, - &self.server_address.lock().await, + &self.server_address, login_start.name.into_string(), - ) - .await - { + ) { Ok((_ip, profile)) => { - // self.address.lock() = ip; self.finish_login(&profile).await; - *gameprofile = Some(profile); + self.gameprofile = Some(profile); } Err(error) => self.kick(TextComponent::text(error.to_string())).await, } @@ -94,7 +89,6 @@ impl JavaClient { if server.advanced_config.networking.java.encryption { let verify_token: [u8; 4] = rand::random(); - // Wait until we have sent the encryption packet to the client self.send_packet_now( &server .encryption_request( @@ -108,12 +102,12 @@ impl JavaClient { self.finish_login(&profile).await; } - *gameprofile = Some(profile); + self.gameprofile = Some(profile); } } pub async fn handle_encryption_response( - &self, + &mut self, server: &Server, encryption_response: SEncryptionResponse, ) { @@ -124,84 +118,79 @@ impl JavaClient { return; }; - if let Err(error) = self.set_encryption(&shared_secret).await { + if let Err(error) = self.set_encryption(&shared_secret) { self.kick(TextComponent::text(error.to_string())).await; return; } - let mut gameprofile = self.gameprofile.lock().await; - - let Some(profile) = gameprofile.as_mut() else { - self.kick(TextComponent::text("No `GameProfile`")).await; - return; + let profile_name = { + let Some(profile) = self.gameprofile.as_ref() else { + self.kick(TextComponent::text("No `GameProfile`")).await; + return; + }; + profile.name.clone() }; if server.advanced_config.networking.java.online_mode { - // Online mode auth match self - .authenticate(server, &shared_secret, &profile.name) + .authenticate(server, &shared_secret, &profile_name) .await { - Ok(new_profile) => *profile = new_profile, + Ok(new_profile) => self.gameprofile = Some(new_profile), Err(error) => { self.kick(match error { AuthError::FailedResponse => TextComponent::translate_cross( translation::java::MULTIPLAYER_DISCONNECT_AUTHSERVERS_DOWN, - translation::java::MULTIPLAYER_DISCONNECT_AUTHSERVERS_DOWN, + translation::bedrock::DISCONNECT_LOGINFAILEDINFO_SERVERSUNAVAILABLE, [], ), AuthError::UnverifiedUsername => TextComponent::translate_cross( translation::java::MULTIPLAYER_DISCONNECT_UNVERIFIED_USERNAME, - translation::java::MULTIPLAYER_DISCONNECT_UNVERIFIED_USERNAME, + translation::bedrock::DISCONNECT_LOGINFAILEDINFO_INVALIDSESSION, [], ), e => TextComponent::text(e.to_string()), }) .await; + return; } } } - // Don't allow duplicate UUIDs + let profile = self.gameprofile.clone().unwrap(); + if let Some(online_player) = &server.get_player_by_uuid(profile.id) { debug!( "Player (IP '{}', username '{}') tried to log in with the same UUID ('{}') as an online player (username '{}')", - &self.address.lock().await, - &profile.name, - &profile.id, - &online_player.gameprofile.name + &self.address, &profile.name, &profile.id, &online_player.gameprofile.name ); self.kick(TextComponent::translate_cross( translation::java::MULTIPLAYER_DISCONNECT_DUPLICATE_LOGIN, - translation::java::MULTIPLAYER_DISCONNECT_DUPLICATE_LOGIN, + translation::bedrock::DISCONNECTIONSCREEN_LOGGEDINOTHERLOCATION, [], )) .await; return; } - // Don't allow a duplicate username if let Some(online_player) = &server.get_player_by_name(&profile.name) { debug!( "A player (IP '{}', attempted username '{}') tried to log in with the same username as an online player (UUID '{}', username '{}')", - &self.address.lock().await, - &profile.name, - &profile.id, - &online_player.gameprofile.name + &self.address, &profile.name, &profile.id, &online_player.gameprofile.name ); self.kick(TextComponent::translate_cross( translation::java::MULTIPLAYER_DISCONNECT_DUPLICATE_LOGIN, - translation::java::MULTIPLAYER_DISCONNECT_DUPLICATE_LOGIN, + translation::bedrock::DISCONNECTIONSCREEN_LOGGEDINOTHERLOCATION, [], )) .await; return; } - self.finish_login(profile).await; + self.finish_login(&profile).await; } - async fn enable_compression(&self, server: &Server) { + async fn enable_compression(&mut self, server: &Server) { if self.version.load() < JavaMinecraftVersion::V_1_8 { return; } @@ -212,15 +201,14 @@ impl JavaClient { .compression .info .clone(); - // We want to wait until we have sent the compression packet to the client self.send_packet_now(&CSetCompression::new( compression.threshold.try_into().unwrap(), )) .await; - self.set_compression(compression).await; + self.set_compression(&compression); } - async fn finish_login(&self, profile: &GameProfile) { + async fn finish_login(&mut self, profile: &GameProfile) { let props = profile.properties.load(); let packet = CLoginSuccess::new( &profile.id, @@ -242,7 +230,7 @@ impl JavaClient { username: &str, ) -> Result { let hash = server.digest_secret(shared_secret).await; - let ip = self.address.lock().await.ip(); + let ip = self.address.ip(); let profile = authentication::authenticate( username, &hash, @@ -250,7 +238,6 @@ impl JavaClient { &server.advanced_config.networking.java.authentication, )?; - // Check if the player should join if let Some(actions) = &profile.profile_actions { if server .advanced_config @@ -279,7 +266,6 @@ impl JavaClient { return Err(AuthError::Banned); } } - // Validate textures for property in profile.properties.load().iter() { authentication::validate_textures( property, @@ -296,39 +282,37 @@ impl JavaClient { } pub fn handle_login_cookie_response(&self, packet: &SLoginCookieResponse<'_>) { - // TODO: allow plugins to access this debug!( "Received cookie_response[login]: key: \"{}\", payload_length: \"{:?}\"", packet.key, packet.payload.as_ref().map(|p| p.len()) ); } + pub async fn handle_plugin_response( - &self, + &mut self, server: &Server, plugin_response: SLoginPluginResponse, ) { debug!("Handling plugin"); let velocity_config = &server.advanced_config.networking.proxy.velocity; if velocity_config.enabled { - let mut address = self.address.lock().await; match velocity::receive_velocity_plugin_response( - address.port(), + self.address.port(), velocity_config, plugin_response, ) { Ok((profile, new_address)) => { self.finish_login(&profile).await; - *self.gameprofile.lock().await = Some(profile); - *address = new_address; - drop(address); + self.gameprofile = Some(profile); + self.address = new_address; } Err(error) => self.kick(TextComponent::text(error.to_string())).await, } } } - pub async fn handle_login_acknowledged(&self, server: &Server) { + pub async fn handle_login_acknowledged(&mut self, server: &Server) { debug!("Handling login acknowledgement"); self.connection_state.store(ConnectionState::Config); self.send_packet_now(&server.get_branding()).await; @@ -426,8 +410,7 @@ impl JavaClient { debug!("login acknowledged"); } - /// Send the known data packs to the client. - pub async fn send_known_packs(&self) { + pub async fn send_known_packs(&mut self) { let version_str = self.version.load().to_string(); self.send_packet_now(&CKnownPacks::new(&[KnownPack { namespace: "minecraft", @@ -436,4 +419,47 @@ impl JavaClient { }])) .await; } + + pub async fn handle_known_packs(&mut self, _packet: SKnownPacks<'_>, _server: &Server) { + let version = self.version.load(); + if version >= JavaMinecraftVersion::V_1_20_2 { + self.send_packet_now(&CFeatureFlags::new(&["minecraft:vanilla".to_string()])) + .await; + let registry = pumpkin_data::registry::Registry::get_synced(version); + for reg in ®istry { + self.send_packet_now(&CRegistryData::new(®.registry_id, ®.registry_entries)) + .await; + } + } + let all_keys = [ + pumpkin_data::tag::RegistryKey::BannerPattern, + pumpkin_data::tag::RegistryKey::Block, + pumpkin_data::tag::RegistryKey::CatVariant, + pumpkin_data::tag::RegistryKey::DamageType, + pumpkin_data::tag::RegistryKey::Dialog, + pumpkin_data::tag::RegistryKey::DimensionType, + pumpkin_data::tag::RegistryKey::Enchantment, + pumpkin_data::tag::RegistryKey::EntityType, + pumpkin_data::tag::RegistryKey::Fluid, + pumpkin_data::tag::RegistryKey::GameEvent, + pumpkin_data::tag::RegistryKey::Instrument, + pumpkin_data::tag::RegistryKey::Item, + pumpkin_data::tag::RegistryKey::PaintingVariant, + pumpkin_data::tag::RegistryKey::PointOfInterestType, + pumpkin_data::tag::RegistryKey::Potion, + pumpkin_data::tag::RegistryKey::Timeline, + pumpkin_data::tag::RegistryKey::WorldgenBiome, + ]; + + let mut tags = Vec::new(); + for key in all_keys { + if pumpkin_data::tag::get_registry_key_tags(version, key) + .is_some_and(|map| !map.is_empty()) + { + tags.push(key); + } + } + self.send_packet_now(&CUpdateTags::new(&tags)).await; + self.send_packet_now(&CFinishConfig).await; + } } diff --git a/pumpkin/src/net/java/mod.rs b/crates/pumpkin/src/net/java/mod.rs similarity index 74% rename from pumpkin/src/net/java/mod.rs rename to crates/pumpkin/src/net/java/mod.rs index b0a338372..cca375b94 100644 --- a/pumpkin/src/net/java/mod.rs +++ b/crates/pumpkin/src/net/java/mod.rs @@ -9,7 +9,6 @@ use std::{io::Write, sync::Arc}; use bytes::Bytes; use crossbeam::atomic::AtomicCell; -use pumpkin_config::networking::compression::CompressionInfo; use pumpkin_data::packet::CURRENT_MC_VERSION; use pumpkin_data::translation; use pumpkin_protocol::java::server::play::{ @@ -33,30 +32,15 @@ use pumpkin_protocol::{ client::{config::CConfigDisconnect, login::CLoginDisconnect}, packet_decoder::TCPNetworkDecoder, packet_encoder::TCPNetworkEncoder, - server::{ - config::{ - SAcknowledgeFinishConfig, SClientInformationConfig, SConfigCookieResponse, - SConfigResourcePack, SKnownPacks, SPluginMessage, - }, - handshake::SHandShake, - login::{ - SEncryptionResponse, SLoginAcknowledged, SLoginCookieResponse, - SLoginPluginResponse, SLoginStart, - }, - status::{SStatusPingRequest, SStatusRequest}, - }, }, - ser::{NetworkWriteExt, ReadingError, WritingError}, + ser::{NetworkWriteExt, WritingError}, }; use pumpkin_util::text::TextComponent; use pumpkin_util::version::JavaMinecraftVersion; use tokio::{ io::{BufReader, BufWriter}, - net::{ - TcpStream, - tcp::{OwnedReadHalf, OwnedWriteHalf}, - }, - sync::{Mutex, oneshot}, + net::tcp::{OwnedReadHalf, OwnedWriteHalf}, + sync::oneshot, }; use tokio::{ sync::mpsc::{Receiver, Sender, error::TryRecvError}, @@ -69,32 +53,37 @@ use tracing::{debug, error, warn}; pub mod config; pub mod handshake; pub mod login; +pub mod pending; pub mod play; pub mod recipe_helper; pub mod status; +use arc_swap::ArcSwap; +use pending::PendingConnection; + use crate::entity::player::Player; use crate::net::{GameProfile, PacketHandlerResult, PlayerConfig}; use crate::plugin::api::events::world::chunk_send::ChunkSend; use crate::plugin::player::player_custom_payload::PlayerCustomPayloadEvent; -use crate::{error::PumpkinError, net::EncryptionError, server::Server}; +use crate::{error::PumpkinError, server::Server}; pub struct JavaClient { pub id: u64, pub version: AtomicCell, - /// The client's game profile information. - pub gameprofile: Mutex>, - /// The client's configuration settings, Optional - pub config: Mutex>, - /// The Address used to connect to the Server, Send in the Handshake - pub server_address: Mutex>, + /// The client's game profile information. Direct field (lock-free). + pub gameprofile: GameProfile, + /// The client's configuration settings. Lock-free `ArcSwap`. + pub config: ArcSwap, + /// The Address used to connect to the Server, Sent in the Handshake. Direct field. + pub server_address: String, /// The current connection state of the client (e.g., Handshaking, Status, Play). pub connection_state: AtomicCell, - /// The client's IP address. - pub address: Mutex, - /// The client's brand or modpack information, Optional. - pub brand: Mutex>, - pub player: Mutex>>, + /// The client's IP address. Direct field (lock-free). + pub address: SocketAddr, + /// The client's brand or modpack information. Lock-free `ArcSwap`. + pub brand: ArcSwap>, + /// Associated player reference. Lock-free `ArcSwap`. + pub player: ArcSwap>>, /// A collection of tasks associated with this client. The tasks await completion when removing the client. tasks: TaskTracker, /// An notifier that is triggered when this client is closed. @@ -108,9 +97,9 @@ pub struct JavaClient { /// A high-priority queue of serialized packets to send to the network. outgoing_packet_priority_recv: Option>, /// The packet encoder for outgoing packets. - network_writer: Arc>>>, + network_writer: std::sync::Mutex>>>, /// The packet decoder for incoming packets. - network_reader: Mutex>>, + network_reader: std::sync::Mutex>>>, /// Keep Alive: /// /// Whether we are waiting for a response after sending a keep alive packet. @@ -151,105 +140,48 @@ impl OutgoingPacket { impl JavaClient { #[must_use] - pub fn new(tcp_stream: TcpStream, address: SocketAddr, id: u64) -> Self { - let (read, write) = tcp_stream.into_split(); + pub fn from_pending( + pending: PendingConnection, + gameprofile: GameProfile, + config: PlayerConfig, + ) -> Self { let (send, recv) = tokio::sync::mpsc::channel(4096); let (priority_send, priority_recv) = tokio::sync::mpsc::channel(4096); + Self { - id, - gameprofile: Mutex::new(None), - config: Mutex::new(None), - server_address: Mutex::new("".into()), - address: Mutex::new(address), - connection_state: AtomicCell::new(ConnectionState::HandShake), - close_token: CancellationToken::new(), + id: pending.id, + gameprofile, + config: ArcSwap::from_pointee(config), + server_address: pending.server_address, + address: pending.address, + connection_state: pending.connection_state, + close_token: pending.close_token, tasks: TaskTracker::new(), outgoing_packet_queue_send: send, outgoing_packet_queue_recv: Some(recv), outgoing_packet_priority_send: priority_send, outgoing_packet_priority_recv: Some(priority_recv), - version: AtomicCell::new(CURRENT_MC_VERSION), - network_writer: Arc::new(Mutex::new(TCPNetworkEncoder::new(BufWriter::new(write)))), - network_reader: Mutex::new(TCPNetworkDecoder::new(BufReader::new(read))), - brand: Mutex::new(None), - player: Mutex::new(None), + version: pending.version, + network_writer: std::sync::Mutex::new(Some(pending.network_writer)), + network_reader: std::sync::Mutex::new(Some(pending.network_reader)), + brand: ArcSwap::from_pointee(pending.brand), + player: ArcSwap::from_pointee(None), wait_for_keep_alive: AtomicBool::new(false), keep_alive_id: AtomicCell::new(0), - last_keep_alive_time: AtomicCell::new(std::time::Instant::now()), + last_keep_alive_time: AtomicCell::new(Instant::now()), packet_sequence: AtomicI32::new(-1), } } - pub async fn set_encryption( - &self, - shared_secret: &[u8], // decrypted - ) -> Result<(), EncryptionError> { - let crypt_key: [u8; 16] = shared_secret - .try_into() - .map_err(|_| EncryptionError::SharedWrongLength)?; - self.network_reader - .lock() - .await - .set_encryption(&crypt_key) - .map_err(|_| EncryptionError::AlreadyEncrypted)?; - self.network_writer - .lock() - .await - .set_encryption(&crypt_key) - .map_err(|_| EncryptionError::AlreadyEncrypted)?; - Ok(()) - } - pub async fn set_compression(&self, compression: CompressionInfo) { - if compression.level > 9 { - error!("Invalid compression level! Clients will not be able to read this!"); - } - - self.network_reader - .lock() - .await - .set_compression(compression.threshold as usize); - - self.network_writer - .lock() - .await - .set_compression((compression.threshold as usize, compression.level)); - } - - /// Processes all packets received from the connected client in a loop. - /// - /// This function continuously dequeues packets from the client's packet queue and processes them. - /// Processing involves calling the `handle_packet` function with the server instance and the packet itself. - /// - /// The loop exits when: - /// - /// - The connection is closed (checked before processing each packet). - /// - An error occurs while processing a packet (client is kicked with an error message). - /// - /// # Arguments - /// - /// * `server`: A reference to the `Server` instance. - pub async fn handle_login_sequence(&self, server: &Arc) -> PacketHandlerResult { - while let Some(packet) = self.get_packet().await { - match self.handle_packet(server, &packet).await { - Ok(result) => { - if let Some(result) = result { - return result; - } - } - Err(error) => { - let text = format!("Error while reading incoming packet {error}"); - debug!( - "Failed to read incoming packet with id {}: {}", - packet.id, error - ); - self.kick(TextComponent::text(text)).await; - } - } - } - PacketHandlerResult::Stop + pub fn set_player(&self, player: Arc) { + self.player.store(Arc::new(Some(player))); } pub async fn progress_player_packets(&self, player: &Arc, server: &Arc) { + let Some(mut network_reader) = self.network_reader.lock().unwrap().take() else { + return; + }; + let mut keep_alive_interval = tokio::time::interval(std::time::Duration::from_secs(15)); // Skip the immediate first tick so we don't send a keep-alive the exact millisecond they join @@ -286,7 +218,7 @@ impl JavaClient { } // INCOMING PACKETS - packet_opt = self.get_packet() => { + packet_opt = self.get_packet_with_reader(&mut network_reader) => { let Some(packet) = packet_opt else { break; }; @@ -340,7 +272,7 @@ impl JavaClient { } pub async fn send_chunks(&self, chunks: &[SyncChunk]) { - let player = self.player.lock().await.clone(); + let player = self.player.load_full(); let Some(player) = player.as_ref() else { debug!( "send_chunks: player not set yet, dropping {} chunks", @@ -385,7 +317,7 @@ impl JavaClient { } let payload = Bytes::from(buf); - let player = self.player.lock().await.clone(); + let player = self.player.load_full(); let cancelled = if let Some(player) = player.as_ref() { player .fire_packet_sent_no_obj(P::to_id(self.version.load()), payload.clone()) @@ -458,8 +390,10 @@ impl JavaClient { self.close_token.cancelled().await; } - pub async fn get_packet(&self) -> Option { - let mut network_reader = self.network_reader.lock().await; + pub async fn get_packet_with_reader( + &self, + network_reader: &mut TCPNetworkDecoder>, + ) -> Option { tokio::select! { () = self.await_close_interrupt() => { debug!("Canceling player packet processing"); @@ -510,7 +444,7 @@ impl JavaClient { } let payload = Bytes::from(packet_buf); - let player = self.player.lock().await.clone(); + let player = self.player.load_full(); let cancelled = if let Some(player) = player.as_ref() { player .fire_packet_sent_no_obj(P::to_id(self.version.load()), payload.clone()) @@ -595,83 +529,6 @@ impl JavaClient { /// - **Status:** Handles status request and ping packets. /// - **Login/Transfer:** Handles login and transfer packets. /// - **Config:** Handles configuration packets. - /// - /// For the `Play` state, an error is logged as it indicates an invalid state for packet processing. - /// - /// # Arguments - /// - /// * `server`: A reference to the `Server` instance. - /// * `packet`: A mutable reference to the `RawPacket` to be processed. - /// - /// # Returns - /// - /// A `Result` indicating whether the packet was read and handled successfully. - /// - /// # Errors - /// - /// Returns a `DeserializerError` if an error occurs during packet deserialization. - pub async fn handle_packet( - &self, - server: &Arc, - packet: &RawPacket, - ) -> Result, ReadingError> { - match self.connection_state.load() { - ConnectionState::HandShake => self.handle_handshake_packet(packet).await, - ConnectionState::Status => self.handle_status_packet(server, packet).await, - // TODO: Check config if transfer is enabled - ConnectionState::Login | ConnectionState::Transfer => { - self.handle_login_packet(server, packet).await - } - ConnectionState::Config => self.handle_config_packet(server, packet).await, - ConnectionState::Play => Ok(None), - } - } - - async fn handle_handshake_packet( - &self, - packet: &RawPacket, - ) -> Result, ReadingError> { - debug!("Handling handshake group"); - let mut payload = &packet.payload[..]; - match packet.id { - 0 => { - self.handle_handshake(SHandShake::read(&mut payload, &self.version.load())?) - .await; - Ok(None) - } - _ => Err(ReadingError::Message(format!( - "Failed to handle packet id {} in Handshake State", - packet.id - ))), - } - } - - async fn handle_status_packet( - &self, - server: &Server, - packet: &RawPacket, - ) -> Result, ReadingError> { - debug!("Handling status group"); - let mut payload = &packet.payload[..]; - let version = self.version.load(); - - match packet.id { - id if id == SStatusRequest::to_id(version) => { - self.handle_status_request(server).await; - Ok(None) - } - id if id == SStatusPingRequest::to_id(version) => { - self.handle_ping_request(SStatusPingRequest::read(&mut payload, &version)?) - .await; - Ok(None) - } - _ => Err(ReadingError::Message(format!( - "Failed to handle java client packet id {} in Status State", - packet.id - ))), - } - } - pub fn start_outgoing_packet_task(&mut self) { const MAX_BATCH_SIZE: usize = 64; @@ -684,7 +541,9 @@ impl JavaClient { .take() .expect("This was set in the new fn"); let close_token = self.close_token.clone(); - let writer = self.network_writer.clone(); + let Some(mut writer) = self.network_writer.lock().unwrap().take() else { + return; + }; let id = self.id; self.spawn_task(async move { while !close_token.is_cancelled() { @@ -718,7 +577,6 @@ impl JavaClient { } let send_failed = { - let mut writer = writer.lock().await; let mut failed = false; for packet in &packet_batch { if let Err(err) = writer.write_packet(packet.data.clone()).await { @@ -772,125 +630,6 @@ impl JavaClient { self.close_token.is_cancelled() } - async fn handle_login_packet( - &self, - server: &Server, - packet: &RawPacket, - ) -> Result, ReadingError> { - debug!("Handling login group for id"); - let mut payload = &packet.payload[..]; - let version = self.version.load(); - match packet.id { - id if id == SLoginStart::to_id(version) => { - self.handle_login_start(server, SLoginStart::read(&mut payload, &version)?) - .await; - } - id if id == SEncryptionResponse::to_id(version) => { - self.handle_encryption_response( - server, - SEncryptionResponse::read(&mut payload, &version)?, - ) - .await; - } - id if id == SLoginPluginResponse::to_id(version) => { - self.handle_plugin_response( - server, - SLoginPluginResponse::read(&mut payload, &version)?, - ) - .await; - } - id if id == SLoginAcknowledged::to_id(version) => { - self.handle_login_acknowledged(server).await; - } - id if id == SLoginCookieResponse::to_id(version) => { - self.handle_login_cookie_response(&SLoginCookieResponse::read( - &mut payload, - &version, - )?); - } - _ => { - error!( - "Failed to handle java client packet id {} in Login State", - packet.id - ); - } - } - Ok(None) - } - - async fn handle_config_packet( - &self, - server: &Arc, - packet: &RawPacket, - ) -> Result, ReadingError> { - debug!("Handling config group for id {}", packet.id); - let mut payload = &packet.payload[..]; - let version = self.version.load(); - - match packet.id { - id if id == SClientInformationConfig::to_id(version) => { - self.handle_client_information_config(SClientInformationConfig::read( - &mut payload, - &version, - )?) - .await; - } - id if id == SPluginMessage::to_id(version) => { - self.handle_plugin_message(SPluginMessage::read(&mut payload, &version)?) - .await; - } - id if id - == pumpkin_protocol::java::server::config::SCustomClickAction::to_id(version) => - { - let _packet = pumpkin_protocol::java::server::config::SCustomClickAction::read( - &mut payload, - &version, - )?; - warn!("CustomClickAction in config state not yet supported"); - } - id if id == SAcknowledgeFinishConfig::to_id(version) => { - return Ok(Some(self.handle_config_acknowledged(server).await)); - } - id if id == SKnownPacks::to_id(version) => { - if let Some(i) = self - .handle_known_packs(SKnownPacks::read(&mut payload, &version)?, server) - .await - { - return Ok(Some(i)); - } - } - id if id == pumpkin_protocol::java::server::config::SKeepAlive::to_id(version) => { - self.handle_config_keep_alive( - pumpkin_protocol::java::server::config::SKeepAlive::read( - &mut payload, - &version, - )?, - ) - .await; - } - id if id == SConfigCookieResponse::to_id(version) => { - self.handle_config_cookie_response(&SConfigCookieResponse::read( - &mut payload, - &version, - )?); - } - id if id == SConfigResourcePack::to_id(version) => { - self.handle_resource_pack_response( - server, - SConfigResourcePack::read(&mut payload, &version)?, - ) - .await; - } - _ => { - error!( - "Failed to handle java client packet id {} in Config State", - packet.id - ); - } - } - Ok(None) - } - #[expect(clippy::too_many_lines)] pub async fn handle_play_packet( &self, diff --git a/crates/pumpkin/src/net/java/pending.rs b/crates/pumpkin/src/net/java/pending.rs new file mode 100644 index 000000000..4b2cc47b0 --- /dev/null +++ b/crates/pumpkin/src/net/java/pending.rs @@ -0,0 +1,481 @@ +use std::{net::SocketAddr, num::NonZeroU8, sync::Arc}; + +use bytes::Bytes; +use crossbeam::atomic::AtomicCell; +use pumpkin_config::networking::compression::CompressionInfo; +use pumpkin_data::packet::CURRENT_MC_VERSION; +use pumpkin_protocol::{ + ClientPacket, ConnectionState, PacketDecodeError, RawPacket, ServerPacket, + java::{ + client::config::CConfigDisconnect, + client::login::CLoginDisconnect, + packet_decoder::TCPNetworkDecoder, + packet_encoder::TCPNetworkEncoder, + server::config::{ + SAcknowledgeFinishConfig, SClientInformationConfig, SConfigCookieResponse, + SConfigResourcePack, SKnownPacks, SPluginMessage, + }, + }, + packet::MultiVersionJavaPacket, + ser::ReadingError, +}; +use pumpkin_util::{Hand, text::TextComponent, version::JavaMinecraftVersion}; +use tokio::{ + io::{BufReader, BufWriter}, + net::{ + TcpStream, + tcp::{OwnedReadHalf, OwnedWriteHalf}, + }, +}; +use tokio_util::sync::CancellationToken; +use tracing::{debug, error, warn}; + +use crate::{ + entity::player::ChatMode, + net::{EncryptionError, GameProfile, PacketHandlerResult, PlayerConfig, can_not_join}, + server::Server, +}; + +use super::JavaClient; + +const BRAND_CHANNEL_PREFIX: &str = "minecraft:brand"; + +pub struct PendingConnection { + pub id: u64, + pub address: SocketAddr, + pub server_address: String, + pub version: AtomicCell, + pub connection_state: AtomicCell, + pub close_token: CancellationToken, + pub network_writer: TCPNetworkEncoder>, + pub network_reader: TCPNetworkDecoder>, + pub gameprofile: Option, + pub config: Option, + pub brand: Option, +} + +impl PendingConnection { + pub fn new(tcp_stream: TcpStream, address: SocketAddr, id: u64) -> Self { + let (read, write) = tcp_stream.into_split(); + Self { + id, + address, + server_address: String::new(), + version: AtomicCell::new(CURRENT_MC_VERSION), + connection_state: AtomicCell::new(ConnectionState::HandShake), + close_token: CancellationToken::new(), + network_writer: TCPNetworkEncoder::new(BufWriter::new(write)), + network_reader: TCPNetworkDecoder::new(BufReader::new(read)), + gameprofile: None, + config: None, + brand: None, + } + } + + pub fn close(&self) { + self.close_token.cancel(); + } + + pub fn is_closed(&self) -> bool { + self.close_token.is_cancelled() + } + + pub async fn await_close_interrupt(&self) { + self.close_token.cancelled().await; + } + + pub fn set_encryption(&mut self, shared_secret: &[u8]) -> Result<(), EncryptionError> { + let crypt_key: [u8; 16] = shared_secret + .try_into() + .map_err(|_| EncryptionError::SharedWrongLength)?; + self.network_reader + .set_encryption(&crypt_key) + .map_err(|_| EncryptionError::AlreadyEncrypted)?; + self.network_writer + .set_encryption(&crypt_key) + .map_err(|_| EncryptionError::AlreadyEncrypted)?; + Ok(()) + } + + pub fn set_compression(&mut self, compression: &CompressionInfo) { + if compression.level > 9 { + error!("Invalid compression level! Clients will not be able to read this!"); + } + + self.network_reader + .set_compression(compression.threshold as usize); + + self.network_writer + .set_compression((compression.threshold as usize, compression.level)); + } + + pub async fn get_packet(&mut self) -> Option { + let close_token = self.close_token.clone(); + let packet_result = tokio::select! { + () = close_token.cancelled() => { + debug!("Canceling pending connection packet processing"); + return None; + }, + res = self.network_reader.get_raw_packet() => res, + }; + + match packet_result { + Ok(packet) => Some(packet), + Err(err) => { + if !matches!(err, PacketDecodeError::ConnectionClosed) { + warn!("Failed to decode packet from client {}: {}", self.id, err); + let text = format!("Error while reading incoming packet {err}"); + self.kick(TextComponent::text(text)).await; + } + None + } + } + } + + pub async fn send_packet_now(&mut self, packet: &P) { + let mut packet_buf = Vec::new(); + if let Err(err) = + JavaClient::write_packet_for_version(packet, self.version.load(), &mut packet_buf) + { + error!("Failed to write packet: {err:?}"); + return; + } + let payload = Bytes::from(packet_buf); + if let Err(err) = self.network_writer.write_packet(payload).await { + warn!("Failed to send packet to client {}: {}", self.id, err); + } + let _ = self.network_writer.flush().await; + } + + pub async fn kick(&mut self, reason: TextComponent) { + match self.connection_state.load() { + ConnectionState::Login => { + self.send_packet_now(&CLoginDisconnect::new( + serde_json::to_string(&reason.0).unwrap_or_else(|_| String::new()), + )) + .await; + } + ConnectionState::Config => { + self.send_packet_now(&CConfigDisconnect::new(&reason.get_text())) + .await; + } + _ => {} + } + debug!("Closing connection for {}", self.id); + self.close(); + } + + pub async fn handle_login_sequence(&mut self, server: &Arc) -> PacketHandlerResult { + while let Some(packet) = self.get_packet().await { + match self.handle_packet(server, &packet).await { + Ok(result) => { + if let Some(result) = result { + return result; + } + } + Err(error) => { + let text = format!("Error while reading incoming packet {error}"); + debug!( + "Failed to read incoming packet with id {}: {}", + packet.id, error + ); + self.kick(TextComponent::text(text)).await; + } + } + } + PacketHandlerResult::Stop + } + + pub async fn handle_packet( + &mut self, + server: &Arc, + packet: &RawPacket, + ) -> Result, ReadingError> { + match self.connection_state.load() { + ConnectionState::HandShake => self.handle_handshake_packet(packet).await, + ConnectionState::Status => self.handle_status_packet(server, packet).await, + ConnectionState::Login | ConnectionState::Transfer => { + self.handle_login_packet(server, packet).await + } + ConnectionState::Config => self.handle_config_packet(server, packet).await, + ConnectionState::Play => Ok(None), + } + } + + async fn handle_handshake_packet( + &mut self, + packet: &RawPacket, + ) -> Result, ReadingError> { + debug!("Handling handshake group"); + let mut payload = &packet.payload[..]; + match packet.id { + 0 => { + self.handle_handshake(pumpkin_protocol::java::server::handshake::SHandShake::read( + &mut payload, + &self.version.load(), + )?) + .await; + Ok(None) + } + _ => Err(ReadingError::Message(format!( + "Failed to handle packet id {} in Handshake State", + packet.id + ))), + } + } + + async fn handle_status_packet( + &mut self, + server: &Server, + packet: &RawPacket, + ) -> Result, ReadingError> { + debug!("Handling status group"); + let mut payload = &packet.payload[..]; + let version = self.version.load(); + + match packet.id { + id if id == pumpkin_protocol::java::server::status::SStatusRequest::to_id(version) => { + self.handle_status_request(server).await; + Ok(None) + } + id if id + == pumpkin_protocol::java::server::status::SStatusPingRequest::to_id(version) => + { + self.handle_ping_request( + pumpkin_protocol::java::server::status::SStatusPingRequest::read( + &mut payload, + &version, + )?, + ) + .await; + Ok(None) + } + _ => Err(ReadingError::Message(format!( + "Failed to handle java client packet id {} in Status State", + packet.id + ))), + } + } + + async fn handle_login_packet( + &mut self, + server: &Server, + packet: &RawPacket, + ) -> Result, ReadingError> { + debug!("Handling login group"); + let mut payload = &packet.payload[..]; + let version = self.version.load(); + + match packet.id { + id if id == pumpkin_protocol::java::server::login::SLoginStart::to_id(version) => { + self.handle_login_start( + server, + pumpkin_protocol::java::server::login::SLoginStart::read( + &mut payload, + &version, + )?, + ) + .await; + Ok(None) + } + id if id + == pumpkin_protocol::java::server::login::SEncryptionResponse::to_id(version) => + { + self.handle_encryption_response( + server, + pumpkin_protocol::java::server::login::SEncryptionResponse::read( + &mut payload, + &version, + )?, + ) + .await; + Ok(None) + } + id if id + == pumpkin_protocol::java::server::login::SLoginPluginResponse::to_id(version) => + { + self.handle_plugin_response( + server, + pumpkin_protocol::java::server::login::SLoginPluginResponse::read( + &mut payload, + &version, + )?, + ) + .await; + Ok(None) + } + id if id + == pumpkin_protocol::java::server::login::SLoginCookieResponse::to_id(version) => + { + self.handle_login_cookie_response( + &pumpkin_protocol::java::server::login::SLoginCookieResponse::read( + &mut payload, + &version, + )?, + ); + Ok(None) + } + id if id + == pumpkin_protocol::java::server::login::SLoginAcknowledged::to_id(version) => + { + self.handle_login_acknowledged(server).await; + Ok(None) + } + _ => Err(ReadingError::Message(format!( + "Failed to handle packet id {} in Login State", + packet.id + ))), + } + } + + async fn handle_config_packet( + &mut self, + server: &Arc, + packet: &RawPacket, + ) -> Result, ReadingError> { + debug!("Handling config group"); + let mut payload = &packet.payload[..]; + let version = self.version.load(); + + match packet.id { + id if id == SClientInformationConfig::to_id(version) => { + self.handle_client_information_config(SClientInformationConfig::read( + &mut payload, + &version, + )?) + .await; + Ok(None) + } + id if id == SPluginMessage::to_id(version) => { + self.handle_plugin_message(SPluginMessage::read(&mut payload, &version)?) + .await; + Ok(None) + } + id if id == SAcknowledgeFinishConfig::to_id(version) => { + let profile = self.gameprofile.clone().expect("Profile must be set"); + let config = self.config.clone().unwrap_or_default(); + if let Some(reason) = can_not_join(&profile, &self.address, server).await { + self.kick(reason).await; + Ok(Some(PacketHandlerResult::Stop)) + } else { + self.connection_state.store(ConnectionState::Play); + Ok(Some(PacketHandlerResult::ReadyToPlay(profile, config))) + } + } + id if id == SKnownPacks::to_id(version) => { + self.handle_known_packs(SKnownPacks::read(&mut payload, &version)?, server) + .await; + Ok(None) + } + id if id == SConfigResourcePack::to_id(version) => { + self.handle_resource_pack_response( + server, + SConfigResourcePack::read(&mut payload, &version)?, + ) + .await; + Ok(None) + } + id if id == SConfigCookieResponse::to_id(version) => { + self.handle_config_cookie_response(&SConfigCookieResponse::read( + &mut payload, + &version, + )?); + Ok(None) + } + _ => Err(ReadingError::Message(format!( + "Failed to handle packet id {} in Config State", + packet.id + ))), + } + } + + pub async fn handle_client_information_config( + &mut self, + client_information: SClientInformationConfig<'_>, + ) { + debug!("Handling client settings"); + if client_information.view_distance <= 0 { + self.kick(TextComponent::text( + "Cannot have zero or negative view distance!", + )) + .await; + return; + } + + if let (Ok(main_hand), Ok(chat_mode)) = ( + Hand::try_from(client_information.main_hand.0), + ChatMode::try_from(client_information.chat_mode.0), + ) { + self.config = Some(PlayerConfig { + locale: client_information.locale.to_string(), + view_distance: NonZeroU8::new(client_information.view_distance as u8).unwrap(), + chat_mode, + chat_colors: client_information.chat_colors, + skin_parts: client_information.skin_parts, + main_hand, + text_filtering: client_information.text_filtering, + server_listing: client_information.server_listing, + }); + } else { + self.kick(TextComponent::text("Invalid hand or chat type")) + .await; + } + } + + pub async fn handle_plugin_message(&mut self, plugin_message: SPluginMessage<'_>) { + debug!("Handling plugin message"); + if plugin_message.channel.starts_with(BRAND_CHANNEL_PREFIX) { + debug!("Got a client brand"); + match core::str::from_utf8(plugin_message.data) { + Ok(brand) => self.brand = Some(brand.to_string()), + Err(e) => self.kick(TextComponent::text(e.to_string())).await, + } + } + } + + pub async fn handle_resource_pack_response( + &mut self, + server: &Server, + packet: SConfigResourcePack, + ) { + let resource_config = &server.advanced_config.resource_pack.java; + if resource_config.enabled { + use pumpkin_protocol::java::server::config::ResourcePackResponseResult; + match packet.response_result() { + ResourcePackResponseResult::Downloaded + | ResourcePackResponseResult::DownloadSuccess + | ResourcePackResponseResult::Accepted + | ResourcePackResponseResult::Discarded + | ResourcePackResponseResult::Unknown(_) => {} + ResourcePackResponseResult::Declined => { + if resource_config.force { + self.kick(TextComponent::text("Required resource pack was declined")) + .await; + } + } + ResourcePackResponseResult::DownloadFail => { + if resource_config.force { + self.kick(TextComponent::text("Failed to download resource pack")) + .await; + } + } + ResourcePackResponseResult::InvalidUrl => { + self.kick(TextComponent::text("Invalid resource pack URL")) + .await; + } + ResourcePackResponseResult::ReloadFailed => { + self.kick(TextComponent::text("Failed to reload resource pack")) + .await; + } + } + } + } + + pub fn handle_config_cookie_response(&self, packet: &SConfigCookieResponse<'_>) { + debug!( + "Received cookie_response[config]: key: \"{}\", payload_length: \"{:?}\"", + packet.key, + packet.payload.as_ref().map(|p| p.len()) + ); + } +} diff --git a/pumpkin/src/net/java/play.rs b/crates/pumpkin/src/net/java/play.rs similarity index 100% rename from pumpkin/src/net/java/play.rs rename to crates/pumpkin/src/net/java/play.rs diff --git a/pumpkin/src/net/java/recipe_helper.rs b/crates/pumpkin/src/net/java/recipe_helper.rs similarity index 100% rename from pumpkin/src/net/java/recipe_helper.rs rename to crates/pumpkin/src/net/java/recipe_helper.rs diff --git a/pumpkin/src/net/java/status.rs b/crates/pumpkin/src/net/java/status.rs similarity index 70% rename from pumpkin/src/net/java/status.rs rename to crates/pumpkin/src/net/java/status.rs index 91c995e3a..6c9e25ccd 100644 --- a/pumpkin/src/net/java/status.rs +++ b/crates/pumpkin/src/net/java/status.rs @@ -2,11 +2,11 @@ use pumpkin_protocol::{ java::client::status::CPingResponse, java::server::status::SStatusPingRequest, }; -use crate::{net::java::JavaClient, server::Server}; +use crate::{net::java::pending::PendingConnection, server::Server}; use tracing::debug; -impl JavaClient { - pub async fn handle_status_request(&self, server: &Server) { +impl PendingConnection { + pub async fn handle_status_request(&mut self, server: &Server) { debug!("Handling status request"); let status = server.get_status(); self.send_packet_now( @@ -18,7 +18,7 @@ impl JavaClient { .await; } - pub async fn handle_ping_request(&self, ping_request: SStatusPingRequest) { + pub async fn handle_ping_request(&mut self, ping_request: SStatusPingRequest) { debug!("Handling ping request"); self.send_packet_now(&CPingResponse::new(ping_request.payload)) .await; diff --git a/pumpkin/src/net/lan_broadcast.rs b/crates/pumpkin/src/net/lan_broadcast.rs similarity index 100% rename from pumpkin/src/net/lan_broadcast.rs rename to crates/pumpkin/src/net/lan_broadcast.rs diff --git a/pumpkin/src/net/mod.rs b/crates/pumpkin/src/net/mod.rs similarity index 99% rename from pumpkin/src/net/mod.rs rename to crates/pumpkin/src/net/mod.rs index 7a1108ab3..b6bd3f7f5 100644 --- a/pumpkin/src/net/mod.rs +++ b/crates/pumpkin/src/net/mod.rs @@ -122,9 +122,9 @@ pub enum ClientPlatform { } impl ClientPlatform { - pub async fn address(&self) -> SocketAddr { + pub fn address(&self) -> SocketAddr { match self { - Self::Java(java) => *java.address.lock().await, + Self::Java(java) => java.address, Self::Bedrock(bedrock) => bedrock.address, } } diff --git a/pumpkin/src/net/proxy/bungeecord.rs b/crates/pumpkin/src/net/proxy/bungeecord.rs similarity index 95% rename from pumpkin/src/net/proxy/bungeecord.rs rename to crates/pumpkin/src/net/proxy/bungeecord.rs index 5f4dc5930..c68e1d371 100644 --- a/pumpkin/src/net/proxy/bungeecord.rs +++ b/crates/pumpkin/src/net/proxy/bungeecord.rs @@ -2,7 +2,6 @@ use arc_swap::ArcSwap; use std::sync::Arc; use std::{net::IpAddr, net::SocketAddr}; use thiserror::Error; -use tokio::sync::Mutex; use crate::net::{GameProfile, offline_uuid}; @@ -30,8 +29,8 @@ pub enum BungeeCordError { /// /// If any of the optional data is missing, the function will attempt to /// determine the player's information locally. -pub async fn bungeecord_login( - client_address: &Mutex, +pub fn bungeecord_login( + client_address: &SocketAddr, server_address: &str, name: String, ) -> Result<(IpAddr, GameProfile), BungeeCordError> { @@ -44,7 +43,7 @@ pub async fn bungeecord_login( Some(ip_str) if !ip_str.is_empty() => ip_str .parse() .map_err(|_| BungeeCordError::FailedParseAddress)?, - _ => client_address.lock().await.ip(), + _ => client_address.ip(), }; let id = match parts.next() { @@ -106,13 +105,12 @@ mod tests { let handshake = SHandShake::read(&mut &buf[..], &JavaMinecraftVersion::V_1_21_11) .expect("a handshake sent by BungeeCord should be readable"); - let client_address = Mutex::new(SocketAddr::from(([10, 0, 0, 1], 51234))); + let client_address = SocketAddr::from(([10, 0, 0, 1], 51234)); let (ip, profile) = bungeecord_login( &client_address, &handshake.server_address, "Steve".to_string(), ) - .await .expect("the forwarded address should produce a game profile"); // The forwarded IP and UUID are used, not the proxy's own socket address. diff --git a/pumpkin/src/net/proxy/mod.rs b/crates/pumpkin/src/net/proxy/mod.rs similarity index 100% rename from pumpkin/src/net/proxy/mod.rs rename to crates/pumpkin/src/net/proxy/mod.rs diff --git a/pumpkin/src/net/proxy/velocity.rs b/crates/pumpkin/src/net/proxy/velocity.rs similarity index 96% rename from pumpkin/src/net/proxy/velocity.rs rename to crates/pumpkin/src/net/proxy/velocity.rs index 2325e7bae..dada02a2e 100644 --- a/pumpkin/src/net/proxy/velocity.rs +++ b/crates/pumpkin/src/net/proxy/velocity.rs @@ -19,7 +19,7 @@ use std::{ use thiserror::Error; use tracing::debug; -use crate::net::{GameProfile, java::JavaClient}; +use crate::net::{GameProfile, java::pending::PendingConnection}; type HmacSha256 = Hmac; @@ -48,14 +48,14 @@ pub enum VelocityError { FailedReadProfileProperties, } -pub async fn velocity_login(client: &JavaClient) { +pub async fn velocity_login(connection: &mut PendingConnection) { // TODO: Validate the packet transaction id from the plugin response with this let velocity_message_id: i32 = rand::rng().random(); let mut buf = BytesMut::new(); buf.put_u8(MAX_SUPPORTED_FORWARDING_VERSION); - client - .enqueue_packet(&CLoginPluginRequest::new( + connection + .send_packet_now(&CLoginPluginRequest::new( velocity_message_id.into(), PLAYER_INFO_CHANNEL, &buf, diff --git a/pumpkin/src/net/query.rs b/crates/pumpkin/src/net/query.rs similarity index 100% rename from pumpkin/src/net/query.rs rename to crates/pumpkin/src/net/query.rs diff --git a/pumpkin/src/net/rcon/mod.rs b/crates/pumpkin/src/net/rcon/mod.rs similarity index 100% rename from pumpkin/src/net/rcon/mod.rs rename to crates/pumpkin/src/net/rcon/mod.rs diff --git a/pumpkin/src/net/rcon/packet.rs b/crates/pumpkin/src/net/rcon/packet.rs similarity index 98% rename from pumpkin/src/net/rcon/packet.rs rename to crates/pumpkin/src/net/rcon/packet.rs index f5417d986..2b8483017 100644 --- a/pumpkin/src/net/rcon/packet.rs +++ b/crates/pumpkin/src/net/rcon/packet.rs @@ -6,7 +6,7 @@ use thiserror::Error; pub enum ServerboundPacket { /// Typically, the first packet sent by the client, which is used to authenticate the connection with the server. Auth = 2, - /// This packet type represents a command issued by a client to the server. This can be a `ConCommand` such as /kill or /weather clear. + /// This packet type represents a command issued by a client to the server. This can be a `ConCommand` such as `/kill ` or `/weather clear`. /// The response will vary depending on the command issued. ExecCommand = 3, } diff --git a/pumpkin/src/plugin/api/context.rs b/crates/pumpkin/src/plugin/api/context.rs similarity index 100% rename from pumpkin/src/plugin/api/context.rs rename to crates/pumpkin/src/plugin/api/context.rs diff --git a/pumpkin/src/plugin/api/events/block/block_break.rs b/crates/pumpkin/src/plugin/api/events/block/block_break.rs similarity index 100% rename from pumpkin/src/plugin/api/events/block/block_break.rs rename to crates/pumpkin/src/plugin/api/events/block/block_break.rs diff --git a/pumpkin/src/plugin/api/events/block/block_burn.rs b/crates/pumpkin/src/plugin/api/events/block/block_burn.rs similarity index 100% rename from pumpkin/src/plugin/api/events/block/block_burn.rs rename to crates/pumpkin/src/plugin/api/events/block/block_burn.rs diff --git a/pumpkin/src/plugin/api/events/block/block_can_build.rs b/crates/pumpkin/src/plugin/api/events/block/block_can_build.rs similarity index 100% rename from pumpkin/src/plugin/api/events/block/block_can_build.rs rename to crates/pumpkin/src/plugin/api/events/block/block_can_build.rs diff --git a/pumpkin/src/plugin/api/events/block/block_damage.rs b/crates/pumpkin/src/plugin/api/events/block/block_damage.rs similarity index 100% rename from pumpkin/src/plugin/api/events/block/block_damage.rs rename to crates/pumpkin/src/plugin/api/events/block/block_damage.rs diff --git a/pumpkin/src/plugin/api/events/block/block_dispense.rs b/crates/pumpkin/src/plugin/api/events/block/block_dispense.rs similarity index 100% rename from pumpkin/src/plugin/api/events/block/block_dispense.rs rename to crates/pumpkin/src/plugin/api/events/block/block_dispense.rs diff --git a/pumpkin/src/plugin/api/events/block/block_explode.rs b/crates/pumpkin/src/plugin/api/events/block/block_explode.rs similarity index 100% rename from pumpkin/src/plugin/api/events/block/block_explode.rs rename to crates/pumpkin/src/plugin/api/events/block/block_explode.rs diff --git a/pumpkin/src/plugin/api/events/block/block_fade.rs b/crates/pumpkin/src/plugin/api/events/block/block_fade.rs similarity index 100% rename from pumpkin/src/plugin/api/events/block/block_fade.rs rename to crates/pumpkin/src/plugin/api/events/block/block_fade.rs diff --git a/pumpkin/src/plugin/api/events/block/block_form.rs b/crates/pumpkin/src/plugin/api/events/block/block_form.rs similarity index 100% rename from pumpkin/src/plugin/api/events/block/block_form.rs rename to crates/pumpkin/src/plugin/api/events/block/block_form.rs diff --git a/pumpkin/src/plugin/api/events/block/block_from_to.rs b/crates/pumpkin/src/plugin/api/events/block/block_from_to.rs similarity index 100% rename from pumpkin/src/plugin/api/events/block/block_from_to.rs rename to crates/pumpkin/src/plugin/api/events/block/block_from_to.rs diff --git a/pumpkin/src/plugin/api/events/block/block_grow.rs b/crates/pumpkin/src/plugin/api/events/block/block_grow.rs similarity index 100% rename from pumpkin/src/plugin/api/events/block/block_grow.rs rename to crates/pumpkin/src/plugin/api/events/block/block_grow.rs diff --git a/pumpkin/src/plugin/api/events/block/block_ignite.rs b/crates/pumpkin/src/plugin/api/events/block/block_ignite.rs similarity index 100% rename from pumpkin/src/plugin/api/events/block/block_ignite.rs rename to crates/pumpkin/src/plugin/api/events/block/block_ignite.rs diff --git a/pumpkin/src/plugin/api/events/block/block_physics.rs b/crates/pumpkin/src/plugin/api/events/block/block_physics.rs similarity index 100% rename from pumpkin/src/plugin/api/events/block/block_physics.rs rename to crates/pumpkin/src/plugin/api/events/block/block_physics.rs diff --git a/pumpkin/src/plugin/api/events/block/block_piston.rs b/crates/pumpkin/src/plugin/api/events/block/block_piston.rs similarity index 100% rename from pumpkin/src/plugin/api/events/block/block_piston.rs rename to crates/pumpkin/src/plugin/api/events/block/block_piston.rs diff --git a/pumpkin/src/plugin/api/events/block/block_place.rs b/crates/pumpkin/src/plugin/api/events/block/block_place.rs similarity index 100% rename from pumpkin/src/plugin/api/events/block/block_place.rs rename to crates/pumpkin/src/plugin/api/events/block/block_place.rs diff --git a/pumpkin/src/plugin/api/events/block/block_redstone.rs b/crates/pumpkin/src/plugin/api/events/block/block_redstone.rs similarity index 100% rename from pumpkin/src/plugin/api/events/block/block_redstone.rs rename to crates/pumpkin/src/plugin/api/events/block/block_redstone.rs diff --git a/pumpkin/src/plugin/api/events/block/mod.rs b/crates/pumpkin/src/plugin/api/events/block/mod.rs similarity index 100% rename from pumpkin/src/plugin/api/events/block/mod.rs rename to crates/pumpkin/src/plugin/api/events/block/mod.rs diff --git a/pumpkin/src/plugin/api/events/block/note_play.rs b/crates/pumpkin/src/plugin/api/events/block/note_play.rs similarity index 100% rename from pumpkin/src/plugin/api/events/block/note_play.rs rename to crates/pumpkin/src/plugin/api/events/block/note_play.rs diff --git a/pumpkin/src/plugin/api/events/block/sign_change.rs b/crates/pumpkin/src/plugin/api/events/block/sign_change.rs similarity index 100% rename from pumpkin/src/plugin/api/events/block/sign_change.rs rename to crates/pumpkin/src/plugin/api/events/block/sign_change.rs diff --git a/pumpkin/src/plugin/api/events/block/sponge_absorb.rs b/crates/pumpkin/src/plugin/api/events/block/sponge_absorb.rs similarity index 100% rename from pumpkin/src/plugin/api/events/block/sponge_absorb.rs rename to crates/pumpkin/src/plugin/api/events/block/sponge_absorb.rs diff --git a/pumpkin/src/plugin/api/events/block/tnt_prime.rs b/crates/pumpkin/src/plugin/api/events/block/tnt_prime.rs similarity index 100% rename from pumpkin/src/plugin/api/events/block/tnt_prime.rs rename to crates/pumpkin/src/plugin/api/events/block/tnt_prime.rs diff --git a/pumpkin/src/plugin/api/events/entity/entity_air_change.rs b/crates/pumpkin/src/plugin/api/events/entity/entity_air_change.rs similarity index 100% rename from pumpkin/src/plugin/api/events/entity/entity_air_change.rs rename to crates/pumpkin/src/plugin/api/events/entity/entity_air_change.rs diff --git a/pumpkin/src/plugin/api/events/entity/entity_breed.rs b/crates/pumpkin/src/plugin/api/events/entity/entity_breed.rs similarity index 100% rename from pumpkin/src/plugin/api/events/entity/entity_breed.rs rename to crates/pumpkin/src/plugin/api/events/entity/entity_breed.rs diff --git a/pumpkin/src/plugin/api/events/entity/entity_combust.rs b/crates/pumpkin/src/plugin/api/events/entity/entity_combust.rs similarity index 100% rename from pumpkin/src/plugin/api/events/entity/entity_combust.rs rename to crates/pumpkin/src/plugin/api/events/entity/entity_combust.rs diff --git a/pumpkin/src/plugin/api/events/entity/entity_damage.rs b/crates/pumpkin/src/plugin/api/events/entity/entity_damage.rs similarity index 100% rename from pumpkin/src/plugin/api/events/entity/entity_damage.rs rename to crates/pumpkin/src/plugin/api/events/entity/entity_damage.rs diff --git a/pumpkin/src/plugin/api/events/entity/entity_death.rs b/crates/pumpkin/src/plugin/api/events/entity/entity_death.rs similarity index 100% rename from pumpkin/src/plugin/api/events/entity/entity_death.rs rename to crates/pumpkin/src/plugin/api/events/entity/entity_death.rs diff --git a/pumpkin/src/plugin/api/events/entity/entity_dye.rs b/crates/pumpkin/src/plugin/api/events/entity/entity_dye.rs similarity index 100% rename from pumpkin/src/plugin/api/events/entity/entity_dye.rs rename to crates/pumpkin/src/plugin/api/events/entity/entity_dye.rs diff --git a/pumpkin/src/plugin/api/events/entity/entity_explode.rs b/crates/pumpkin/src/plugin/api/events/entity/entity_explode.rs similarity index 100% rename from pumpkin/src/plugin/api/events/entity/entity_explode.rs rename to crates/pumpkin/src/plugin/api/events/entity/entity_explode.rs diff --git a/pumpkin/src/plugin/api/events/entity/entity_mount.rs b/crates/pumpkin/src/plugin/api/events/entity/entity_mount.rs similarity index 100% rename from pumpkin/src/plugin/api/events/entity/entity_mount.rs rename to crates/pumpkin/src/plugin/api/events/entity/entity_mount.rs diff --git a/pumpkin/src/plugin/api/events/entity/entity_regain_health.rs b/crates/pumpkin/src/plugin/api/events/entity/entity_regain_health.rs similarity index 100% rename from pumpkin/src/plugin/api/events/entity/entity_regain_health.rs rename to crates/pumpkin/src/plugin/api/events/entity/entity_regain_health.rs diff --git a/pumpkin/src/plugin/api/events/entity/entity_spawn.rs b/crates/pumpkin/src/plugin/api/events/entity/entity_spawn.rs similarity index 100% rename from pumpkin/src/plugin/api/events/entity/entity_spawn.rs rename to crates/pumpkin/src/plugin/api/events/entity/entity_spawn.rs diff --git a/pumpkin/src/plugin/api/events/entity/entity_tame.rs b/crates/pumpkin/src/plugin/api/events/entity/entity_tame.rs similarity index 100% rename from pumpkin/src/plugin/api/events/entity/entity_tame.rs rename to crates/pumpkin/src/plugin/api/events/entity/entity_tame.rs diff --git a/pumpkin/src/plugin/api/events/entity/entity_target.rs b/crates/pumpkin/src/plugin/api/events/entity/entity_target.rs similarity index 100% rename from pumpkin/src/plugin/api/events/entity/entity_target.rs rename to crates/pumpkin/src/plugin/api/events/entity/entity_target.rs diff --git a/pumpkin/src/plugin/api/events/entity/entity_teleport.rs b/crates/pumpkin/src/plugin/api/events/entity/entity_teleport.rs similarity index 100% rename from pumpkin/src/plugin/api/events/entity/entity_teleport.rs rename to crates/pumpkin/src/plugin/api/events/entity/entity_teleport.rs diff --git a/pumpkin/src/plugin/api/events/entity/mod.rs b/crates/pumpkin/src/plugin/api/events/entity/mod.rs similarity index 100% rename from pumpkin/src/plugin/api/events/entity/mod.rs rename to crates/pumpkin/src/plugin/api/events/entity/mod.rs diff --git a/pumpkin/src/plugin/api/events/inventory/brew.rs b/crates/pumpkin/src/plugin/api/events/inventory/brew.rs similarity index 100% rename from pumpkin/src/plugin/api/events/inventory/brew.rs rename to crates/pumpkin/src/plugin/api/events/inventory/brew.rs diff --git a/pumpkin/src/plugin/api/events/inventory/craft_item.rs b/crates/pumpkin/src/plugin/api/events/inventory/craft_item.rs similarity index 100% rename from pumpkin/src/plugin/api/events/inventory/craft_item.rs rename to crates/pumpkin/src/plugin/api/events/inventory/craft_item.rs diff --git a/pumpkin/src/plugin/api/events/inventory/furnace_burn.rs b/crates/pumpkin/src/plugin/api/events/inventory/furnace_burn.rs similarity index 100% rename from pumpkin/src/plugin/api/events/inventory/furnace_burn.rs rename to crates/pumpkin/src/plugin/api/events/inventory/furnace_burn.rs diff --git a/pumpkin/src/plugin/api/events/inventory/furnace_smelt.rs b/crates/pumpkin/src/plugin/api/events/inventory/furnace_smelt.rs similarity index 100% rename from pumpkin/src/plugin/api/events/inventory/furnace_smelt.rs rename to crates/pumpkin/src/plugin/api/events/inventory/furnace_smelt.rs diff --git a/pumpkin/src/plugin/api/events/inventory/inventory_drag.rs b/crates/pumpkin/src/plugin/api/events/inventory/inventory_drag.rs similarity index 100% rename from pumpkin/src/plugin/api/events/inventory/inventory_drag.rs rename to crates/pumpkin/src/plugin/api/events/inventory/inventory_drag.rs diff --git a/pumpkin/src/plugin/api/events/inventory/inventory_open.rs b/crates/pumpkin/src/plugin/api/events/inventory/inventory_open.rs similarity index 100% rename from pumpkin/src/plugin/api/events/inventory/inventory_open.rs rename to crates/pumpkin/src/plugin/api/events/inventory/inventory_open.rs diff --git a/pumpkin/src/plugin/api/events/inventory/mod.rs b/crates/pumpkin/src/plugin/api/events/inventory/mod.rs similarity index 100% rename from pumpkin/src/plugin/api/events/inventory/mod.rs rename to crates/pumpkin/src/plugin/api/events/inventory/mod.rs diff --git a/pumpkin/src/plugin/api/events/inventory/prepare_anvil.rs b/crates/pumpkin/src/plugin/api/events/inventory/prepare_anvil.rs similarity index 100% rename from pumpkin/src/plugin/api/events/inventory/prepare_anvil.rs rename to crates/pumpkin/src/plugin/api/events/inventory/prepare_anvil.rs diff --git a/pumpkin/src/plugin/api/events/inventory/trade_select.rs b/crates/pumpkin/src/plugin/api/events/inventory/trade_select.rs similarity index 100% rename from pumpkin/src/plugin/api/events/inventory/trade_select.rs rename to crates/pumpkin/src/plugin/api/events/inventory/trade_select.rs diff --git a/pumpkin/src/plugin/api/events/mod.rs b/crates/pumpkin/src/plugin/api/events/mod.rs similarity index 88% rename from pumpkin/src/plugin/api/events/mod.rs rename to crates/pumpkin/src/plugin/api/events/mod.rs index 73d5cd597..b2add4b85 100644 --- a/pumpkin/src/plugin/api/events/mod.rs +++ b/crates/pumpkin/src/plugin/api/events/mod.rs @@ -45,7 +45,7 @@ pub trait Payload: Send + Sync { /// Helper functions for safe downcasting of Payload implementations. impl dyn Payload + '_ { - /// Attempts to downcast an Arc to Arc using name-based type checking. + /// Attempts to downcast an `Arc` to `Arc` using name-based type checking. /// /// This method is safe to use across compilation boundaries as it uses string-based /// type identification instead of `TypeId`. @@ -54,13 +54,13 @@ impl dyn Payload + '_ { /// - `T`: The target type to downcast to. Must implement Payload. /// /// # Arguments - /// - `payload`: The Arc to downcast. + /// - `payload`: The `Arc` to downcast. /// /// # Returns - /// Some(Arc) if the downcast succeeds, None otherwise. + /// `Some(Arc)` if the downcast succeeds, None otherwise. pub fn downcast_arc(payload: Arc) -> Option> { if payload.get_name() == T::get_name_static() { - // Safe to downcast since we verified the type name + // SAFETY: Type name matches `T::get_name_static()`, guaranteeing underlying type is `T`. unsafe { let raw = Arc::into_raw(payload); let typed = raw.cast::(); @@ -80,7 +80,7 @@ impl dyn Payload + '_ { /// Some(&mut T) if the downcast succeeds, None otherwise. pub fn downcast_mut(&mut self) -> Option<&mut T> { if self.get_name() == T::get_name_static() { - // Safe to downcast since we verified the type name + // SAFETY: Type name matches `T::get_name_static()`, guaranteeing underlying type is `T`. unsafe { Some(&mut *(std::ptr::from_mut::(self).cast::())) } } else { None @@ -96,7 +96,7 @@ impl dyn Payload + '_ { /// Some(&T) if the downcast succeeds, None otherwise. pub fn downcast_ref(&self) -> Option<&T> { if self.get_name() == T::get_name_static() { - // Safe to downcast since we verified the type name + // SAFETY: Type name matches `T::get_name_static()`, guaranteeing underlying type is `T`. unsafe { Some(&*(std::ptr::from_ref::(self).cast::())) } } else { None diff --git a/pumpkin/src/plugin/api/events/player/bedrock_form_response.rs b/crates/pumpkin/src/plugin/api/events/player/bedrock_form_response.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/bedrock_form_response.rs rename to crates/pumpkin/src/plugin/api/events/player/bedrock_form_response.rs diff --git a/pumpkin/src/plugin/api/events/player/changed_main_hand.rs b/crates/pumpkin/src/plugin/api/events/player/changed_main_hand.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/changed_main_hand.rs rename to crates/pumpkin/src/plugin/api/events/player/changed_main_hand.rs diff --git a/pumpkin/src/plugin/api/events/player/custom_click_action.rs b/crates/pumpkin/src/plugin/api/events/player/custom_click_action.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/custom_click_action.rs rename to crates/pumpkin/src/plugin/api/events/player/custom_click_action.rs diff --git a/pumpkin/src/plugin/api/events/player/egg_throw.rs b/crates/pumpkin/src/plugin/api/events/player/egg_throw.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/egg_throw.rs rename to crates/pumpkin/src/plugin/api/events/player/egg_throw.rs diff --git a/pumpkin/src/plugin/api/events/player/exp_change.rs b/crates/pumpkin/src/plugin/api/events/player/exp_change.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/exp_change.rs rename to crates/pumpkin/src/plugin/api/events/player/exp_change.rs diff --git a/pumpkin/src/plugin/api/events/player/fish.rs b/crates/pumpkin/src/plugin/api/events/player/fish.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/fish.rs rename to crates/pumpkin/src/plugin/api/events/player/fish.rs diff --git a/pumpkin/src/plugin/api/events/player/inventory_close.rs b/crates/pumpkin/src/plugin/api/events/player/inventory_close.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/inventory_close.rs rename to crates/pumpkin/src/plugin/api/events/player/inventory_close.rs diff --git a/pumpkin/src/plugin/api/events/player/inventory_interact.rs b/crates/pumpkin/src/plugin/api/events/player/inventory_interact.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/inventory_interact.rs rename to crates/pumpkin/src/plugin/api/events/player/inventory_interact.rs diff --git a/pumpkin/src/plugin/api/events/player/item_held.rs b/crates/pumpkin/src/plugin/api/events/player/item_held.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/item_held.rs rename to crates/pumpkin/src/plugin/api/events/player/item_held.rs diff --git a/pumpkin/src/plugin/api/events/player/mod.rs b/crates/pumpkin/src/plugin/api/events/player/mod.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/mod.rs rename to crates/pumpkin/src/plugin/api/events/player/mod.rs diff --git a/pumpkin/src/plugin/api/events/player/player_animation.rs b/crates/pumpkin/src/plugin/api/events/player/player_animation.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/player_animation.rs rename to crates/pumpkin/src/plugin/api/events/player/player_animation.rs diff --git a/pumpkin/src/plugin/api/events/player/player_bed.rs b/crates/pumpkin/src/plugin/api/events/player/player_bed.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/player_bed.rs rename to crates/pumpkin/src/plugin/api/events/player/player_bed.rs diff --git a/pumpkin/src/plugin/api/events/player/player_bucket.rs b/crates/pumpkin/src/plugin/api/events/player/player_bucket.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/player_bucket.rs rename to crates/pumpkin/src/plugin/api/events/player/player_bucket.rs diff --git a/pumpkin/src/plugin/api/events/player/player_change_world.rs b/crates/pumpkin/src/plugin/api/events/player/player_change_world.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/player_change_world.rs rename to crates/pumpkin/src/plugin/api/events/player/player_change_world.rs diff --git a/pumpkin/src/plugin/api/events/player/player_chat.rs b/crates/pumpkin/src/plugin/api/events/player/player_chat.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/player_chat.rs rename to crates/pumpkin/src/plugin/api/events/player/player_chat.rs diff --git a/pumpkin/src/plugin/api/events/player/player_command_send.rs b/crates/pumpkin/src/plugin/api/events/player/player_command_send.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/player_command_send.rs rename to crates/pumpkin/src/plugin/api/events/player/player_command_send.rs diff --git a/pumpkin/src/plugin/api/events/player/player_custom_payload.rs b/crates/pumpkin/src/plugin/api/events/player/player_custom_payload.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/player_custom_payload.rs rename to crates/pumpkin/src/plugin/api/events/player/player_custom_payload.rs diff --git a/pumpkin/src/plugin/api/events/player/player_drop_item.rs b/crates/pumpkin/src/plugin/api/events/player/player_drop_item.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/player_drop_item.rs rename to crates/pumpkin/src/plugin/api/events/player/player_drop_item.rs diff --git a/pumpkin/src/plugin/api/events/player/player_gamemode_change.rs b/crates/pumpkin/src/plugin/api/events/player/player_gamemode_change.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/player_gamemode_change.rs rename to crates/pumpkin/src/plugin/api/events/player/player_gamemode_change.rs diff --git a/pumpkin/src/plugin/api/events/player/player_interact_entity_event.rs b/crates/pumpkin/src/plugin/api/events/player/player_interact_entity_event.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/player_interact_entity_event.rs rename to crates/pumpkin/src/plugin/api/events/player/player_interact_entity_event.rs diff --git a/pumpkin/src/plugin/api/events/player/player_interact_event.rs b/crates/pumpkin/src/plugin/api/events/player/player_interact_event.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/player_interact_event.rs rename to crates/pumpkin/src/plugin/api/events/player/player_interact_event.rs diff --git a/pumpkin/src/plugin/api/events/player/player_interact_unknown_entity_event.rs b/crates/pumpkin/src/plugin/api/events/player/player_interact_unknown_entity_event.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/player_interact_unknown_entity_event.rs rename to crates/pumpkin/src/plugin/api/events/player/player_interact_unknown_entity_event.rs diff --git a/pumpkin/src/plugin/api/events/player/player_item_break.rs b/crates/pumpkin/src/plugin/api/events/player/player_item_break.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/player_item_break.rs rename to crates/pumpkin/src/plugin/api/events/player/player_item_break.rs diff --git a/pumpkin/src/plugin/api/events/player/player_item_consume.rs b/crates/pumpkin/src/plugin/api/events/player/player_item_consume.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/player_item_consume.rs rename to crates/pumpkin/src/plugin/api/events/player/player_item_consume.rs diff --git a/pumpkin/src/plugin/api/events/player/player_item_damage.rs b/crates/pumpkin/src/plugin/api/events/player/player_item_damage.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/player_item_damage.rs rename to crates/pumpkin/src/plugin/api/events/player/player_item_damage.rs diff --git a/pumpkin/src/plugin/api/events/player/player_join.rs b/crates/pumpkin/src/plugin/api/events/player/player_join.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/player_join.rs rename to crates/pumpkin/src/plugin/api/events/player/player_join.rs diff --git a/pumpkin/src/plugin/api/events/player/player_kick.rs b/crates/pumpkin/src/plugin/api/events/player/player_kick.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/player_kick.rs rename to crates/pumpkin/src/plugin/api/events/player/player_kick.rs diff --git a/pumpkin/src/plugin/api/events/player/player_leave.rs b/crates/pumpkin/src/plugin/api/events/player/player_leave.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/player_leave.rs rename to crates/pumpkin/src/plugin/api/events/player/player_leave.rs diff --git a/pumpkin/src/plugin/api/events/player/player_level_change.rs b/crates/pumpkin/src/plugin/api/events/player/player_level_change.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/player_level_change.rs rename to crates/pumpkin/src/plugin/api/events/player/player_level_change.rs diff --git a/pumpkin/src/plugin/api/events/player/player_login.rs b/crates/pumpkin/src/plugin/api/events/player/player_login.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/player_login.rs rename to crates/pumpkin/src/plugin/api/events/player/player_login.rs diff --git a/pumpkin/src/plugin/api/events/player/player_move.rs b/crates/pumpkin/src/plugin/api/events/player/player_move.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/player_move.rs rename to crates/pumpkin/src/plugin/api/events/player/player_move.rs diff --git a/pumpkin/src/plugin/api/events/player/player_permission_check.rs b/crates/pumpkin/src/plugin/api/events/player/player_permission_check.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/player_permission_check.rs rename to crates/pumpkin/src/plugin/api/events/player/player_permission_check.rs diff --git a/pumpkin/src/plugin/api/events/player/player_respawn.rs b/crates/pumpkin/src/plugin/api/events/player/player_respawn.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/player_respawn.rs rename to crates/pumpkin/src/plugin/api/events/player/player_respawn.rs diff --git a/pumpkin/src/plugin/api/events/player/player_swap_hands.rs b/crates/pumpkin/src/plugin/api/events/player/player_swap_hands.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/player_swap_hands.rs rename to crates/pumpkin/src/plugin/api/events/player/player_swap_hands.rs diff --git a/pumpkin/src/plugin/api/events/player/player_teleport.rs b/crates/pumpkin/src/plugin/api/events/player/player_teleport.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/player_teleport.rs rename to crates/pumpkin/src/plugin/api/events/player/player_teleport.rs diff --git a/pumpkin/src/plugin/api/events/player/player_toggle_flight_event.rs b/crates/pumpkin/src/plugin/api/events/player/player_toggle_flight_event.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/player_toggle_flight_event.rs rename to crates/pumpkin/src/plugin/api/events/player/player_toggle_flight_event.rs diff --git a/pumpkin/src/plugin/api/events/player/player_toggle_sneak_event.rs b/crates/pumpkin/src/plugin/api/events/player/player_toggle_sneak_event.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/player_toggle_sneak_event.rs rename to crates/pumpkin/src/plugin/api/events/player/player_toggle_sneak_event.rs diff --git a/pumpkin/src/plugin/api/events/player/player_toggle_sprint_event.rs b/crates/pumpkin/src/plugin/api/events/player/player_toggle_sprint_event.rs similarity index 100% rename from pumpkin/src/plugin/api/events/player/player_toggle_sprint_event.rs rename to crates/pumpkin/src/plugin/api/events/player/player_toggle_sprint_event.rs diff --git a/pumpkin/src/plugin/api/events/server/mod.rs b/crates/pumpkin/src/plugin/api/events/server/mod.rs similarity index 100% rename from pumpkin/src/plugin/api/events/server/mod.rs rename to crates/pumpkin/src/plugin/api/events/server/mod.rs diff --git a/pumpkin/src/plugin/api/events/server/packet.rs b/crates/pumpkin/src/plugin/api/events/server/packet.rs similarity index 100% rename from pumpkin/src/plugin/api/events/server/packet.rs rename to crates/pumpkin/src/plugin/api/events/server/packet.rs diff --git a/pumpkin/src/plugin/api/events/server/server_broadcast.rs b/crates/pumpkin/src/plugin/api/events/server/server_broadcast.rs similarity index 100% rename from pumpkin/src/plugin/api/events/server/server_broadcast.rs rename to crates/pumpkin/src/plugin/api/events/server/server_broadcast.rs diff --git a/pumpkin/src/plugin/api/events/server/server_command.rs b/crates/pumpkin/src/plugin/api/events/server/server_command.rs similarity index 100% rename from pumpkin/src/plugin/api/events/server/server_command.rs rename to crates/pumpkin/src/plugin/api/events/server/server_command.rs diff --git a/pumpkin/src/plugin/api/events/server/server_load.rs b/crates/pumpkin/src/plugin/api/events/server/server_load.rs similarity index 100% rename from pumpkin/src/plugin/api/events/server/server_load.rs rename to crates/pumpkin/src/plugin/api/events/server/server_load.rs diff --git a/pumpkin/src/plugin/api/events/server/server_tick_end.rs b/crates/pumpkin/src/plugin/api/events/server/server_tick_end.rs similarity index 100% rename from pumpkin/src/plugin/api/events/server/server_tick_end.rs rename to crates/pumpkin/src/plugin/api/events/server/server_tick_end.rs diff --git a/pumpkin/src/plugin/api/events/server/server_tick_start.rs b/crates/pumpkin/src/plugin/api/events/server/server_tick_start.rs similarity index 100% rename from pumpkin/src/plugin/api/events/server/server_tick_start.rs rename to crates/pumpkin/src/plugin/api/events/server/server_tick_start.rs diff --git a/pumpkin/src/plugin/api/events/world/chunk_load.rs b/crates/pumpkin/src/plugin/api/events/world/chunk_load.rs similarity index 100% rename from pumpkin/src/plugin/api/events/world/chunk_load.rs rename to crates/pumpkin/src/plugin/api/events/world/chunk_load.rs diff --git a/pumpkin/src/plugin/api/events/world/chunk_save.rs b/crates/pumpkin/src/plugin/api/events/world/chunk_save.rs similarity index 100% rename from pumpkin/src/plugin/api/events/world/chunk_save.rs rename to crates/pumpkin/src/plugin/api/events/world/chunk_save.rs diff --git a/pumpkin/src/plugin/api/events/world/chunk_send.rs b/crates/pumpkin/src/plugin/api/events/world/chunk_send.rs similarity index 100% rename from pumpkin/src/plugin/api/events/world/chunk_send.rs rename to crates/pumpkin/src/plugin/api/events/world/chunk_send.rs diff --git a/pumpkin/src/plugin/api/events/world/generic_game.rs b/crates/pumpkin/src/plugin/api/events/world/generic_game.rs similarity index 100% rename from pumpkin/src/plugin/api/events/world/generic_game.rs rename to crates/pumpkin/src/plugin/api/events/world/generic_game.rs diff --git a/pumpkin/src/plugin/api/events/world/lightning_strike.rs b/crates/pumpkin/src/plugin/api/events/world/lightning_strike.rs similarity index 100% rename from pumpkin/src/plugin/api/events/world/lightning_strike.rs rename to crates/pumpkin/src/plugin/api/events/world/lightning_strike.rs diff --git a/pumpkin/src/plugin/api/events/world/mod.rs b/crates/pumpkin/src/plugin/api/events/world/mod.rs similarity index 100% rename from pumpkin/src/plugin/api/events/world/mod.rs rename to crates/pumpkin/src/plugin/api/events/world/mod.rs diff --git a/pumpkin/src/plugin/api/events/world/portal_create.rs b/crates/pumpkin/src/plugin/api/events/world/portal_create.rs similarity index 100% rename from pumpkin/src/plugin/api/events/world/portal_create.rs rename to crates/pumpkin/src/plugin/api/events/world/portal_create.rs diff --git a/pumpkin/src/plugin/api/events/world/spawn_change.rs b/crates/pumpkin/src/plugin/api/events/world/spawn_change.rs similarity index 100% rename from pumpkin/src/plugin/api/events/world/spawn_change.rs rename to crates/pumpkin/src/plugin/api/events/world/spawn_change.rs diff --git a/pumpkin/src/plugin/api/events/world/structure_grow.rs b/crates/pumpkin/src/plugin/api/events/world/structure_grow.rs similarity index 100% rename from pumpkin/src/plugin/api/events/world/structure_grow.rs rename to crates/pumpkin/src/plugin/api/events/world/structure_grow.rs diff --git a/pumpkin/src/plugin/api/events/world/weather_change.rs b/crates/pumpkin/src/plugin/api/events/world/weather_change.rs similarity index 100% rename from pumpkin/src/plugin/api/events/world/weather_change.rs rename to crates/pumpkin/src/plugin/api/events/world/weather_change.rs diff --git a/pumpkin/src/plugin/api/events/world/world_init.rs b/crates/pumpkin/src/plugin/api/events/world/world_init.rs similarity index 100% rename from pumpkin/src/plugin/api/events/world/world_init.rs rename to crates/pumpkin/src/plugin/api/events/world/world_init.rs diff --git a/pumpkin/src/plugin/api/events/world/world_load.rs b/crates/pumpkin/src/plugin/api/events/world/world_load.rs similarity index 100% rename from pumpkin/src/plugin/api/events/world/world_load.rs rename to crates/pumpkin/src/plugin/api/events/world/world_load.rs diff --git a/pumpkin/src/plugin/api/gui.rs b/crates/pumpkin/src/plugin/api/gui.rs similarity index 100% rename from pumpkin/src/plugin/api/gui.rs rename to crates/pumpkin/src/plugin/api/gui.rs diff --git a/pumpkin/src/plugin/api/mod.rs b/crates/pumpkin/src/plugin/api/mod.rs similarity index 100% rename from pumpkin/src/plugin/api/mod.rs rename to crates/pumpkin/src/plugin/api/mod.rs diff --git a/pumpkin/src/plugin/api/tab_list.rs b/crates/pumpkin/src/plugin/api/tab_list.rs similarity index 100% rename from pumpkin/src/plugin/api/tab_list.rs rename to crates/pumpkin/src/plugin/api/tab_list.rs diff --git a/pumpkin/src/plugin/api/title.rs b/crates/pumpkin/src/plugin/api/title.rs similarity index 100% rename from pumpkin/src/plugin/api/title.rs rename to crates/pumpkin/src/plugin/api/title.rs diff --git a/pumpkin/src/plugin/cache.rs b/crates/pumpkin/src/plugin/cache.rs similarity index 100% rename from pumpkin/src/plugin/cache.rs rename to crates/pumpkin/src/plugin/cache.rs diff --git a/pumpkin/src/plugin/loader/mod.rs b/crates/pumpkin/src/plugin/loader/mod.rs similarity index 100% rename from pumpkin/src/plugin/loader/mod.rs rename to crates/pumpkin/src/plugin/loader/mod.rs diff --git a/pumpkin/src/plugin/loader/native.rs b/crates/pumpkin/src/plugin/loader/native.rs similarity index 86% rename from pumpkin/src/plugin/loader/native.rs rename to crates/pumpkin/src/plugin/loader/native.rs index 683906d3e..27fad6998 100644 --- a/pumpkin/src/plugin/loader/native.rs +++ b/crates/pumpkin/src/plugin/loader/native.rs @@ -19,10 +19,12 @@ impl PluginLoader for NativePluginLoader { Box::pin(async { let path = path.to_owned(); + // SAFETY: Loading dynamic library from path configured by server administrator. let library = unsafe { Library::new(&path) } .map_err(|e| LoaderError::LibraryLoad(e.to_string()))?; // Ensure this plugin was built against a compatible Pumpkin plugin API version + // SAFETY: `PUMPKIN_API_VERSION` is an exported `u32` constant symbol created by `#[plugin_impl]`. let plugin_api_version = unsafe { match library.get::<*const u32>(b"PUMPKIN_API_VERSION") { Ok(symbol) => **symbol, @@ -40,6 +42,7 @@ impl PluginLoader for NativePluginLoader { // 2. Extract Metadata (METADATA) // `#[plugin_impl]` exports this as a `LazyLock`, since `PluginMetadata` // owns its strings and can't be built in a const. + // SAFETY: `METADATA` is an exported `LazyLock` symbol created by `#[plugin_impl]`. let metadata = unsafe { let metadata = library .get::<*const LazyLock>(b"METADATA") @@ -48,6 +51,7 @@ impl PluginLoader for NativePluginLoader { }; // 3. Extract Plugin Factory (plugin) + // SAFETY: `plugin` is an exported constructor function symbol with signature `fn() -> Box` created by `#[plugin_impl]`. let plugin_factory = unsafe { library .get:: Box>(b"plugin") diff --git a/pumpkin/src/plugin/loader/wasm/mod.rs b/crates/pumpkin/src/plugin/loader/wasm/mod.rs similarity index 100% rename from pumpkin/src/plugin/loader/wasm/mod.rs rename to crates/pumpkin/src/plugin/loader/wasm/mod.rs diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/args.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/args.rs similarity index 100% rename from pumpkin/src/plugin/loader/wasm/wasm_host/args.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/args.rs diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/logging.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/logging.rs similarity index 100% rename from pumpkin/src/plugin/loader/wasm/wasm_host/logging.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/logging.rs diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/mod.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/mod.rs similarity index 98% rename from pumpkin/src/plugin/loader/wasm/wasm_host/mod.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/mod.rs index f581f80cb..d4f2ac0f1 100644 --- a/pumpkin/src/plugin/loader/wasm/wasm_host/mod.rs +++ b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/mod.rs @@ -131,6 +131,7 @@ fn load_component( let cache_path = cache_dir.join(cache_name); if cache_path.exists() { + // SAFETY: Cache file was generated by Wasmtime for this exact WASM binary hash and package version. match unsafe { Component::deserialize_file(engine, &cache_path) } { Ok(component) => return Ok(component), Err(_) => { diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/signature.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/signature.rs similarity index 100% rename from pumpkin/src/plugin/loader/wasm/wasm_host/signature.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/signature.rs diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/state.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/state.rs similarity index 100% rename from pumpkin/src/plugin/loader/wasm/wasm_host/state.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/state.rs diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/mod.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/mod.rs similarity index 100% rename from pumpkin/src/plugin/loader/wasm/wasm_host/wit/mod.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/mod.rs diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/block_entity.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/block_entity.rs similarity index 100% rename from pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/block_entity.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/block_entity.rs diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/boss_bar.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/boss_bar.rs similarity index 100% rename from pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/boss_bar.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/boss_bar.rs diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/commands/executor.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/commands/executor.rs similarity index 100% rename from pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/commands/executor.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/commands/executor.rs diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/commands/mod.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/commands/mod.rs similarity index 100% rename from pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/commands/mod.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/commands/mod.rs diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/common.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/common.rs similarity index 100% rename from pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/common.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/common.rs diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/context.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/context.rs similarity index 100% rename from pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/context.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/context.rs diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/entity.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/entity.rs similarity index 99% rename from pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/entity.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/entity.rs index b451df509..1bd9d82a0 100644 --- a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/entity.rs +++ b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/entity.rs @@ -93,7 +93,7 @@ impl HostEntity for PluginHostState { .position(|n| n == original_name) .ok_or_else(|| wasmtime::Error::msg(format!("Unknown entity type: {original_name}")))?; - // Safety: The WIT enum is generated from the sorted keys of assets/entities.json. + // SAFETY: The WIT enum is generated from the sorted keys of assets/entities.json. Ok(unsafe { std::mem::transmute::(index as u8) }) } diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/events/block.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/events/block.rs similarity index 100% rename from pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/events/block.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/events/block.rs diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/events/entity.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/events/entity.rs similarity index 100% rename from pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/events/entity.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/events/entity.rs diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/events/inventory.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/events/inventory.rs similarity index 100% rename from pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/events/inventory.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/events/inventory.rs diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/events/mod.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/events/mod.rs similarity index 100% rename from pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/events/mod.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/events/mod.rs diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/events/player.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/events/player.rs similarity index 100% rename from pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/events/player.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/events/player.rs diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/events/server.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/events/server.rs similarity index 100% rename from pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/events/server.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/events/server.rs diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/events/world.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/events/world.rs similarity index 100% rename from pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/events/world.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/events/world.rs diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/forms.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/forms.rs similarity index 100% rename from pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/forms.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/forms.rs diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/generated_packets.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/generated_packets.rs similarity index 100% rename from pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/generated_packets.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/generated_packets.rs diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/gui.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/gui.rs similarity index 100% rename from pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/gui.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/gui.rs diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/i18n.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/i18n.rs similarity index 100% rename from pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/i18n.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/i18n.rs diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/item_stack.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/item_stack.rs similarity index 98% rename from pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/item_stack.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/item_stack.rs index 990f2f3c7..a924f463d 100644 --- a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/item_stack.rs +++ b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/item_stack.rs @@ -21,17 +21,17 @@ use pumpkin_protocol::codec::data_component::{deserialize, serialize}; use std::borrow::Cow; pub(crate) fn to_wit_data_component(id: DataComponent) -> WitDataComponent { - // Safety: WIT enum is generated in the same order as the internal enum + // SAFETY: WIT enum is generated in the same order as the internal enum unsafe { std::mem::transmute(id as u8) } } pub(crate) fn from_wit_data_component(id: WitDataComponent) -> DataComponent { - // Safety: WIT enum is generated in the same order as the internal enum + // SAFETY: WIT enum is generated in the same order as the internal enum unsafe { std::mem::transmute(id as u8) } } pub(crate) fn to_wit_enchantment(id: &Enchantment) -> WitEnchantment { - // Safety: WIT enum is generated in the same order as the internal enum + // SAFETY: WIT enum is generated in the same order as the internal enum unsafe { std::mem::transmute(id.id) } } diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/java_dialogs.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/java_dialogs.rs similarity index 100% rename from pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/java_dialogs.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/java_dialogs.rs diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/logging.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/logging.rs similarity index 100% rename from pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/logging.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/logging.rs diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/mod.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/mod.rs similarity index 100% rename from pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/mod.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/mod.rs diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/permission.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/permission.rs similarity index 100% rename from pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/permission.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/permission.rs diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/player.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/player.rs similarity index 99% rename from pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/player.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/player.rs index 7a0eae57c..37fab32f5 100644 --- a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/player.rs +++ b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/player.rs @@ -1686,7 +1686,7 @@ impl pumpkin::plugin::player::HostPlayer for PluginHostState { async fn get_ip(&mut self, player: Resource) -> wasmtime::Result { let player = player_from_resource(self, &player)?; - Ok(player.get_ip().await) + Ok(player.get_ip()) } async fn get_skin(&mut self, player: Resource) -> wasmtime::Result> { @@ -1859,7 +1859,7 @@ impl pumpkin::plugin::player::HostJavaPlayer for PluginHostState { .client .java() .ok_or_else(|| wasmtime::Error::msg("Not a java player"))?; - Ok(client.brand.lock().await.clone().unwrap_or_default()) + Ok(client.brand.load().as_ref().clone().unwrap_or_default()) } async fn get_server_address( @@ -1879,7 +1879,7 @@ impl pumpkin::plugin::player::HostJavaPlayer for PluginHostState { .client .java() .ok_or_else(|| wasmtime::Error::msg("Not a java player"))?; - Ok(client.server_address.lock().await.to_string()) + Ok(client.server_address.clone()) } async fn get_settings( diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/recipe.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/recipe.rs similarity index 100% rename from pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/recipe.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/recipe.rs diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/scheduler.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/scheduler.rs similarity index 100% rename from pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/scheduler.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/scheduler.rs diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/scoreboard.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/scoreboard.rs similarity index 100% rename from pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/scoreboard.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/scoreboard.rs diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/server.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/server.rs similarity index 100% rename from pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/server.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/server.rs diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/status_effect.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/status_effect.rs similarity index 100% rename from pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/status_effect.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/status_effect.rs diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/text.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/text.rs similarity index 100% rename from pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/text.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/text.rs diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/uuid.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/uuid.rs similarity index 100% rename from pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/uuid.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/uuid.rs diff --git a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/world.rs b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/world.rs similarity index 99% rename from pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/world.rs rename to crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/world.rs index 3163c8e92..fa8970473 100644 --- a/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/world.rs +++ b/crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1/world.rs @@ -133,7 +133,7 @@ impl PluginHostState { .position(|n| n.strip_prefix("minecraft:").unwrap_or(n) == biome.registry_id) .ok_or_else(|| wasmtime::Error::msg(format!("Unknown biome: {}", biome.registry_id)))?; - // Safety: The WIT enum is generated from the sorted keys of assets/biome.json. + // SAFETY: The WIT enum is generated from the sorted keys of assets/biome.json. Ok(unsafe { std::mem::transmute::(index as u8) }) } diff --git a/pumpkin/src/plugin/mod.rs b/crates/pumpkin/src/plugin/mod.rs similarity index 100% rename from pumpkin/src/plugin/mod.rs rename to crates/pumpkin/src/plugin/mod.rs diff --git a/pumpkin/src/plugin/permissions.rs b/crates/pumpkin/src/plugin/permissions.rs similarity index 100% rename from pumpkin/src/plugin/permissions.rs rename to crates/pumpkin/src/plugin/permissions.rs diff --git a/pumpkin/src/server/connection_cache.rs b/crates/pumpkin/src/server/connection_cache.rs similarity index 98% rename from pumpkin/src/server/connection_cache.rs rename to crates/pumpkin/src/server/connection_cache.rs index 25fc7b89e..b8d78ad0f 100644 --- a/pumpkin/src/server/connection_cache.rs +++ b/crates/pumpkin/src/server/connection_cache.rs @@ -12,7 +12,7 @@ use std::{fs, path::Path}; use tracing::{debug, info, warn}; use uuid::Uuid; -const DEFAULT_ICON: &[u8] = include_bytes!("../../../assets/default_icon.png"); +const DEFAULT_ICON: &[u8] = include_bytes!("../../../../assets/default_icon.png"); const MAX_SAMPLE_PLAYERS: usize = 12; fn load_icon_from_file>(path: P) -> Result> { diff --git a/pumpkin/src/server/key_store.rs b/crates/pumpkin/src/server/key_store.rs similarity index 100% rename from pumpkin/src/server/key_store.rs rename to crates/pumpkin/src/server/key_store.rs diff --git a/pumpkin/src/server/mod.rs b/crates/pumpkin/src/server/mod.rs similarity index 99% rename from pumpkin/src/server/mod.rs rename to crates/pumpkin/src/server/mod.rs index 02bcd7b55..75dea4eaa 100644 --- a/pumpkin/src/server/mod.rs +++ b/crates/pumpkin/src/server/mod.rs @@ -738,12 +738,12 @@ impl Server { None } - pub async fn get_players_by_ip(&self, ip: IpAddr) -> Vec> { + pub fn get_players_by_ip(&self, ip: IpAddr) -> Vec> { let mut players = Vec::>::new(); for world in self.worlds.load().iter() { for player in world.players.load().iter() { - if player.client.address().await.ip() == ip { + if player.client.address().ip() == ip { players.push(player.clone()); } } diff --git a/pumpkin/src/server/recipe.rs b/crates/pumpkin/src/server/recipe.rs similarity index 100% rename from pumpkin/src/server/recipe.rs rename to crates/pumpkin/src/server/recipe.rs diff --git a/pumpkin/src/server/scheduler.rs b/crates/pumpkin/src/server/scheduler.rs similarity index 100% rename from pumpkin/src/server/scheduler.rs rename to crates/pumpkin/src/server/scheduler.rs diff --git a/pumpkin/src/server/seasonal_events.rs b/crates/pumpkin/src/server/seasonal_events.rs similarity index 100% rename from pumpkin/src/server/seasonal_events.rs rename to crates/pumpkin/src/server/seasonal_events.rs diff --git a/pumpkin/src/server/tick_rate_manager.rs b/crates/pumpkin/src/server/tick_rate_manager.rs similarity index 100% rename from pumpkin/src/server/tick_rate_manager.rs rename to crates/pumpkin/src/server/tick_rate_manager.rs diff --git a/pumpkin/src/server/ticker.rs b/crates/pumpkin/src/server/ticker.rs similarity index 100% rename from pumpkin/src/server/ticker.rs rename to crates/pumpkin/src/server/ticker.rs diff --git a/pumpkin/src/world/block_placer.rs b/crates/pumpkin/src/world/block_placer.rs similarity index 100% rename from pumpkin/src/world/block_placer.rs rename to crates/pumpkin/src/world/block_placer.rs diff --git a/pumpkin/src/world/border.rs b/crates/pumpkin/src/world/border.rs similarity index 100% rename from pumpkin/src/world/border.rs rename to crates/pumpkin/src/world/border.rs diff --git a/pumpkin/src/world/bossbar.rs b/crates/pumpkin/src/world/bossbar.rs similarity index 100% rename from pumpkin/src/world/bossbar.rs rename to crates/pumpkin/src/world/bossbar.rs diff --git a/pumpkin/src/world/chunker.rs b/crates/pumpkin/src/world/chunker.rs similarity index 100% rename from pumpkin/src/world/chunker.rs rename to crates/pumpkin/src/world/chunker.rs diff --git a/pumpkin/src/world/custom_bossbar.rs b/crates/pumpkin/src/world/custom_bossbar.rs similarity index 100% rename from pumpkin/src/world/custom_bossbar.rs rename to crates/pumpkin/src/world/custom_bossbar.rs diff --git a/pumpkin/src/world/dragon_fight.rs b/crates/pumpkin/src/world/dragon_fight.rs similarity index 100% rename from pumpkin/src/world/dragon_fight.rs rename to crates/pumpkin/src/world/dragon_fight.rs diff --git a/pumpkin/src/world/end_podium.rs b/crates/pumpkin/src/world/end_podium.rs similarity index 100% rename from pumpkin/src/world/end_podium.rs rename to crates/pumpkin/src/world/end_podium.rs diff --git a/pumpkin/src/world/explosion.rs b/crates/pumpkin/src/world/explosion.rs similarity index 100% rename from pumpkin/src/world/explosion.rs rename to crates/pumpkin/src/world/explosion.rs diff --git a/pumpkin/src/world/loot.rs b/crates/pumpkin/src/world/loot.rs similarity index 100% rename from pumpkin/src/world/loot.rs rename to crates/pumpkin/src/world/loot.rs diff --git a/pumpkin/src/world/map.rs b/crates/pumpkin/src/world/map.rs similarity index 100% rename from pumpkin/src/world/map.rs rename to crates/pumpkin/src/world/map.rs diff --git a/pumpkin/src/world/mod.rs b/crates/pumpkin/src/world/mod.rs similarity index 100% rename from pumpkin/src/world/mod.rs rename to crates/pumpkin/src/world/mod.rs diff --git a/pumpkin/src/world/natural_spawner.rs b/crates/pumpkin/src/world/natural_spawner.rs similarity index 100% rename from pumpkin/src/world/natural_spawner.rs rename to crates/pumpkin/src/world/natural_spawner.rs diff --git a/pumpkin/src/world/portal/end.rs b/crates/pumpkin/src/world/portal/end.rs similarity index 100% rename from pumpkin/src/world/portal/end.rs rename to crates/pumpkin/src/world/portal/end.rs diff --git a/pumpkin/src/world/portal/mod.rs b/crates/pumpkin/src/world/portal/mod.rs similarity index 100% rename from pumpkin/src/world/portal/mod.rs rename to crates/pumpkin/src/world/portal/mod.rs diff --git a/pumpkin/src/world/portal/nether.rs b/crates/pumpkin/src/world/portal/nether.rs similarity index 100% rename from pumpkin/src/world/portal/nether.rs rename to crates/pumpkin/src/world/portal/nether.rs diff --git a/pumpkin/src/world/portal/poi.rs b/crates/pumpkin/src/world/portal/poi.rs similarity index 100% rename from pumpkin/src/world/portal/poi.rs rename to crates/pumpkin/src/world/portal/poi.rs diff --git a/pumpkin/src/world/scoreboard.rs b/crates/pumpkin/src/world/scoreboard.rs similarity index 100% rename from pumpkin/src/world/scoreboard.rs rename to crates/pumpkin/src/world/scoreboard.rs diff --git a/pumpkin/src/world/time.rs b/crates/pumpkin/src/world/time.rs similarity index 100% rename from pumpkin/src/world/time.rs rename to crates/pumpkin/src/world/time.rs diff --git a/pumpkin/src/world/weather.rs b/crates/pumpkin/src/world/weather.rs similarity index 100% rename from pumpkin/src/world/weather.rs rename to crates/pumpkin/src/world/weather.rs diff --git a/pumpkin-codegen/Cargo.lock b/tools/pumpkin-codegen/Cargo.lock similarity index 99% rename from pumpkin-codegen/Cargo.lock rename to tools/pumpkin-codegen/Cargo.lock index 49e6512ba..d2b44769b 100644 --- a/pumpkin-codegen/Cargo.lock +++ b/tools/pumpkin-codegen/Cargo.lock @@ -758,7 +758,7 @@ dependencies = [ [[package]] name = "pumpkin-codecs" -version = "0.1.0-dev+26.2" +version = "0.1.0-dev+26.2-26.40" dependencies = [ "serde_json", "tracing", @@ -787,7 +787,7 @@ dependencies = [ [[package]] name = "pumpkin-nbt" -version = "0.1.0-dev+26.2" +version = "0.1.0-dev+26.2-26.40" dependencies = [ "bytes", "cesu8", @@ -800,7 +800,7 @@ dependencies = [ [[package]] name = "pumpkin-util" -version = "0.1.0-dev+26.2" +version = "0.1.0-dev+26.2-26.40" dependencies = [ "base64 0.23.1", "bytes", diff --git a/pumpkin-codegen/Cargo.toml b/tools/pumpkin-codegen/Cargo.toml similarity index 84% rename from pumpkin-codegen/Cargo.toml rename to tools/pumpkin-codegen/Cargo.toml index 9fa882d89..e57a76474 100644 --- a/pumpkin-codegen/Cargo.toml +++ b/tools/pumpkin-codegen/Cargo.toml @@ -24,8 +24,8 @@ proc-macro2 = "1.0" quote = "1.0" syn = { version = "3.0", features = ["full", "extra-traits"] } -pumpkin-util = { path = "../pumpkin-util", features = ["codegen"] } -pumpkin-nbt = { path = "../pumpkin-nbt" } +pumpkin-util = { path = "../../crates/pumpkin-util", features = ["codegen"] } +pumpkin-nbt = { path = "../../crates/pumpkin-nbt" } # [lints] # all = { level = "deny", priority = -1 } diff --git a/pumpkin-data/Clippy.toml b/tools/pumpkin-codegen/Clippy.toml similarity index 100% rename from pumpkin-data/Clippy.toml rename to tools/pumpkin-codegen/Clippy.toml diff --git a/pumpkin-codegen/src/advancement.rs b/tools/pumpkin-codegen/src/advancement.rs similarity index 100% rename from pumpkin-codegen/src/advancement.rs rename to tools/pumpkin-codegen/src/advancement.rs diff --git a/pumpkin-codegen/src/attributes.rs b/tools/pumpkin-codegen/src/attributes.rs similarity index 100% rename from pumpkin-codegen/src/attributes.rs rename to tools/pumpkin-codegen/src/attributes.rs diff --git a/pumpkin-codegen/src/bedrock_creative.rs b/tools/pumpkin-codegen/src/bedrock_creative.rs similarity index 98% rename from pumpkin-codegen/src/bedrock_creative.rs rename to tools/pumpkin-codegen/src/bedrock_creative.rs index f5f91043b..bda869332 100644 --- a/pumpkin-codegen/src/bedrock_creative.rs +++ b/tools/pumpkin-codegen/src/bedrock_creative.rs @@ -35,7 +35,7 @@ pub fn build() -> TokenStream { let nbt_path = "../assets/bedrock/creative_items.nbt"; if !std::path::Path::new(nbt_path).exists() { - let generated_path = "../pumpkin-data/src/generated/bedrock_creative.rs"; + let generated_path = "../../crates/pumpkin-data/src/generated/bedrock_creative.rs"; if let Ok(content) = fs::read_to_string(generated_path) { return content.parse().unwrap_or_else(|_| TokenStream::new()); } diff --git a/pumpkin-codegen/src/biome.rs b/tools/pumpkin-codegen/src/biome.rs similarity index 100% rename from pumpkin-codegen/src/biome.rs rename to tools/pumpkin-codegen/src/biome.rs diff --git a/pumpkin-codegen/src/bitsets.rs b/tools/pumpkin-codegen/src/bitsets.rs similarity index 100% rename from pumpkin-codegen/src/bitsets.rs rename to tools/pumpkin-codegen/src/bitsets.rs diff --git a/pumpkin-codegen/src/block.rs b/tools/pumpkin-codegen/src/block.rs similarity index 100% rename from pumpkin-codegen/src/block.rs rename to tools/pumpkin-codegen/src/block.rs diff --git a/pumpkin-codegen/src/carver.rs b/tools/pumpkin-codegen/src/carver.rs similarity index 100% rename from pumpkin-codegen/src/carver.rs rename to tools/pumpkin-codegen/src/carver.rs diff --git a/pumpkin-codegen/src/chest_loot.rs b/tools/pumpkin-codegen/src/chest_loot.rs similarity index 100% rename from pumpkin-codegen/src/chest_loot.rs rename to tools/pumpkin-codegen/src/chest_loot.rs diff --git a/pumpkin-codegen/src/chunk_gen_settings.rs b/tools/pumpkin-codegen/src/chunk_gen_settings.rs similarity index 100% rename from pumpkin-codegen/src/chunk_gen_settings.rs rename to tools/pumpkin-codegen/src/chunk_gen_settings.rs diff --git a/pumpkin-codegen/src/chunk_status.rs b/tools/pumpkin-codegen/src/chunk_status.rs similarity index 100% rename from pumpkin-codegen/src/chunk_status.rs rename to tools/pumpkin-codegen/src/chunk_status.rs diff --git a/pumpkin-codegen/src/chunk_view_lut.rs b/tools/pumpkin-codegen/src/chunk_view_lut.rs similarity index 100% rename from pumpkin-codegen/src/chunk_view_lut.rs rename to tools/pumpkin-codegen/src/chunk_view_lut.rs diff --git a/pumpkin-codegen/src/composter_increase_chance.rs b/tools/pumpkin-codegen/src/composter_increase_chance.rs similarity index 100% rename from pumpkin-codegen/src/composter_increase_chance.rs rename to tools/pumpkin-codegen/src/composter_increase_chance.rs diff --git a/pumpkin-codegen/src/configured_feature.rs b/tools/pumpkin-codegen/src/configured_feature.rs similarity index 100% rename from pumpkin-codegen/src/configured_feature.rs rename to tools/pumpkin-codegen/src/configured_feature.rs diff --git a/pumpkin-codegen/src/damage_type.rs b/tools/pumpkin-codegen/src/damage_type.rs similarity index 100% rename from pumpkin-codegen/src/damage_type.rs rename to tools/pumpkin-codegen/src/damage_type.rs diff --git a/pumpkin-codegen/src/data_component.rs b/tools/pumpkin-codegen/src/data_component.rs similarity index 100% rename from pumpkin-codegen/src/data_component.rs rename to tools/pumpkin-codegen/src/data_component.rs diff --git a/pumpkin-codegen/src/dimension.rs b/tools/pumpkin-codegen/src/dimension.rs similarity index 100% rename from pumpkin-codegen/src/dimension.rs rename to tools/pumpkin-codegen/src/dimension.rs diff --git a/pumpkin-codegen/src/effect.rs b/tools/pumpkin-codegen/src/effect.rs similarity index 100% rename from pumpkin-codegen/src/effect.rs rename to tools/pumpkin-codegen/src/effect.rs diff --git a/pumpkin-codegen/src/enchantments.rs b/tools/pumpkin-codegen/src/enchantments.rs similarity index 100% rename from pumpkin-codegen/src/enchantments.rs rename to tools/pumpkin-codegen/src/enchantments.rs diff --git a/pumpkin-codegen/src/entity_pose.rs b/tools/pumpkin-codegen/src/entity_pose.rs similarity index 100% rename from pumpkin-codegen/src/entity_pose.rs rename to tools/pumpkin-codegen/src/entity_pose.rs diff --git a/pumpkin-codegen/src/entity_status.rs b/tools/pumpkin-codegen/src/entity_status.rs similarity index 100% rename from pumpkin-codegen/src/entity_status.rs rename to tools/pumpkin-codegen/src/entity_status.rs diff --git a/pumpkin-codegen/src/entity_type.rs b/tools/pumpkin-codegen/src/entity_type.rs similarity index 100% rename from pumpkin-codegen/src/entity_type.rs rename to tools/pumpkin-codegen/src/entity_type.rs diff --git a/pumpkin-codegen/src/flower_pot_transformations.rs b/tools/pumpkin-codegen/src/flower_pot_transformations.rs similarity index 100% rename from pumpkin-codegen/src/flower_pot_transformations.rs rename to tools/pumpkin-codegen/src/flower_pot_transformations.rs diff --git a/pumpkin-codegen/src/fluid.rs b/tools/pumpkin-codegen/src/fluid.rs similarity index 100% rename from pumpkin-codegen/src/fluid.rs rename to tools/pumpkin-codegen/src/fluid.rs diff --git a/pumpkin-codegen/src/fuels.rs b/tools/pumpkin-codegen/src/fuels.rs similarity index 100% rename from pumpkin-codegen/src/fuels.rs rename to tools/pumpkin-codegen/src/fuels.rs diff --git a/pumpkin-codegen/src/game_event.rs b/tools/pumpkin-codegen/src/game_event.rs similarity index 100% rename from pumpkin-codegen/src/game_event.rs rename to tools/pumpkin-codegen/src/game_event.rs diff --git a/pumpkin-codegen/src/game_rules.rs b/tools/pumpkin-codegen/src/game_rules.rs similarity index 100% rename from pumpkin-codegen/src/game_rules.rs rename to tools/pumpkin-codegen/src/game_rules.rs diff --git a/pumpkin-codegen/src/item.rs b/tools/pumpkin-codegen/src/item.rs similarity index 100% rename from pumpkin-codegen/src/item.rs rename to tools/pumpkin-codegen/src/item.rs diff --git a/pumpkin-codegen/src/jukebox_song.rs b/tools/pumpkin-codegen/src/jukebox_song.rs similarity index 100% rename from pumpkin-codegen/src/jukebox_song.rs rename to tools/pumpkin-codegen/src/jukebox_song.rs diff --git a/pumpkin-codegen/src/loot.rs b/tools/pumpkin-codegen/src/loot.rs similarity index 100% rename from pumpkin-codegen/src/loot.rs rename to tools/pumpkin-codegen/src/loot.rs diff --git a/pumpkin-codegen/src/main.rs b/tools/pumpkin-codegen/src/main.rs similarity index 100% rename from pumpkin-codegen/src/main.rs rename to tools/pumpkin-codegen/src/main.rs diff --git a/pumpkin-codegen/src/message_type.rs b/tools/pumpkin-codegen/src/message_type.rs similarity index 100% rename from pumpkin-codegen/src/message_type.rs rename to tools/pumpkin-codegen/src/message_type.rs diff --git a/pumpkin-codegen/src/meta_data_type.rs b/tools/pumpkin-codegen/src/meta_data_type.rs similarity index 100% rename from pumpkin-codegen/src/meta_data_type.rs rename to tools/pumpkin-codegen/src/meta_data_type.rs diff --git a/pumpkin-codegen/src/noise_parameter.rs b/tools/pumpkin-codegen/src/noise_parameter.rs similarity index 100% rename from pumpkin-codegen/src/noise_parameter.rs rename to tools/pumpkin-codegen/src/noise_parameter.rs diff --git a/pumpkin-codegen/src/noise_router.rs b/tools/pumpkin-codegen/src/noise_router.rs similarity index 100% rename from pumpkin-codegen/src/noise_router.rs rename to tools/pumpkin-codegen/src/noise_router.rs diff --git a/pumpkin-codegen/src/packet.rs b/tools/pumpkin-codegen/src/packet.rs similarity index 100% rename from pumpkin-codegen/src/packet.rs rename to tools/pumpkin-codegen/src/packet.rs diff --git a/pumpkin-codegen/src/particle.rs b/tools/pumpkin-codegen/src/particle.rs similarity index 100% rename from pumpkin-codegen/src/particle.rs rename to tools/pumpkin-codegen/src/particle.rs diff --git a/pumpkin-codegen/src/placed_feature.rs b/tools/pumpkin-codegen/src/placed_feature.rs similarity index 100% rename from pumpkin-codegen/src/placed_feature.rs rename to tools/pumpkin-codegen/src/placed_feature.rs diff --git a/pumpkin-codegen/src/potion.rs b/tools/pumpkin-codegen/src/potion.rs similarity index 100% rename from pumpkin-codegen/src/potion.rs rename to tools/pumpkin-codegen/src/potion.rs diff --git a/pumpkin-codegen/src/potion_brewing.rs b/tools/pumpkin-codegen/src/potion_brewing.rs similarity index 100% rename from pumpkin-codegen/src/potion_brewing.rs rename to tools/pumpkin-codegen/src/potion_brewing.rs diff --git a/pumpkin-codegen/src/recipe_remainder.rs b/tools/pumpkin-codegen/src/recipe_remainder.rs similarity index 100% rename from pumpkin-codegen/src/recipe_remainder.rs rename to tools/pumpkin-codegen/src/recipe_remainder.rs diff --git a/pumpkin-codegen/src/recipes.rs b/tools/pumpkin-codegen/src/recipes.rs similarity index 100% rename from pumpkin-codegen/src/recipes.rs rename to tools/pumpkin-codegen/src/recipes.rs diff --git a/pumpkin-codegen/src/registry.rs b/tools/pumpkin-codegen/src/registry.rs similarity index 100% rename from pumpkin-codegen/src/registry.rs rename to tools/pumpkin-codegen/src/registry.rs diff --git a/pumpkin-codegen/src/remap/block_state.rs b/tools/pumpkin-codegen/src/remap/block_state.rs similarity index 100% rename from pumpkin-codegen/src/remap/block_state.rs rename to tools/pumpkin-codegen/src/remap/block_state.rs diff --git a/pumpkin-codegen/src/remap/entity_id.rs b/tools/pumpkin-codegen/src/remap/entity_id.rs similarity index 100% rename from pumpkin-codegen/src/remap/entity_id.rs rename to tools/pumpkin-codegen/src/remap/entity_id.rs diff --git a/pumpkin-codegen/src/remap/item_id.rs b/tools/pumpkin-codegen/src/remap/item_id.rs similarity index 100% rename from pumpkin-codegen/src/remap/item_id.rs rename to tools/pumpkin-codegen/src/remap/item_id.rs diff --git a/pumpkin-codegen/src/remap/mod.rs b/tools/pumpkin-codegen/src/remap/mod.rs similarity index 100% rename from pumpkin-codegen/src/remap/mod.rs rename to tools/pumpkin-codegen/src/remap/mod.rs diff --git a/pumpkin-codegen/src/remap/particle_id.rs b/tools/pumpkin-codegen/src/remap/particle_id.rs similarity index 100% rename from pumpkin-codegen/src/remap/particle_id.rs rename to tools/pumpkin-codegen/src/remap/particle_id.rs diff --git a/pumpkin-codegen/src/remap/sound_id.rs b/tools/pumpkin-codegen/src/remap/sound_id.rs similarity index 100% rename from pumpkin-codegen/src/remap/sound_id.rs rename to tools/pumpkin-codegen/src/remap/sound_id.rs diff --git a/pumpkin-codegen/src/scoreboard_slot.rs b/tools/pumpkin-codegen/src/scoreboard_slot.rs similarity index 100% rename from pumpkin-codegen/src/scoreboard_slot.rs rename to tools/pumpkin-codegen/src/scoreboard_slot.rs diff --git a/pumpkin-codegen/src/screen.rs b/tools/pumpkin-codegen/src/screen.rs similarity index 100% rename from pumpkin-codegen/src/screen.rs rename to tools/pumpkin-codegen/src/screen.rs diff --git a/pumpkin-codegen/src/slot_ranges.rs b/tools/pumpkin-codegen/src/slot_ranges.rs similarity index 100% rename from pumpkin-codegen/src/slot_ranges.rs rename to tools/pumpkin-codegen/src/slot_ranges.rs diff --git a/pumpkin-codegen/src/sound.rs b/tools/pumpkin-codegen/src/sound.rs similarity index 100% rename from pumpkin-codegen/src/sound.rs rename to tools/pumpkin-codegen/src/sound.rs diff --git a/pumpkin-codegen/src/sound_category.rs b/tools/pumpkin-codegen/src/sound_category.rs similarity index 100% rename from pumpkin-codegen/src/sound_category.rs rename to tools/pumpkin-codegen/src/sound_category.rs diff --git a/pumpkin-codegen/src/spawn_egg.rs b/tools/pumpkin-codegen/src/spawn_egg.rs similarity index 100% rename from pumpkin-codegen/src/spawn_egg.rs rename to tools/pumpkin-codegen/src/spawn_egg.rs diff --git a/pumpkin-codegen/src/statistic.rs b/tools/pumpkin-codegen/src/statistic.rs similarity index 100% rename from pumpkin-codegen/src/statistic.rs rename to tools/pumpkin-codegen/src/statistic.rs diff --git a/pumpkin-codegen/src/structures.rs b/tools/pumpkin-codegen/src/structures.rs similarity index 100% rename from pumpkin-codegen/src/structures.rs rename to tools/pumpkin-codegen/src/structures.rs diff --git a/pumpkin-codegen/src/tag.rs b/tools/pumpkin-codegen/src/tag.rs similarity index 100% rename from pumpkin-codegen/src/tag.rs rename to tools/pumpkin-codegen/src/tag.rs diff --git a/pumpkin-codegen/src/tracked_data.rs b/tools/pumpkin-codegen/src/tracked_data.rs similarity index 100% rename from pumpkin-codegen/src/tracked_data.rs rename to tools/pumpkin-codegen/src/tracked_data.rs diff --git a/pumpkin-codegen/src/translations.rs b/tools/pumpkin-codegen/src/translations.rs similarity index 100% rename from pumpkin-codegen/src/translations.rs rename to tools/pumpkin-codegen/src/translations.rs diff --git a/pumpkin-codegen/src/version.rs b/tools/pumpkin-codegen/src/version.rs similarity index 100% rename from pumpkin-codegen/src/version.rs rename to tools/pumpkin-codegen/src/version.rs diff --git a/pumpkin-codegen/src/villager.rs b/tools/pumpkin-codegen/src/villager.rs similarity index 100% rename from pumpkin-codegen/src/villager.rs rename to tools/pumpkin-codegen/src/villager.rs diff --git a/pumpkin-codegen/src/wit/bedrock_packet.rs b/tools/pumpkin-codegen/src/wit/bedrock_packet.rs similarity index 100% rename from pumpkin-codegen/src/wit/bedrock_packet.rs rename to tools/pumpkin-codegen/src/wit/bedrock_packet.rs diff --git a/pumpkin-codegen/src/wit/biome.rs b/tools/pumpkin-codegen/src/wit/biome.rs similarity index 100% rename from pumpkin-codegen/src/wit/biome.rs rename to tools/pumpkin-codegen/src/wit/biome.rs diff --git a/pumpkin-codegen/src/wit/data_component.rs b/tools/pumpkin-codegen/src/wit/data_component.rs similarity index 100% rename from pumpkin-codegen/src/wit/data_component.rs rename to tools/pumpkin-codegen/src/wit/data_component.rs diff --git a/pumpkin-codegen/src/wit/enchantment.rs b/tools/pumpkin-codegen/src/wit/enchantment.rs similarity index 100% rename from pumpkin-codegen/src/wit/enchantment.rs rename to tools/pumpkin-codegen/src/wit/enchantment.rs diff --git a/pumpkin-codegen/src/wit/entity_type.rs b/tools/pumpkin-codegen/src/wit/entity_type.rs similarity index 100% rename from pumpkin-codegen/src/wit/entity_type.rs rename to tools/pumpkin-codegen/src/wit/entity_type.rs diff --git a/pumpkin-codegen/src/wit/java_packet.rs b/tools/pumpkin-codegen/src/wit/java_packet.rs similarity index 100% rename from pumpkin-codegen/src/wit/java_packet.rs rename to tools/pumpkin-codegen/src/wit/java_packet.rs diff --git a/pumpkin-codegen/src/wit/mod.rs b/tools/pumpkin-codegen/src/wit/mod.rs similarity index 100% rename from pumpkin-codegen/src/wit/mod.rs rename to tools/pumpkin-codegen/src/wit/mod.rs diff --git a/pumpkin-codegen/src/wit/packet_mapping.rs b/tools/pumpkin-codegen/src/wit/packet_mapping.rs similarity index 100% rename from pumpkin-codegen/src/wit/packet_mapping.rs rename to tools/pumpkin-codegen/src/wit/packet_mapping.rs diff --git a/pumpkin-codegen/src/wit/particle.rs b/tools/pumpkin-codegen/src/wit/particle.rs similarity index 100% rename from pumpkin-codegen/src/wit/particle.rs rename to tools/pumpkin-codegen/src/wit/particle.rs diff --git a/pumpkin-codegen/src/wit/sound.rs b/tools/pumpkin-codegen/src/wit/sound.rs similarity index 100% rename from pumpkin-codegen/src/wit/sound.rs rename to tools/pumpkin-codegen/src/wit/sound.rs diff --git a/pumpkin-codegen/src/wit/utils.rs b/tools/pumpkin-codegen/src/wit/utils.rs similarity index 100% rename from pumpkin-codegen/src/wit/utils.rs rename to tools/pumpkin-codegen/src/wit/utils.rs diff --git a/pumpkin-codegen/src/world_event.rs b/tools/pumpkin-codegen/src/world_event.rs similarity index 100% rename from pumpkin-codegen/src/world_event.rs rename to tools/pumpkin-codegen/src/world_event.rs diff --git a/typos.toml b/typos.toml index 2b873b011..1e98651a8 100644 --- a/typos.toml +++ b/typos.toml @@ -1,5 +1,5 @@ [files] -extend-exclude = ["assets/", "pumpkin-data/src/generated"] +extend-exclude = ["assets/", "crates/pumpkin-data/src/generated"] [default.extend-words] handled = "handled"