From 466d4380cfd09d6f4020a5b23e58dd274440b1d3 Mon Sep 17 00:00:00 2001 From: Alexander Medvedev Date: Sat, 1 Feb 2025 17:53:41 +0100 Subject: [PATCH] Some Refactors --- pumpkin-inventory/src/crafting.rs | 2 +- pumpkin-inventory/src/open_container.rs | 2 +- pumpkin-macros/src/lib.rs | 30 +- pumpkin-protocol/src/bytebuf/mod.rs | 2 +- .../src/bytebuf/{packet_id.rs => packet.rs} | 0 ..._resource_pack.rs => add_resource_pack.rs} | 0 ...fig_disconnect.rs => config_disconnect.rs} | 0 ...{c_cookie_request.rs => cookie_request.rs} | 0 .../{c_finish_config.rs => finish_config.rs} | 0 .../{c_known_packs.rs => known_packs.rs} | 0 pumpkin-protocol/src/client/config/mod.rs | 40 +-- ...{c_plugin_message.rs => plugin_message.rs} | 0 .../{c_registry_data.rs => registry_data.rs} | 0 .../{c_server_links.rs => server_links.rs} | 0 .../{c_store_cookie.rs => store_cookie.rs} | 0 .../config/{c_transfer.rs => transfer.rs} | 0 ...{c_cookie_request.rs => cookie_request.rs} | 0 ...ption_request.rs => encryption_request.rs} | 0 ...ogin_disconnect.rs => login_disconnect.rs} | 0 .../{c_login_success.rs => login_success.rs} | 0 pumpkin-protocol/src/client/login/mod.rs | 24 +- ...{c_plugin_request.rs => plugin_request.rs} | 0 ..._set_compression.rs => set_compression.rs} | 0 ...nowledge_block.rs => acknowledge_block.rs} | 0 .../play/{c_actionbar.rs => actionbar.rs} | 0 ...estroy_stage.rs => block_destroy_stage.rs} | 0 .../play/{c_block_event.rs => block_event.rs} | 0 .../{c_block_update.rs => block_update.rs} | 0 .../play/{c_boss_event.rs => boss_event.rs} | 0 .../{c_center_chunk.rs => center_chunk.rs} | 0 ...nge_difficulty.rs => change_difficulty.rs} | 0 .../play/{c_chunk_data.rs => chunk_data.rs} | 0 .../play/{c_clear_title.rs => clear_title.rs} | 0 ..._close_container.rs => close_container.rs} | 0 .../{c_combat_death.rs => combat_death.rs} | 0 ..._suggestions.rs => command_suggestions.rs} | 0 .../play/{c_commands.rs => commands.rs} | 0 ...{c_cookie_request.rs => cookie_request.rs} | 0 .../{c_damage_event.rs => damage_event.rs} | 0 .../{c_play_disconnect.rs => disconnect.rs} | 0 ...t_message.rs => disguised_chat_message.rs} | 0 ...play_objective.rs => display_objective.rs} | 0 ...ntity_animation.rs => entity_animation.rs} | 0 ..._entity_metadata.rs => entity_metadata.rs} | 0 ...sound_effect.rs => entity_sound_effect.rs} | 0 .../{c_entity_status.rs => entity_status.rs} | 0 ..._entity_velocity.rs => entity_velocity.rs} | 0 .../play/{c_game_event.rs => game_event.rs} | 0 .../play/{c_head_rot.rs => head_rot.rs} | 0 ...{c_hurt_animation.rs => hurt_animation.rs} | 0 ...d_border.rs => initialize_world_border.rs} | 0 .../play/{c_keep_alive.rs => keep_alive.rs} | 0 .../play/{c_level_event.rs => level_event.rs} | 0 .../src/client/play/{c_login.rs => login.rs} | 0 pumpkin-protocol/src/client/play/mod.rs | 284 +++++++++--------- .../play/{c_open_screen.rs => open_screen.rs} | 0 .../play/{c_particle.rs => particle.rs} | 0 .../{c_ping_response.rs => ping_response.rs} | 0 ...layer_abilities.rs => player_abilities.rs} | 0 ...chat_message.rs => player_chat_message.rs} | 0 ...r_info_update.rs => player_info_update.rs} | 0 ..._player_position.rs => player_position.rs} | 0 .../{c_player_remove.rs => player_remove.rs} | 0 ..._remove_entities.rs => remove_entities.rs} | 0 .../play/{c_reset_score.rs => reset_score.rs} | 0 .../client/play/{c_respawn.rs => respawn.rs} | 0 .../{c_server_links.rs => server_links.rs} | 0 ..._border_center.rs => set_border_center.rs} | 0 ...r_lerp_size.rs => set_border_lerp_size.rs} | 0 ..._set_border_size.rs => set_border_size.rs} | 0 ...g_delay.rs => set_border_warning_delay.rs} | 0 ...ance.rs => set_border_warning_distance.rs} | 0 ...er_content.rs => set_container_content.rs} | 0 ..._property.rs => set_container_property.rs} | 0 ...ontainer_slot.rs => set_container_slot.rs} | 0 ...{c_set_experience.rs => set_experience.rs} | 0 .../play/{c_set_health.rs => set_health.rs} | 0 .../{c_set_held_item.rs => set_held_item.rs} | 0 .../play/{c_set_time.rs => set_time.rs} | 0 .../play/{c_set_title.rs => set_title.rs} | 0 .../{c_sound_effect.rs => sound_effect.rs} | 0 .../{c_spawn_entity.rs => spawn_entity.rs} | 0 .../{c_store_cookie.rs => store_cookie.rs} | 0 .../play/{c_subtitle.rs => subtitle.rs} | 0 ...chat_message.rs => system_chat_message.rs} | 0 .../play/{c_take_item.rs => take_item.rs} | 0 ..._teleport_entity.rs => teleport_entity.rs} | 0 .../play/{c_transfer.rs => transfer.rs} | 0 .../{c_unload_chunk.rs => unload_chunk.rs} | 0 ...ate_entity_pos.rs => update_entity_pos.rs} | 0 ...ty_pos_rot.rs => update_entity_pos_rot.rs} | 0 ...ate_entity_rot.rs => update_entity_rot.rs} | 0 ...ate_objectives.rs => update_objectives.rs} | 0 .../{c_update_score.rs => update_score.rs} | 0 .../play/{c_worldevent.rs => worldevent.rs} | 0 pumpkin-protocol/src/client/status/mod.rs | 8 +- .../{c_ping_response.rs => ping_response.rs} | 0 ..._status_response.rs => status_response.rs} | 0 pumpkin-protocol/src/lib.rs | 2 +- pumpkin-protocol/src/packet_encoder.rs | 2 +- ...config.rs => acknowledge_finish_config.rs} | 0 ...t_information.rs => client_information.rs} | 0 ..._cookie_response.rs => cookie_response.rs} | 0 .../{s_known_packs.rs => known_packs.rs} | 0 pumpkin-protocol/src/server/config/mod.rs | 20 +- ...{s_plugin_message.rs => plugin_message.rs} | 0 ..._cookie_response.rs => cookie_response.rs} | 0 ...ion_response.rs => encryption_response.rs} | 0 ...{s_login_response.rs => login_response.rs} | 0 .../{s_login_start.rs => login_start.rs} | 0 pumpkin-protocol/src/server/login/mod.rs | 20 +- ..._plugin_response.rs => plugin_response.rs} | 0 .../{s_chat_command.rs => chat_command.rs} | 0 .../{s_chat_message.rs => chat_message.rs} | 0 ..._click_container.rs => click_container.rs} | 0 ...{s_client_command.rs => client_command.rs} | 0 ...t_information.rs => client_information.rs} | 0 ..._client_tick_end.rs => client_tick_end.rs} | 0 ..._close_container.rs => close_container.rs} | 0 ...nd_suggestion.rs => command_suggestion.rs} | 0 ...onfirm_teleport.rs => confirm_teleport.rs} | 0 ..._cookie_response.rs => cookie_response.rs} | 0 .../play/{s_interact.rs => interact.rs} | 0 .../play/{s_keep_alive.rs => keep_alive.rs} | 0 pumpkin-protocol/src/server/play/mod.rs | 112 +++---- .../play/{s_pick_item.rs => pick_item.rs} | 0 .../{s_ping_request.rs => ping_request.rs} | 0 ...layer_abilities.rs => player_abilities.rs} | 0 .../{s_player_action.rs => player_action.rs} | 0 ...{s_player_command.rs => player_command.rs} | 0 .../{s_player_ground.rs => player_ground.rs} | 0 .../{s_player_input.rs => player_input.rs} | 0 .../{s_player_loaded.rs => player_loaded.rs} | 0 ..._player_position.rs => player_position.rs} | 0 ...otation.rs => player_position_rotation.rs} | 0 ..._player_rotation.rs => player_rotation.rs} | 0 ..._creative_slot.rs => set_creative_slot.rs} | 0 .../{s_set_held_item.rs => set_held_item.rs} | 0 .../play/{s_swing_arm.rs => swing_arm.rs} | 0 .../play/{s_use_item.rs => use_item.rs} | 0 .../play/{s_use_item_on.rs => use_item_on.rs} | 0 pumpkin-protocol/src/server/status/mod.rs | 8 +- .../{s_ping_request.rs => ping_request.rs} | 0 ...{s_status_request.rs => status_request.rs} | 0 pumpkin-util/src/math/vector3.rs | 17 ++ pumpkin-world/src/block/mod.rs | 6 +- .../block/{block_registry.rs => registry.rs} | 0 .../src/block/{block_state.rs => state.rs} | 2 +- pumpkin-world/src/chunk/anvil.rs | 2 +- pumpkin-world/src/generation/generator.rs | 2 +- .../generation/implementation/superflat.rs | 2 +- .../src/generation/implementation/test.rs | 2 +- .../{item_categories.rs => categories.rs} | 0 pumpkin-world/src/item/mod.rs | 6 +- .../item/{item_registry.rs => registry.rs} | 0 pumpkin/src/block/blocks/chest.rs | 6 +- pumpkin/src/block/blocks/crafting_table.rs | 4 +- pumpkin/src/block/blocks/furnace.rs | 6 +- pumpkin/src/block/blocks/jukebox.rs | 6 +- pumpkin/src/block/blocks/mod.rs | 2 +- pumpkin/src/block/mod.rs | 8 +- pumpkin/src/block/properties.rs | 2 +- pumpkin/src/block/pumpkin_block.rs | 6 +- .../block/{block_manager.rs => registry.rs} | 8 +- pumpkin/src/command/args/block.rs | 4 +- pumpkin/src/command/args/item.rs | 4 +- pumpkin/src/command/args/mod.rs | 4 +- ...d_suggestions.rs => client_suggestions.rs} | 0 pumpkin/src/command/commands/ban.rs | 3 +- pumpkin/src/command/commands/banip.rs | 2 +- pumpkin/src/command/commands/banlist.rs | 2 +- pumpkin/src/command/commands/bossbar.rs | 2 +- pumpkin/src/command/commands/clear.rs | 2 +- pumpkin/src/command/commands/deop.rs | 2 +- pumpkin/src/command/commands/experience.rs | 2 +- pumpkin/src/command/commands/fill.rs | 2 +- pumpkin/src/command/commands/gamemode.rs | 2 +- pumpkin/src/command/commands/give.rs | 2 +- pumpkin/src/command/commands/help.rs | 2 +- pumpkin/src/command/commands/kick.rs | 2 +- pumpkin/src/command/commands/kill.rs | 2 +- pumpkin/src/command/commands/me.rs | 2 +- pumpkin/src/command/commands/msg.rs | 2 +- pumpkin/src/command/commands/op.rs | 2 +- pumpkin/src/command/commands/pardon.rs | 2 +- pumpkin/src/command/commands/pardonip.rs | 2 +- pumpkin/src/command/commands/playsound.rs | 2 +- pumpkin/src/command/commands/plugin.rs | 6 +- pumpkin/src/command/commands/say.rs | 2 +- pumpkin/src/command/commands/setblock.rs | 2 +- pumpkin/src/command/commands/summon.rs | 2 +- pumpkin/src/command/commands/teleport.rs | 2 +- pumpkin/src/command/commands/time.rs | 2 +- pumpkin/src/command/commands/title.rs | 2 +- pumpkin/src/command/commands/transfer.rs | 2 +- pumpkin/src/command/commands/worldborder.rs | 2 +- pumpkin/src/command/mod.rs | 4 +- .../{tree_builder.rs => tree/builder.rs} | 5 +- .../{tree_format.rs => tree/format.rs} | 0 pumpkin/src/command/{tree.rs => tree/mod.rs} | 5 +- pumpkin/src/entity/mod.rs | 1 + pumpkin/src/entity/player.rs | 8 +- pumpkin/src/entity/projectile/mod.rs | 66 ++++ pumpkin/src/net/container.rs | 2 +- pumpkin/src/net/mod.rs | 2 +- pumpkin/src/net/packet/play.rs | 24 +- pumpkin/src/plugin/api/context.rs | 16 +- pumpkin/src/plugin/api/events/block.rs | 2 +- pumpkin/src/server/mod.rs | 12 +- pumpkin/src/world/mod.rs | 14 +- 210 files changed, 491 insertions(+), 386 deletions(-) rename pumpkin-protocol/src/bytebuf/{packet_id.rs => packet.rs} (100%) rename pumpkin-protocol/src/client/config/{c_add_resource_pack.rs => add_resource_pack.rs} (100%) rename pumpkin-protocol/src/client/config/{c_config_disconnect.rs => config_disconnect.rs} (100%) rename pumpkin-protocol/src/client/config/{c_cookie_request.rs => cookie_request.rs} (100%) rename pumpkin-protocol/src/client/config/{c_finish_config.rs => finish_config.rs} (100%) rename pumpkin-protocol/src/client/config/{c_known_packs.rs => known_packs.rs} (100%) rename pumpkin-protocol/src/client/config/{c_plugin_message.rs => plugin_message.rs} (100%) rename pumpkin-protocol/src/client/config/{c_registry_data.rs => registry_data.rs} (100%) rename pumpkin-protocol/src/client/config/{c_server_links.rs => server_links.rs} (100%) rename pumpkin-protocol/src/client/config/{c_store_cookie.rs => store_cookie.rs} (100%) rename pumpkin-protocol/src/client/config/{c_transfer.rs => transfer.rs} (100%) rename pumpkin-protocol/src/client/login/{c_cookie_request.rs => cookie_request.rs} (100%) rename pumpkin-protocol/src/client/login/{c_encryption_request.rs => encryption_request.rs} (100%) rename pumpkin-protocol/src/client/login/{c_login_disconnect.rs => login_disconnect.rs} (100%) rename pumpkin-protocol/src/client/login/{c_login_success.rs => login_success.rs} (100%) rename pumpkin-protocol/src/client/login/{c_plugin_request.rs => plugin_request.rs} (100%) rename pumpkin-protocol/src/client/login/{c_set_compression.rs => set_compression.rs} (100%) rename pumpkin-protocol/src/client/play/{c_acknowledge_block.rs => acknowledge_block.rs} (100%) rename pumpkin-protocol/src/client/play/{c_actionbar.rs => actionbar.rs} (100%) rename pumpkin-protocol/src/client/play/{c_block_destroy_stage.rs => block_destroy_stage.rs} (100%) rename pumpkin-protocol/src/client/play/{c_block_event.rs => block_event.rs} (100%) rename pumpkin-protocol/src/client/play/{c_block_update.rs => block_update.rs} (100%) rename pumpkin-protocol/src/client/play/{c_boss_event.rs => boss_event.rs} (100%) rename pumpkin-protocol/src/client/play/{c_center_chunk.rs => center_chunk.rs} (100%) rename pumpkin-protocol/src/client/play/{c_change_difficulty.rs => change_difficulty.rs} (100%) rename pumpkin-protocol/src/client/play/{c_chunk_data.rs => chunk_data.rs} (100%) rename pumpkin-protocol/src/client/play/{c_clear_title.rs => clear_title.rs} (100%) rename pumpkin-protocol/src/client/play/{c_close_container.rs => close_container.rs} (100%) rename pumpkin-protocol/src/client/play/{c_combat_death.rs => combat_death.rs} (100%) rename pumpkin-protocol/src/client/play/{c_command_suggestions.rs => command_suggestions.rs} (100%) rename pumpkin-protocol/src/client/play/{c_commands.rs => commands.rs} (100%) rename pumpkin-protocol/src/client/play/{c_cookie_request.rs => cookie_request.rs} (100%) rename pumpkin-protocol/src/client/play/{c_damage_event.rs => damage_event.rs} (100%) rename pumpkin-protocol/src/client/play/{c_play_disconnect.rs => disconnect.rs} (100%) rename pumpkin-protocol/src/client/play/{c_disguised_chat_message.rs => disguised_chat_message.rs} (100%) rename pumpkin-protocol/src/client/play/{c_display_objective.rs => display_objective.rs} (100%) rename pumpkin-protocol/src/client/play/{c_entity_animation.rs => entity_animation.rs} (100%) rename pumpkin-protocol/src/client/play/{c_entity_metadata.rs => entity_metadata.rs} (100%) rename pumpkin-protocol/src/client/play/{c_entity_sound_effect.rs => entity_sound_effect.rs} (100%) rename pumpkin-protocol/src/client/play/{c_entity_status.rs => entity_status.rs} (100%) rename pumpkin-protocol/src/client/play/{c_entity_velocity.rs => entity_velocity.rs} (100%) rename pumpkin-protocol/src/client/play/{c_game_event.rs => game_event.rs} (100%) rename pumpkin-protocol/src/client/play/{c_head_rot.rs => head_rot.rs} (100%) rename pumpkin-protocol/src/client/play/{c_hurt_animation.rs => hurt_animation.rs} (100%) rename pumpkin-protocol/src/client/play/{c_initialize_world_border.rs => initialize_world_border.rs} (100%) rename pumpkin-protocol/src/client/play/{c_keep_alive.rs => keep_alive.rs} (100%) rename pumpkin-protocol/src/client/play/{c_level_event.rs => level_event.rs} (100%) rename pumpkin-protocol/src/client/play/{c_login.rs => login.rs} (100%) rename pumpkin-protocol/src/client/play/{c_open_screen.rs => open_screen.rs} (100%) rename pumpkin-protocol/src/client/play/{c_particle.rs => particle.rs} (100%) rename pumpkin-protocol/src/client/play/{c_ping_response.rs => ping_response.rs} (100%) rename pumpkin-protocol/src/client/play/{c_player_abilities.rs => player_abilities.rs} (100%) rename pumpkin-protocol/src/client/play/{c_player_chat_message.rs => player_chat_message.rs} (100%) rename pumpkin-protocol/src/client/play/{c_player_info_update.rs => player_info_update.rs} (100%) rename pumpkin-protocol/src/client/play/{c_player_position.rs => player_position.rs} (100%) rename pumpkin-protocol/src/client/play/{c_player_remove.rs => player_remove.rs} (100%) rename pumpkin-protocol/src/client/play/{c_remove_entities.rs => remove_entities.rs} (100%) rename pumpkin-protocol/src/client/play/{c_reset_score.rs => reset_score.rs} (100%) rename pumpkin-protocol/src/client/play/{c_respawn.rs => respawn.rs} (100%) rename pumpkin-protocol/src/client/play/{c_server_links.rs => server_links.rs} (100%) rename pumpkin-protocol/src/client/play/{c_set_border_center.rs => set_border_center.rs} (100%) rename pumpkin-protocol/src/client/play/{c_set_border_lerp_size.rs => set_border_lerp_size.rs} (100%) rename pumpkin-protocol/src/client/play/{c_set_border_size.rs => set_border_size.rs} (100%) rename pumpkin-protocol/src/client/play/{c_set_border_warning_delay.rs => set_border_warning_delay.rs} (100%) rename pumpkin-protocol/src/client/play/{c_set_border_warning_distance.rs => set_border_warning_distance.rs} (100%) rename pumpkin-protocol/src/client/play/{c_set_container_content.rs => set_container_content.rs} (100%) rename pumpkin-protocol/src/client/play/{c_set_container_property.rs => set_container_property.rs} (100%) rename pumpkin-protocol/src/client/play/{c_set_container_slot.rs => set_container_slot.rs} (100%) rename pumpkin-protocol/src/client/play/{c_set_experience.rs => set_experience.rs} (100%) rename pumpkin-protocol/src/client/play/{c_set_health.rs => set_health.rs} (100%) rename pumpkin-protocol/src/client/play/{c_set_held_item.rs => set_held_item.rs} (100%) rename pumpkin-protocol/src/client/play/{c_set_time.rs => set_time.rs} (100%) rename pumpkin-protocol/src/client/play/{c_set_title.rs => set_title.rs} (100%) rename pumpkin-protocol/src/client/play/{c_sound_effect.rs => sound_effect.rs} (100%) rename pumpkin-protocol/src/client/play/{c_spawn_entity.rs => spawn_entity.rs} (100%) rename pumpkin-protocol/src/client/play/{c_store_cookie.rs => store_cookie.rs} (100%) rename pumpkin-protocol/src/client/play/{c_subtitle.rs => subtitle.rs} (100%) rename pumpkin-protocol/src/client/play/{c_system_chat_message.rs => system_chat_message.rs} (100%) rename pumpkin-protocol/src/client/play/{c_take_item.rs => take_item.rs} (100%) rename pumpkin-protocol/src/client/play/{c_teleport_entity.rs => teleport_entity.rs} (100%) rename pumpkin-protocol/src/client/play/{c_transfer.rs => transfer.rs} (100%) rename pumpkin-protocol/src/client/play/{c_unload_chunk.rs => unload_chunk.rs} (100%) rename pumpkin-protocol/src/client/play/{c_update_entity_pos.rs => update_entity_pos.rs} (100%) rename pumpkin-protocol/src/client/play/{c_update_entity_pos_rot.rs => update_entity_pos_rot.rs} (100%) rename pumpkin-protocol/src/client/play/{c_update_entity_rot.rs => update_entity_rot.rs} (100%) rename pumpkin-protocol/src/client/play/{c_update_objectives.rs => update_objectives.rs} (100%) rename pumpkin-protocol/src/client/play/{c_update_score.rs => update_score.rs} (100%) rename pumpkin-protocol/src/client/play/{c_worldevent.rs => worldevent.rs} (100%) rename pumpkin-protocol/src/client/status/{c_ping_response.rs => ping_response.rs} (100%) rename pumpkin-protocol/src/client/status/{c_status_response.rs => status_response.rs} (100%) rename pumpkin-protocol/src/server/config/{s_acknowledge_finish_config.rs => acknowledge_finish_config.rs} (100%) rename pumpkin-protocol/src/server/config/{s_client_information.rs => client_information.rs} (100%) rename pumpkin-protocol/src/server/config/{s_cookie_response.rs => cookie_response.rs} (100%) rename pumpkin-protocol/src/server/config/{s_known_packs.rs => known_packs.rs} (100%) rename pumpkin-protocol/src/server/config/{s_plugin_message.rs => plugin_message.rs} (100%) rename pumpkin-protocol/src/server/login/{s_cookie_response.rs => cookie_response.rs} (100%) rename pumpkin-protocol/src/server/login/{s_encryption_response.rs => encryption_response.rs} (100%) rename pumpkin-protocol/src/server/login/{s_login_response.rs => login_response.rs} (100%) rename pumpkin-protocol/src/server/login/{s_login_start.rs => login_start.rs} (100%) rename pumpkin-protocol/src/server/login/{s_plugin_response.rs => plugin_response.rs} (100%) rename pumpkin-protocol/src/server/play/{s_chat_command.rs => chat_command.rs} (100%) rename pumpkin-protocol/src/server/play/{s_chat_message.rs => chat_message.rs} (100%) rename pumpkin-protocol/src/server/play/{s_click_container.rs => click_container.rs} (100%) rename pumpkin-protocol/src/server/play/{s_client_command.rs => client_command.rs} (100%) rename pumpkin-protocol/src/server/play/{s_client_information.rs => client_information.rs} (100%) rename pumpkin-protocol/src/server/play/{s_client_tick_end.rs => client_tick_end.rs} (100%) rename pumpkin-protocol/src/server/play/{s_close_container.rs => close_container.rs} (100%) rename pumpkin-protocol/src/server/play/{s_command_suggestion.rs => command_suggestion.rs} (100%) rename pumpkin-protocol/src/server/play/{s_confirm_teleport.rs => confirm_teleport.rs} (100%) rename pumpkin-protocol/src/server/play/{s_cookie_response.rs => cookie_response.rs} (100%) rename pumpkin-protocol/src/server/play/{s_interact.rs => interact.rs} (100%) rename pumpkin-protocol/src/server/play/{s_keep_alive.rs => keep_alive.rs} (100%) rename pumpkin-protocol/src/server/play/{s_pick_item.rs => pick_item.rs} (100%) rename pumpkin-protocol/src/server/play/{s_ping_request.rs => ping_request.rs} (100%) rename pumpkin-protocol/src/server/play/{s_player_abilities.rs => player_abilities.rs} (100%) rename pumpkin-protocol/src/server/play/{s_player_action.rs => player_action.rs} (100%) rename pumpkin-protocol/src/server/play/{s_player_command.rs => player_command.rs} (100%) rename pumpkin-protocol/src/server/play/{s_player_ground.rs => player_ground.rs} (100%) rename pumpkin-protocol/src/server/play/{s_player_input.rs => player_input.rs} (100%) rename pumpkin-protocol/src/server/play/{s_player_loaded.rs => player_loaded.rs} (100%) rename pumpkin-protocol/src/server/play/{s_player_position.rs => player_position.rs} (100%) rename pumpkin-protocol/src/server/play/{s_player_position_rotation.rs => player_position_rotation.rs} (100%) rename pumpkin-protocol/src/server/play/{s_player_rotation.rs => player_rotation.rs} (100%) rename pumpkin-protocol/src/server/play/{s_set_creative_slot.rs => set_creative_slot.rs} (100%) rename pumpkin-protocol/src/server/play/{s_set_held_item.rs => set_held_item.rs} (100%) rename pumpkin-protocol/src/server/play/{s_swing_arm.rs => swing_arm.rs} (100%) rename pumpkin-protocol/src/server/play/{s_use_item.rs => use_item.rs} (100%) rename pumpkin-protocol/src/server/play/{s_use_item_on.rs => use_item_on.rs} (100%) rename pumpkin-protocol/src/server/status/{s_ping_request.rs => ping_request.rs} (100%) rename pumpkin-protocol/src/server/status/{s_status_request.rs => status_request.rs} (100%) rename pumpkin-world/src/block/{block_registry.rs => registry.rs} (100%) rename pumpkin-world/src/block/{block_state.rs => state.rs} (95%) rename pumpkin-world/src/item/{item_categories.rs => categories.rs} (100%) rename pumpkin-world/src/item/{item_registry.rs => registry.rs} (100%) rename pumpkin/src/block/{block_manager.rs => registry.rs} (95%) rename pumpkin/src/command/{client_cmd_suggestions.rs => client_suggestions.rs} (100%) rename pumpkin/src/command/{tree_builder.rs => tree/builder.rs} (96%) rename pumpkin/src/command/{tree_format.rs => tree/format.rs} (100%) rename pumpkin/src/command/{tree.rs => tree/mod.rs} (97%) create mode 100644 pumpkin/src/entity/projectile/mod.rs diff --git a/pumpkin-inventory/src/crafting.rs b/pumpkin-inventory/src/crafting.rs index 643ffbd36..640427ddf 100644 --- a/pumpkin-inventory/src/crafting.rs +++ b/pumpkin-inventory/src/crafting.rs @@ -1,7 +1,7 @@ use pumpkin_registry::{ flatten_3x3, get_tag_values, IngredientSlot, IngredientType, RecipeResult, TagCategory, RECIPES, }; -use pumpkin_world::item::item_registry::get_item; +use pumpkin_world::item::registry::get_item; use pumpkin_world::item::ItemStack; use rayon::prelude::*; diff --git a/pumpkin-inventory/src/open_container.rs b/pumpkin-inventory/src/open_container.rs index bc6b0f0fc..a64fb76d3 100644 --- a/pumpkin-inventory/src/open_container.rs +++ b/pumpkin-inventory/src/open_container.rs @@ -2,7 +2,7 @@ use crate::crafting::check_if_matches_crafting; use crate::Container; use pumpkin_data::screen::WindowType; use pumpkin_util::math::position::BlockPos; -use pumpkin_world::block::block_registry::Block; +use pumpkin_world::block::registry::Block; use pumpkin_world::item::ItemStack; use std::sync::Arc; use tokio::sync::Mutex; diff --git a/pumpkin-macros/src/lib.rs b/pumpkin-macros/src/lib.rs index 89c85ac6d..3df7e9637 100644 --- a/pumpkin-macros/src/lib.rs +++ b/pumpkin-macros/src/lib.rs @@ -78,7 +78,7 @@ pub fn client_packet(input: TokenStream, item: TokenStream) -> TokenStream { let gen = quote! { #item - impl #impl_generics crate::bytebuf::packet_id::Packet for #name #ty_generics { + impl #impl_generics crate::bytebuf::packet::Packet for #name #ty_generics { const PACKET_ID: i32 = #input; } }; @@ -97,7 +97,7 @@ pub fn server_packet(input: TokenStream, item: TokenStream) -> TokenStream { let gen = quote! { #item - impl #impl_generics crate::bytebuf::packet_id::Packet for #name #ty_generics { + impl #impl_generics crate::bytebuf::packet::Packet for #name #ty_generics { const PACKET_ID: i32 = #input; } }; @@ -131,6 +131,32 @@ pub fn pumpkin_block(input: TokenStream, item: TokenStream) -> TokenStream { gen.into() } +#[proc_macro_attribute] +pub fn pumpkin_item(input: TokenStream, item: TokenStream) -> TokenStream { + let ast: syn::DeriveInput = syn::parse(item.clone()).unwrap(); + let name = &ast.ident; + let (impl_generics, ty_generics, _) = ast.generics.split_for_impl(); + + let input_string = input.to_string(); + let packet_name = input_string.trim_matches('"'); + let packet_name_split: Vec<&str> = packet_name.split(":").collect(); + + let namespace = packet_name_split[0]; + let id = packet_name_split[1]; + + let item: proc_macro2::TokenStream = item.into(); + + let gen = quote! { + #item + impl #impl_generics crate::block::pumpkin_block::BlockMetadata for #name #ty_generics { + const NAMESPACE: &'static str = #namespace; + const ID: &'static str = #id; + } + }; + + gen.into() +} + mod block_state; #[proc_macro] pub fn block_state(item: TokenStream) -> TokenStream { diff --git a/pumpkin-protocol/src/bytebuf/mod.rs b/pumpkin-protocol/src/bytebuf/mod.rs index 1993e1541..5b7944ad4 100644 --- a/pumpkin-protocol/src/bytebuf/mod.rs +++ b/pumpkin-protocol/src/bytebuf/mod.rs @@ -11,7 +11,7 @@ use bytes::{Buf, BufMut}; mod deserializer; use thiserror::Error; -pub mod packet_id; +pub mod packet; mod serializer; use std::mem::size_of; diff --git a/pumpkin-protocol/src/bytebuf/packet_id.rs b/pumpkin-protocol/src/bytebuf/packet.rs similarity index 100% rename from pumpkin-protocol/src/bytebuf/packet_id.rs rename to pumpkin-protocol/src/bytebuf/packet.rs diff --git a/pumpkin-protocol/src/client/config/c_add_resource_pack.rs b/pumpkin-protocol/src/client/config/add_resource_pack.rs similarity index 100% rename from pumpkin-protocol/src/client/config/c_add_resource_pack.rs rename to pumpkin-protocol/src/client/config/add_resource_pack.rs diff --git a/pumpkin-protocol/src/client/config/c_config_disconnect.rs b/pumpkin-protocol/src/client/config/config_disconnect.rs similarity index 100% rename from pumpkin-protocol/src/client/config/c_config_disconnect.rs rename to pumpkin-protocol/src/client/config/config_disconnect.rs diff --git a/pumpkin-protocol/src/client/config/c_cookie_request.rs b/pumpkin-protocol/src/client/config/cookie_request.rs similarity index 100% rename from pumpkin-protocol/src/client/config/c_cookie_request.rs rename to pumpkin-protocol/src/client/config/cookie_request.rs diff --git a/pumpkin-protocol/src/client/config/c_finish_config.rs b/pumpkin-protocol/src/client/config/finish_config.rs similarity index 100% rename from pumpkin-protocol/src/client/config/c_finish_config.rs rename to pumpkin-protocol/src/client/config/finish_config.rs diff --git a/pumpkin-protocol/src/client/config/c_known_packs.rs b/pumpkin-protocol/src/client/config/known_packs.rs similarity index 100% rename from pumpkin-protocol/src/client/config/c_known_packs.rs rename to pumpkin-protocol/src/client/config/known_packs.rs diff --git a/pumpkin-protocol/src/client/config/mod.rs b/pumpkin-protocol/src/client/config/mod.rs index 2cb76dd26..73478b721 100644 --- a/pumpkin-protocol/src/client/config/mod.rs +++ b/pumpkin-protocol/src/client/config/mod.rs @@ -1,21 +1,21 @@ -mod c_add_resource_pack; -mod c_config_disconnect; -mod c_cookie_request; -mod c_finish_config; -mod c_known_packs; -mod c_plugin_message; -mod c_registry_data; -mod c_server_links; -mod c_store_cookie; -mod c_transfer; +mod add_resource_pack; +mod config_disconnect; +mod cookie_request; +mod finish_config; +mod known_packs; +mod plugin_message; +mod registry_data; +mod server_links; +mod store_cookie; +mod transfer; -pub use c_add_resource_pack::*; -pub use c_config_disconnect::*; -pub use c_cookie_request::*; -pub use c_finish_config::*; -pub use c_known_packs::*; -pub use c_plugin_message::*; -pub use c_registry_data::*; -pub use c_server_links::*; -pub use c_store_cookie::*; -pub use c_transfer::*; +pub use add_resource_pack::*; +pub use config_disconnect::*; +pub use cookie_request::*; +pub use finish_config::*; +pub use known_packs::*; +pub use plugin_message::*; +pub use registry_data::*; +pub use server_links::*; +pub use store_cookie::*; +pub use transfer::*; diff --git a/pumpkin-protocol/src/client/config/c_plugin_message.rs b/pumpkin-protocol/src/client/config/plugin_message.rs similarity index 100% rename from pumpkin-protocol/src/client/config/c_plugin_message.rs rename to pumpkin-protocol/src/client/config/plugin_message.rs diff --git a/pumpkin-protocol/src/client/config/c_registry_data.rs b/pumpkin-protocol/src/client/config/registry_data.rs similarity index 100% rename from pumpkin-protocol/src/client/config/c_registry_data.rs rename to pumpkin-protocol/src/client/config/registry_data.rs diff --git a/pumpkin-protocol/src/client/config/c_server_links.rs b/pumpkin-protocol/src/client/config/server_links.rs similarity index 100% rename from pumpkin-protocol/src/client/config/c_server_links.rs rename to pumpkin-protocol/src/client/config/server_links.rs diff --git a/pumpkin-protocol/src/client/config/c_store_cookie.rs b/pumpkin-protocol/src/client/config/store_cookie.rs similarity index 100% rename from pumpkin-protocol/src/client/config/c_store_cookie.rs rename to pumpkin-protocol/src/client/config/store_cookie.rs diff --git a/pumpkin-protocol/src/client/config/c_transfer.rs b/pumpkin-protocol/src/client/config/transfer.rs similarity index 100% rename from pumpkin-protocol/src/client/config/c_transfer.rs rename to pumpkin-protocol/src/client/config/transfer.rs diff --git a/pumpkin-protocol/src/client/login/c_cookie_request.rs b/pumpkin-protocol/src/client/login/cookie_request.rs similarity index 100% rename from pumpkin-protocol/src/client/login/c_cookie_request.rs rename to pumpkin-protocol/src/client/login/cookie_request.rs diff --git a/pumpkin-protocol/src/client/login/c_encryption_request.rs b/pumpkin-protocol/src/client/login/encryption_request.rs similarity index 100% rename from pumpkin-protocol/src/client/login/c_encryption_request.rs rename to pumpkin-protocol/src/client/login/encryption_request.rs diff --git a/pumpkin-protocol/src/client/login/c_login_disconnect.rs b/pumpkin-protocol/src/client/login/login_disconnect.rs similarity index 100% rename from pumpkin-protocol/src/client/login/c_login_disconnect.rs rename to pumpkin-protocol/src/client/login/login_disconnect.rs diff --git a/pumpkin-protocol/src/client/login/c_login_success.rs b/pumpkin-protocol/src/client/login/login_success.rs similarity index 100% rename from pumpkin-protocol/src/client/login/c_login_success.rs rename to pumpkin-protocol/src/client/login/login_success.rs diff --git a/pumpkin-protocol/src/client/login/mod.rs b/pumpkin-protocol/src/client/login/mod.rs index 65a1466d4..dbc1ac02e 100644 --- a/pumpkin-protocol/src/client/login/mod.rs +++ b/pumpkin-protocol/src/client/login/mod.rs @@ -1,13 +1,13 @@ -mod c_cookie_request; -mod c_encryption_request; -mod c_login_disconnect; -mod c_login_success; -mod c_plugin_request; -mod c_set_compression; +mod cookie_request; +mod encryption_request; +mod login_disconnect; +mod login_success; +mod plugin_request; +mod set_compression; -pub use c_cookie_request::*; -pub use c_encryption_request::*; -pub use c_login_disconnect::*; -pub use c_login_success::*; -pub use c_plugin_request::*; -pub use c_set_compression::*; +pub use cookie_request::*; +pub use encryption_request::*; +pub use login_disconnect::*; +pub use login_success::*; +pub use plugin_request::*; +pub use set_compression::*; diff --git a/pumpkin-protocol/src/client/login/c_plugin_request.rs b/pumpkin-protocol/src/client/login/plugin_request.rs similarity index 100% rename from pumpkin-protocol/src/client/login/c_plugin_request.rs rename to pumpkin-protocol/src/client/login/plugin_request.rs diff --git a/pumpkin-protocol/src/client/login/c_set_compression.rs b/pumpkin-protocol/src/client/login/set_compression.rs similarity index 100% rename from pumpkin-protocol/src/client/login/c_set_compression.rs rename to pumpkin-protocol/src/client/login/set_compression.rs diff --git a/pumpkin-protocol/src/client/play/c_acknowledge_block.rs b/pumpkin-protocol/src/client/play/acknowledge_block.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_acknowledge_block.rs rename to pumpkin-protocol/src/client/play/acknowledge_block.rs diff --git a/pumpkin-protocol/src/client/play/c_actionbar.rs b/pumpkin-protocol/src/client/play/actionbar.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_actionbar.rs rename to pumpkin-protocol/src/client/play/actionbar.rs diff --git a/pumpkin-protocol/src/client/play/c_block_destroy_stage.rs b/pumpkin-protocol/src/client/play/block_destroy_stage.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_block_destroy_stage.rs rename to pumpkin-protocol/src/client/play/block_destroy_stage.rs diff --git a/pumpkin-protocol/src/client/play/c_block_event.rs b/pumpkin-protocol/src/client/play/block_event.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_block_event.rs rename to pumpkin-protocol/src/client/play/block_event.rs diff --git a/pumpkin-protocol/src/client/play/c_block_update.rs b/pumpkin-protocol/src/client/play/block_update.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_block_update.rs rename to pumpkin-protocol/src/client/play/block_update.rs diff --git a/pumpkin-protocol/src/client/play/c_boss_event.rs b/pumpkin-protocol/src/client/play/boss_event.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_boss_event.rs rename to pumpkin-protocol/src/client/play/boss_event.rs diff --git a/pumpkin-protocol/src/client/play/c_center_chunk.rs b/pumpkin-protocol/src/client/play/center_chunk.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_center_chunk.rs rename to pumpkin-protocol/src/client/play/center_chunk.rs diff --git a/pumpkin-protocol/src/client/play/c_change_difficulty.rs b/pumpkin-protocol/src/client/play/change_difficulty.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_change_difficulty.rs rename to pumpkin-protocol/src/client/play/change_difficulty.rs diff --git a/pumpkin-protocol/src/client/play/c_chunk_data.rs b/pumpkin-protocol/src/client/play/chunk_data.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_chunk_data.rs rename to pumpkin-protocol/src/client/play/chunk_data.rs diff --git a/pumpkin-protocol/src/client/play/c_clear_title.rs b/pumpkin-protocol/src/client/play/clear_title.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_clear_title.rs rename to pumpkin-protocol/src/client/play/clear_title.rs diff --git a/pumpkin-protocol/src/client/play/c_close_container.rs b/pumpkin-protocol/src/client/play/close_container.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_close_container.rs rename to pumpkin-protocol/src/client/play/close_container.rs diff --git a/pumpkin-protocol/src/client/play/c_combat_death.rs b/pumpkin-protocol/src/client/play/combat_death.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_combat_death.rs rename to pumpkin-protocol/src/client/play/combat_death.rs diff --git a/pumpkin-protocol/src/client/play/c_command_suggestions.rs b/pumpkin-protocol/src/client/play/command_suggestions.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_command_suggestions.rs rename to pumpkin-protocol/src/client/play/command_suggestions.rs diff --git a/pumpkin-protocol/src/client/play/c_commands.rs b/pumpkin-protocol/src/client/play/commands.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_commands.rs rename to pumpkin-protocol/src/client/play/commands.rs diff --git a/pumpkin-protocol/src/client/play/c_cookie_request.rs b/pumpkin-protocol/src/client/play/cookie_request.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_cookie_request.rs rename to pumpkin-protocol/src/client/play/cookie_request.rs diff --git a/pumpkin-protocol/src/client/play/c_damage_event.rs b/pumpkin-protocol/src/client/play/damage_event.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_damage_event.rs rename to pumpkin-protocol/src/client/play/damage_event.rs diff --git a/pumpkin-protocol/src/client/play/c_play_disconnect.rs b/pumpkin-protocol/src/client/play/disconnect.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_play_disconnect.rs rename to pumpkin-protocol/src/client/play/disconnect.rs diff --git a/pumpkin-protocol/src/client/play/c_disguised_chat_message.rs b/pumpkin-protocol/src/client/play/disguised_chat_message.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_disguised_chat_message.rs rename to pumpkin-protocol/src/client/play/disguised_chat_message.rs diff --git a/pumpkin-protocol/src/client/play/c_display_objective.rs b/pumpkin-protocol/src/client/play/display_objective.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_display_objective.rs rename to pumpkin-protocol/src/client/play/display_objective.rs diff --git a/pumpkin-protocol/src/client/play/c_entity_animation.rs b/pumpkin-protocol/src/client/play/entity_animation.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_entity_animation.rs rename to pumpkin-protocol/src/client/play/entity_animation.rs diff --git a/pumpkin-protocol/src/client/play/c_entity_metadata.rs b/pumpkin-protocol/src/client/play/entity_metadata.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_entity_metadata.rs rename to pumpkin-protocol/src/client/play/entity_metadata.rs diff --git a/pumpkin-protocol/src/client/play/c_entity_sound_effect.rs b/pumpkin-protocol/src/client/play/entity_sound_effect.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_entity_sound_effect.rs rename to pumpkin-protocol/src/client/play/entity_sound_effect.rs diff --git a/pumpkin-protocol/src/client/play/c_entity_status.rs b/pumpkin-protocol/src/client/play/entity_status.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_entity_status.rs rename to pumpkin-protocol/src/client/play/entity_status.rs diff --git a/pumpkin-protocol/src/client/play/c_entity_velocity.rs b/pumpkin-protocol/src/client/play/entity_velocity.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_entity_velocity.rs rename to pumpkin-protocol/src/client/play/entity_velocity.rs diff --git a/pumpkin-protocol/src/client/play/c_game_event.rs b/pumpkin-protocol/src/client/play/game_event.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_game_event.rs rename to pumpkin-protocol/src/client/play/game_event.rs diff --git a/pumpkin-protocol/src/client/play/c_head_rot.rs b/pumpkin-protocol/src/client/play/head_rot.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_head_rot.rs rename to pumpkin-protocol/src/client/play/head_rot.rs diff --git a/pumpkin-protocol/src/client/play/c_hurt_animation.rs b/pumpkin-protocol/src/client/play/hurt_animation.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_hurt_animation.rs rename to pumpkin-protocol/src/client/play/hurt_animation.rs diff --git a/pumpkin-protocol/src/client/play/c_initialize_world_border.rs b/pumpkin-protocol/src/client/play/initialize_world_border.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_initialize_world_border.rs rename to pumpkin-protocol/src/client/play/initialize_world_border.rs diff --git a/pumpkin-protocol/src/client/play/c_keep_alive.rs b/pumpkin-protocol/src/client/play/keep_alive.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_keep_alive.rs rename to pumpkin-protocol/src/client/play/keep_alive.rs diff --git a/pumpkin-protocol/src/client/play/c_level_event.rs b/pumpkin-protocol/src/client/play/level_event.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_level_event.rs rename to pumpkin-protocol/src/client/play/level_event.rs diff --git a/pumpkin-protocol/src/client/play/c_login.rs b/pumpkin-protocol/src/client/play/login.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_login.rs rename to pumpkin-protocol/src/client/play/login.rs diff --git a/pumpkin-protocol/src/client/play/mod.rs b/pumpkin-protocol/src/client/play/mod.rs index ef2121e77..f92cbebaf 100644 --- a/pumpkin-protocol/src/client/play/mod.rs +++ b/pumpkin-protocol/src/client/play/mod.rs @@ -1,147 +1,147 @@ +mod acknowledge_block; +mod actionbar; +mod block_destroy_stage; +mod block_event; +mod block_update; +mod boss_event; mod bossevent_action; -mod c_acknowledge_block; -mod c_actionbar; -mod c_block_destroy_stage; -mod c_block_event; -mod c_block_update; -mod c_boss_event; -mod c_center_chunk; -mod c_change_difficulty; -mod c_chunk_data; -mod c_clear_title; -mod c_close_container; -mod c_combat_death; -mod c_command_suggestions; -mod c_commands; -mod c_cookie_request; -mod c_damage_event; -mod c_disguised_chat_message; -mod c_display_objective; -mod c_entity_animation; -mod c_entity_metadata; -mod c_entity_sound_effect; -mod c_entity_status; -mod c_entity_velocity; -mod c_game_event; -mod c_head_rot; -mod c_hurt_animation; -mod c_initialize_world_border; -mod c_keep_alive; -mod c_level_event; -mod c_login; -mod c_open_screen; -mod c_particle; -mod c_ping_response; -mod c_play_disconnect; -mod c_player_abilities; -mod c_player_chat_message; -mod c_player_info_update; -mod c_player_position; -mod c_player_remove; -mod c_remove_entities; -mod c_reset_score; -mod c_respawn; -mod c_server_links; -mod c_set_border_center; -mod c_set_border_lerp_size; -mod c_set_border_size; -mod c_set_border_warning_delay; -mod c_set_border_warning_distance; -mod c_set_container_content; -mod c_set_container_property; -mod c_set_container_slot; -mod c_set_experience; -mod c_set_health; -mod c_set_held_item; -mod c_set_time; -mod c_set_title; -mod c_sound_effect; -mod c_spawn_entity; -mod c_store_cookie; -mod c_subtitle; -mod c_system_chat_message; -mod c_take_item; -mod c_teleport_entity; -mod c_transfer; -mod c_unload_chunk; -mod c_update_entity_pos; -mod c_update_entity_pos_rot; -mod c_update_entity_rot; -mod c_update_objectives; -mod c_update_score; -mod c_worldevent; +mod center_chunk; +mod change_difficulty; +mod chunk_data; +mod clear_title; +mod close_container; +mod combat_death; +mod command_suggestions; +mod commands; +mod cookie_request; +mod damage_event; +mod disconnect; +mod disguised_chat_message; +mod display_objective; +mod entity_animation; +mod entity_metadata; +mod entity_sound_effect; +mod entity_status; +mod entity_velocity; +mod game_event; +mod head_rot; +mod hurt_animation; +mod initialize_world_border; +mod keep_alive; +mod level_event; +mod login; +mod open_screen; +mod particle; +mod ping_response; +mod player_abilities; mod player_action; +mod player_chat_message; +mod player_info_update; +mod player_position; +mod player_remove; +mod remove_entities; +mod reset_score; +mod respawn; +mod server_links; +mod set_border_center; +mod set_border_lerp_size; +mod set_border_size; +mod set_border_warning_delay; +mod set_border_warning_distance; +mod set_container_content; +mod set_container_property; +mod set_container_slot; +mod set_experience; +mod set_health; +mod set_held_item; +mod set_time; +mod set_title; +mod sound_effect; +mod spawn_entity; +mod store_cookie; +mod subtitle; +mod system_chat_message; +mod take_item; +mod teleport_entity; +mod transfer; +mod unload_chunk; +mod update_entity_pos; +mod update_entity_pos_rot; +mod update_entity_rot; +mod update_objectives; +mod update_score; +mod worldevent; +pub use acknowledge_block::*; +pub use actionbar::*; +pub use block_destroy_stage::*; +pub use block_event::*; +pub use block_update::*; +pub use boss_event::*; pub use bossevent_action::*; -pub use c_acknowledge_block::*; -pub use c_actionbar::*; -pub use c_block_destroy_stage::*; -pub use c_block_event::*; -pub use c_block_update::*; -pub use c_boss_event::*; -pub use c_center_chunk::*; -pub use c_change_difficulty::*; -pub use c_chunk_data::*; -pub use c_clear_title::*; -pub use c_close_container::*; -pub use c_combat_death::*; -pub use c_command_suggestions::*; -pub use c_commands::*; -pub use c_cookie_request::*; -pub use c_damage_event::*; -pub use c_disguised_chat_message::*; -pub use c_display_objective::*; -pub use c_entity_animation::*; -pub use c_entity_metadata::*; -pub use c_entity_sound_effect::*; -pub use c_entity_status::*; -pub use c_entity_velocity::*; -pub use c_game_event::*; -pub use c_head_rot::*; -pub use c_hurt_animation::*; -pub use c_initialize_world_border::*; -pub use c_keep_alive::*; -pub use c_level_event::*; -pub use c_login::*; -pub use c_open_screen::*; -pub use c_particle::*; -pub use c_ping_response::*; -pub use c_play_disconnect::*; -pub use c_player_abilities::*; -pub use c_player_chat_message::*; -pub use c_player_info_update::*; -pub use c_player_position::*; -pub use c_player_remove::*; -pub use c_remove_entities::*; -pub use c_reset_score::*; -pub use c_respawn::*; -pub use c_server_links::*; -pub use c_set_border_center::*; -pub use c_set_border_lerp_size::*; -pub use c_set_border_size::*; -pub use c_set_border_warning_delay::*; -pub use c_set_border_warning_distance::*; -pub use c_set_container_content::*; -pub use c_set_container_property::*; -pub use c_set_container_slot::*; -pub use c_set_experience::*; -pub use c_set_health::*; -pub use c_set_held_item::*; -pub use c_set_time::*; -pub use c_set_title::*; -pub use c_sound_effect::*; -pub use c_spawn_entity::*; -pub use c_store_cookie::*; -pub use c_subtitle::*; -pub use c_system_chat_message::*; -pub use c_take_item::*; -pub use c_teleport_entity::*; -pub use c_transfer::*; -pub use c_unload_chunk::*; -pub use c_update_entity_pos::*; -pub use c_update_entity_pos_rot::*; -pub use c_update_entity_rot::*; -pub use c_update_objectives::*; -pub use c_update_score::*; -pub use c_worldevent::*; +pub use center_chunk::*; +pub use change_difficulty::*; +pub use chunk_data::*; +pub use clear_title::*; +pub use close_container::*; +pub use combat_death::*; +pub use command_suggestions::*; +pub use commands::*; +pub use cookie_request::*; +pub use damage_event::*; +pub use disconnect::*; +pub use disguised_chat_message::*; +pub use display_objective::*; +pub use entity_animation::*; +pub use entity_metadata::*; +pub use entity_sound_effect::*; +pub use entity_status::*; +pub use entity_velocity::*; +pub use game_event::*; +pub use head_rot::*; +pub use hurt_animation::*; +pub use initialize_world_border::*; +pub use keep_alive::*; +pub use level_event::*; +pub use login::*; +pub use open_screen::*; +pub use particle::*; +pub use ping_response::*; +pub use player_abilities::*; pub use player_action::*; +pub use player_chat_message::*; +pub use player_info_update::*; +pub use player_position::*; +pub use player_remove::*; +pub use remove_entities::*; +pub use reset_score::*; +pub use respawn::*; +pub use server_links::*; +pub use set_border_center::*; +pub use set_border_lerp_size::*; +pub use set_border_size::*; +pub use set_border_warning_delay::*; +pub use set_border_warning_distance::*; +pub use set_container_content::*; +pub use set_container_property::*; +pub use set_container_slot::*; +pub use set_experience::*; +pub use set_health::*; +pub use set_held_item::*; +pub use set_time::*; +pub use set_title::*; +pub use sound_effect::*; +pub use spawn_entity::*; +pub use store_cookie::*; +pub use subtitle::*; +pub use system_chat_message::*; +pub use take_item::*; +pub use teleport_entity::*; +pub use transfer::*; +pub use unload_chunk::*; +pub use update_entity_pos::*; +pub use update_entity_pos_rot::*; +pub use update_entity_rot::*; +pub use update_objectives::*; +pub use update_score::*; +pub use worldevent::*; diff --git a/pumpkin-protocol/src/client/play/c_open_screen.rs b/pumpkin-protocol/src/client/play/open_screen.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_open_screen.rs rename to pumpkin-protocol/src/client/play/open_screen.rs diff --git a/pumpkin-protocol/src/client/play/c_particle.rs b/pumpkin-protocol/src/client/play/particle.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_particle.rs rename to pumpkin-protocol/src/client/play/particle.rs diff --git a/pumpkin-protocol/src/client/play/c_ping_response.rs b/pumpkin-protocol/src/client/play/ping_response.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_ping_response.rs rename to pumpkin-protocol/src/client/play/ping_response.rs diff --git a/pumpkin-protocol/src/client/play/c_player_abilities.rs b/pumpkin-protocol/src/client/play/player_abilities.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_player_abilities.rs rename to pumpkin-protocol/src/client/play/player_abilities.rs diff --git a/pumpkin-protocol/src/client/play/c_player_chat_message.rs b/pumpkin-protocol/src/client/play/player_chat_message.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_player_chat_message.rs rename to pumpkin-protocol/src/client/play/player_chat_message.rs diff --git a/pumpkin-protocol/src/client/play/c_player_info_update.rs b/pumpkin-protocol/src/client/play/player_info_update.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_player_info_update.rs rename to pumpkin-protocol/src/client/play/player_info_update.rs diff --git a/pumpkin-protocol/src/client/play/c_player_position.rs b/pumpkin-protocol/src/client/play/player_position.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_player_position.rs rename to pumpkin-protocol/src/client/play/player_position.rs diff --git a/pumpkin-protocol/src/client/play/c_player_remove.rs b/pumpkin-protocol/src/client/play/player_remove.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_player_remove.rs rename to pumpkin-protocol/src/client/play/player_remove.rs diff --git a/pumpkin-protocol/src/client/play/c_remove_entities.rs b/pumpkin-protocol/src/client/play/remove_entities.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_remove_entities.rs rename to pumpkin-protocol/src/client/play/remove_entities.rs diff --git a/pumpkin-protocol/src/client/play/c_reset_score.rs b/pumpkin-protocol/src/client/play/reset_score.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_reset_score.rs rename to pumpkin-protocol/src/client/play/reset_score.rs diff --git a/pumpkin-protocol/src/client/play/c_respawn.rs b/pumpkin-protocol/src/client/play/respawn.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_respawn.rs rename to pumpkin-protocol/src/client/play/respawn.rs diff --git a/pumpkin-protocol/src/client/play/c_server_links.rs b/pumpkin-protocol/src/client/play/server_links.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_server_links.rs rename to pumpkin-protocol/src/client/play/server_links.rs diff --git a/pumpkin-protocol/src/client/play/c_set_border_center.rs b/pumpkin-protocol/src/client/play/set_border_center.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_set_border_center.rs rename to pumpkin-protocol/src/client/play/set_border_center.rs diff --git a/pumpkin-protocol/src/client/play/c_set_border_lerp_size.rs b/pumpkin-protocol/src/client/play/set_border_lerp_size.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_set_border_lerp_size.rs rename to pumpkin-protocol/src/client/play/set_border_lerp_size.rs diff --git a/pumpkin-protocol/src/client/play/c_set_border_size.rs b/pumpkin-protocol/src/client/play/set_border_size.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_set_border_size.rs rename to pumpkin-protocol/src/client/play/set_border_size.rs diff --git a/pumpkin-protocol/src/client/play/c_set_border_warning_delay.rs b/pumpkin-protocol/src/client/play/set_border_warning_delay.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_set_border_warning_delay.rs rename to pumpkin-protocol/src/client/play/set_border_warning_delay.rs diff --git a/pumpkin-protocol/src/client/play/c_set_border_warning_distance.rs b/pumpkin-protocol/src/client/play/set_border_warning_distance.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_set_border_warning_distance.rs rename to pumpkin-protocol/src/client/play/set_border_warning_distance.rs diff --git a/pumpkin-protocol/src/client/play/c_set_container_content.rs b/pumpkin-protocol/src/client/play/set_container_content.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_set_container_content.rs rename to pumpkin-protocol/src/client/play/set_container_content.rs diff --git a/pumpkin-protocol/src/client/play/c_set_container_property.rs b/pumpkin-protocol/src/client/play/set_container_property.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_set_container_property.rs rename to pumpkin-protocol/src/client/play/set_container_property.rs diff --git a/pumpkin-protocol/src/client/play/c_set_container_slot.rs b/pumpkin-protocol/src/client/play/set_container_slot.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_set_container_slot.rs rename to pumpkin-protocol/src/client/play/set_container_slot.rs diff --git a/pumpkin-protocol/src/client/play/c_set_experience.rs b/pumpkin-protocol/src/client/play/set_experience.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_set_experience.rs rename to pumpkin-protocol/src/client/play/set_experience.rs diff --git a/pumpkin-protocol/src/client/play/c_set_health.rs b/pumpkin-protocol/src/client/play/set_health.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_set_health.rs rename to pumpkin-protocol/src/client/play/set_health.rs diff --git a/pumpkin-protocol/src/client/play/c_set_held_item.rs b/pumpkin-protocol/src/client/play/set_held_item.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_set_held_item.rs rename to pumpkin-protocol/src/client/play/set_held_item.rs diff --git a/pumpkin-protocol/src/client/play/c_set_time.rs b/pumpkin-protocol/src/client/play/set_time.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_set_time.rs rename to pumpkin-protocol/src/client/play/set_time.rs diff --git a/pumpkin-protocol/src/client/play/c_set_title.rs b/pumpkin-protocol/src/client/play/set_title.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_set_title.rs rename to pumpkin-protocol/src/client/play/set_title.rs diff --git a/pumpkin-protocol/src/client/play/c_sound_effect.rs b/pumpkin-protocol/src/client/play/sound_effect.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_sound_effect.rs rename to pumpkin-protocol/src/client/play/sound_effect.rs diff --git a/pumpkin-protocol/src/client/play/c_spawn_entity.rs b/pumpkin-protocol/src/client/play/spawn_entity.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_spawn_entity.rs rename to pumpkin-protocol/src/client/play/spawn_entity.rs diff --git a/pumpkin-protocol/src/client/play/c_store_cookie.rs b/pumpkin-protocol/src/client/play/store_cookie.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_store_cookie.rs rename to pumpkin-protocol/src/client/play/store_cookie.rs diff --git a/pumpkin-protocol/src/client/play/c_subtitle.rs b/pumpkin-protocol/src/client/play/subtitle.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_subtitle.rs rename to pumpkin-protocol/src/client/play/subtitle.rs diff --git a/pumpkin-protocol/src/client/play/c_system_chat_message.rs b/pumpkin-protocol/src/client/play/system_chat_message.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_system_chat_message.rs rename to pumpkin-protocol/src/client/play/system_chat_message.rs diff --git a/pumpkin-protocol/src/client/play/c_take_item.rs b/pumpkin-protocol/src/client/play/take_item.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_take_item.rs rename to pumpkin-protocol/src/client/play/take_item.rs diff --git a/pumpkin-protocol/src/client/play/c_teleport_entity.rs b/pumpkin-protocol/src/client/play/teleport_entity.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_teleport_entity.rs rename to pumpkin-protocol/src/client/play/teleport_entity.rs diff --git a/pumpkin-protocol/src/client/play/c_transfer.rs b/pumpkin-protocol/src/client/play/transfer.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_transfer.rs rename to pumpkin-protocol/src/client/play/transfer.rs diff --git a/pumpkin-protocol/src/client/play/c_unload_chunk.rs b/pumpkin-protocol/src/client/play/unload_chunk.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_unload_chunk.rs rename to pumpkin-protocol/src/client/play/unload_chunk.rs diff --git a/pumpkin-protocol/src/client/play/c_update_entity_pos.rs b/pumpkin-protocol/src/client/play/update_entity_pos.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_update_entity_pos.rs rename to pumpkin-protocol/src/client/play/update_entity_pos.rs diff --git a/pumpkin-protocol/src/client/play/c_update_entity_pos_rot.rs b/pumpkin-protocol/src/client/play/update_entity_pos_rot.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_update_entity_pos_rot.rs rename to pumpkin-protocol/src/client/play/update_entity_pos_rot.rs diff --git a/pumpkin-protocol/src/client/play/c_update_entity_rot.rs b/pumpkin-protocol/src/client/play/update_entity_rot.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_update_entity_rot.rs rename to pumpkin-protocol/src/client/play/update_entity_rot.rs diff --git a/pumpkin-protocol/src/client/play/c_update_objectives.rs b/pumpkin-protocol/src/client/play/update_objectives.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_update_objectives.rs rename to pumpkin-protocol/src/client/play/update_objectives.rs diff --git a/pumpkin-protocol/src/client/play/c_update_score.rs b/pumpkin-protocol/src/client/play/update_score.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_update_score.rs rename to pumpkin-protocol/src/client/play/update_score.rs diff --git a/pumpkin-protocol/src/client/play/c_worldevent.rs b/pumpkin-protocol/src/client/play/worldevent.rs similarity index 100% rename from pumpkin-protocol/src/client/play/c_worldevent.rs rename to pumpkin-protocol/src/client/play/worldevent.rs diff --git a/pumpkin-protocol/src/client/status/mod.rs b/pumpkin-protocol/src/client/status/mod.rs index 2d96cd61b..672dc3ef1 100644 --- a/pumpkin-protocol/src/client/status/mod.rs +++ b/pumpkin-protocol/src/client/status/mod.rs @@ -1,5 +1,5 @@ -mod c_ping_response; -mod c_status_response; +mod ping_response; +mod status_response; -pub use c_ping_response::*; -pub use c_status_response::*; +pub use ping_response::*; +pub use status_response::*; diff --git a/pumpkin-protocol/src/client/status/c_ping_response.rs b/pumpkin-protocol/src/client/status/ping_response.rs similarity index 100% rename from pumpkin-protocol/src/client/status/c_ping_response.rs rename to pumpkin-protocol/src/client/status/ping_response.rs diff --git a/pumpkin-protocol/src/client/status/c_status_response.rs b/pumpkin-protocol/src/client/status/status_response.rs similarity index 100% rename from pumpkin-protocol/src/client/status/c_status_response.rs rename to pumpkin-protocol/src/client/status/status_response.rs diff --git a/pumpkin-protocol/src/lib.rs b/pumpkin-protocol/src/lib.rs index 0ae27b343..8d6711052 100644 --- a/pumpkin-protocol/src/lib.rs +++ b/pumpkin-protocol/src/lib.rs @@ -1,6 +1,6 @@ use std::num::NonZeroU16; -use bytebuf::{packet_id::Packet, ReadingError}; +use bytebuf::{packet::Packet, ReadingError}; use bytes::{Buf, BufMut, Bytes}; use codec::{identifier::Identifier, var_int::VarInt}; use pumpkin_util::text::{style::Style, TextComponent}; diff --git a/pumpkin-protocol/src/packet_encoder.rs b/pumpkin-protocol/src/packet_encoder.rs index 8e07f110d..1ea1f6818 100644 --- a/pumpkin-protocol/src/packet_encoder.rs +++ b/pumpkin-protocol/src/packet_encoder.rs @@ -216,7 +216,7 @@ pub enum PacketEncodeError { mod tests { use super::*; use crate::client::status::CStatusResponse; - use crate::{bytebuf::packet_id::Packet, codec::DecodeError}; + use crate::{bytebuf::packet::Packet, codec::DecodeError}; use aes::Aes128; use cfb8::cipher::AsyncStreamCipher; use cfb8::Decryptor as Cfb8Decryptor; diff --git a/pumpkin-protocol/src/server/config/s_acknowledge_finish_config.rs b/pumpkin-protocol/src/server/config/acknowledge_finish_config.rs similarity index 100% rename from pumpkin-protocol/src/server/config/s_acknowledge_finish_config.rs rename to pumpkin-protocol/src/server/config/acknowledge_finish_config.rs diff --git a/pumpkin-protocol/src/server/config/s_client_information.rs b/pumpkin-protocol/src/server/config/client_information.rs similarity index 100% rename from pumpkin-protocol/src/server/config/s_client_information.rs rename to pumpkin-protocol/src/server/config/client_information.rs diff --git a/pumpkin-protocol/src/server/config/s_cookie_response.rs b/pumpkin-protocol/src/server/config/cookie_response.rs similarity index 100% rename from pumpkin-protocol/src/server/config/s_cookie_response.rs rename to pumpkin-protocol/src/server/config/cookie_response.rs diff --git a/pumpkin-protocol/src/server/config/s_known_packs.rs b/pumpkin-protocol/src/server/config/known_packs.rs similarity index 100% rename from pumpkin-protocol/src/server/config/s_known_packs.rs rename to pumpkin-protocol/src/server/config/known_packs.rs diff --git a/pumpkin-protocol/src/server/config/mod.rs b/pumpkin-protocol/src/server/config/mod.rs index 8b186228a..0a8c3d6fd 100644 --- a/pumpkin-protocol/src/server/config/mod.rs +++ b/pumpkin-protocol/src/server/config/mod.rs @@ -1,11 +1,11 @@ -mod s_acknowledge_finish_config; -mod s_client_information; -mod s_cookie_response; -mod s_known_packs; -mod s_plugin_message; +mod acknowledge_finish_config; +mod client_information; +mod cookie_response; +mod known_packs; +mod plugin_message; -pub use s_acknowledge_finish_config::*; -pub use s_client_information::*; -pub use s_cookie_response::*; -pub use s_known_packs::*; -pub use s_plugin_message::*; +pub use acknowledge_finish_config::*; +pub use client_information::*; +pub use cookie_response::*; +pub use known_packs::*; +pub use plugin_message::*; diff --git a/pumpkin-protocol/src/server/config/s_plugin_message.rs b/pumpkin-protocol/src/server/config/plugin_message.rs similarity index 100% rename from pumpkin-protocol/src/server/config/s_plugin_message.rs rename to pumpkin-protocol/src/server/config/plugin_message.rs diff --git a/pumpkin-protocol/src/server/login/s_cookie_response.rs b/pumpkin-protocol/src/server/login/cookie_response.rs similarity index 100% rename from pumpkin-protocol/src/server/login/s_cookie_response.rs rename to pumpkin-protocol/src/server/login/cookie_response.rs diff --git a/pumpkin-protocol/src/server/login/s_encryption_response.rs b/pumpkin-protocol/src/server/login/encryption_response.rs similarity index 100% rename from pumpkin-protocol/src/server/login/s_encryption_response.rs rename to pumpkin-protocol/src/server/login/encryption_response.rs diff --git a/pumpkin-protocol/src/server/login/s_login_response.rs b/pumpkin-protocol/src/server/login/login_response.rs similarity index 100% rename from pumpkin-protocol/src/server/login/s_login_response.rs rename to pumpkin-protocol/src/server/login/login_response.rs diff --git a/pumpkin-protocol/src/server/login/s_login_start.rs b/pumpkin-protocol/src/server/login/login_start.rs similarity index 100% rename from pumpkin-protocol/src/server/login/s_login_start.rs rename to pumpkin-protocol/src/server/login/login_start.rs diff --git a/pumpkin-protocol/src/server/login/mod.rs b/pumpkin-protocol/src/server/login/mod.rs index c43675291..8cb210d2c 100644 --- a/pumpkin-protocol/src/server/login/mod.rs +++ b/pumpkin-protocol/src/server/login/mod.rs @@ -1,11 +1,11 @@ -mod s_cookie_response; -mod s_encryption_response; -mod s_login_response; -mod s_login_start; -mod s_plugin_response; +mod cookie_response; +mod encryption_response; +mod login_response; +mod login_start; +mod plugin_response; -pub use s_cookie_response::*; -pub use s_encryption_response::*; -pub use s_login_response::*; -pub use s_login_start::*; -pub use s_plugin_response::*; +pub use cookie_response::*; +pub use encryption_response::*; +pub use login_response::*; +pub use login_start::*; +pub use plugin_response::*; diff --git a/pumpkin-protocol/src/server/login/s_plugin_response.rs b/pumpkin-protocol/src/server/login/plugin_response.rs similarity index 100% rename from pumpkin-protocol/src/server/login/s_plugin_response.rs rename to pumpkin-protocol/src/server/login/plugin_response.rs diff --git a/pumpkin-protocol/src/server/play/s_chat_command.rs b/pumpkin-protocol/src/server/play/chat_command.rs similarity index 100% rename from pumpkin-protocol/src/server/play/s_chat_command.rs rename to pumpkin-protocol/src/server/play/chat_command.rs diff --git a/pumpkin-protocol/src/server/play/s_chat_message.rs b/pumpkin-protocol/src/server/play/chat_message.rs similarity index 100% rename from pumpkin-protocol/src/server/play/s_chat_message.rs rename to pumpkin-protocol/src/server/play/chat_message.rs diff --git a/pumpkin-protocol/src/server/play/s_click_container.rs b/pumpkin-protocol/src/server/play/click_container.rs similarity index 100% rename from pumpkin-protocol/src/server/play/s_click_container.rs rename to pumpkin-protocol/src/server/play/click_container.rs diff --git a/pumpkin-protocol/src/server/play/s_client_command.rs b/pumpkin-protocol/src/server/play/client_command.rs similarity index 100% rename from pumpkin-protocol/src/server/play/s_client_command.rs rename to pumpkin-protocol/src/server/play/client_command.rs diff --git a/pumpkin-protocol/src/server/play/s_client_information.rs b/pumpkin-protocol/src/server/play/client_information.rs similarity index 100% rename from pumpkin-protocol/src/server/play/s_client_information.rs rename to pumpkin-protocol/src/server/play/client_information.rs diff --git a/pumpkin-protocol/src/server/play/s_client_tick_end.rs b/pumpkin-protocol/src/server/play/client_tick_end.rs similarity index 100% rename from pumpkin-protocol/src/server/play/s_client_tick_end.rs rename to pumpkin-protocol/src/server/play/client_tick_end.rs diff --git a/pumpkin-protocol/src/server/play/s_close_container.rs b/pumpkin-protocol/src/server/play/close_container.rs similarity index 100% rename from pumpkin-protocol/src/server/play/s_close_container.rs rename to pumpkin-protocol/src/server/play/close_container.rs diff --git a/pumpkin-protocol/src/server/play/s_command_suggestion.rs b/pumpkin-protocol/src/server/play/command_suggestion.rs similarity index 100% rename from pumpkin-protocol/src/server/play/s_command_suggestion.rs rename to pumpkin-protocol/src/server/play/command_suggestion.rs diff --git a/pumpkin-protocol/src/server/play/s_confirm_teleport.rs b/pumpkin-protocol/src/server/play/confirm_teleport.rs similarity index 100% rename from pumpkin-protocol/src/server/play/s_confirm_teleport.rs rename to pumpkin-protocol/src/server/play/confirm_teleport.rs diff --git a/pumpkin-protocol/src/server/play/s_cookie_response.rs b/pumpkin-protocol/src/server/play/cookie_response.rs similarity index 100% rename from pumpkin-protocol/src/server/play/s_cookie_response.rs rename to pumpkin-protocol/src/server/play/cookie_response.rs diff --git a/pumpkin-protocol/src/server/play/s_interact.rs b/pumpkin-protocol/src/server/play/interact.rs similarity index 100% rename from pumpkin-protocol/src/server/play/s_interact.rs rename to pumpkin-protocol/src/server/play/interact.rs diff --git a/pumpkin-protocol/src/server/play/s_keep_alive.rs b/pumpkin-protocol/src/server/play/keep_alive.rs similarity index 100% rename from pumpkin-protocol/src/server/play/s_keep_alive.rs rename to pumpkin-protocol/src/server/play/keep_alive.rs diff --git a/pumpkin-protocol/src/server/play/mod.rs b/pumpkin-protocol/src/server/play/mod.rs index f61fe88cf..ef0092543 100644 --- a/pumpkin-protocol/src/server/play/mod.rs +++ b/pumpkin-protocol/src/server/play/mod.rs @@ -1,57 +1,57 @@ -mod s_chat_command; -mod s_chat_message; -mod s_click_container; -mod s_client_command; -mod s_client_information; -mod s_client_tick_end; -mod s_close_container; -mod s_command_suggestion; -mod s_confirm_teleport; -mod s_cookie_response; -mod s_interact; -mod s_keep_alive; -mod s_pick_item; -mod s_ping_request; -mod s_player_abilities; -mod s_player_action; -mod s_player_command; -mod s_player_ground; -mod s_player_input; -mod s_player_loaded; -mod s_player_position; -mod s_player_position_rotation; -mod s_player_rotation; -mod s_set_creative_slot; -mod s_set_held_item; -mod s_swing_arm; -mod s_use_item; -mod s_use_item_on; +mod chat_command; +mod chat_message; +mod click_container; +mod client_command; +mod client_information; +mod client_tick_end; +mod close_container; +mod command_suggestion; +mod confirm_teleport; +mod cookie_response; +mod interact; +mod keep_alive; +mod pick_item; +mod ping_request; +mod player_abilities; +mod player_action; +mod player_command; +mod player_ground; +mod player_input; +mod player_loaded; +mod player_position; +mod player_position_rotation; +mod player_rotation; +mod set_creative_slot; +mod set_held_item; +mod swing_arm; +mod use_item; +mod use_item_on; -pub use s_chat_command::*; -pub use s_chat_message::*; -pub use s_click_container::*; -pub use s_client_command::*; -pub use s_client_information::*; -pub use s_client_tick_end::*; -pub use s_close_container::*; -pub use s_command_suggestion::*; -pub use s_confirm_teleport::*; -pub use s_cookie_response::*; -pub use s_interact::*; -pub use s_keep_alive::*; -pub use s_pick_item::*; -pub use s_ping_request::*; -pub use s_player_abilities::*; -pub use s_player_action::*; -pub use s_player_command::*; -pub use s_player_ground::*; -pub use s_player_input::*; -pub use s_player_loaded::*; -pub use s_player_position::*; -pub use s_player_position_rotation::*; -pub use s_player_rotation::*; -pub use s_set_creative_slot::*; -pub use s_set_held_item::*; -pub use s_swing_arm::*; -pub use s_use_item::*; -pub use s_use_item_on::*; +pub use chat_command::*; +pub use chat_message::*; +pub use click_container::*; +pub use client_command::*; +pub use client_information::*; +pub use client_tick_end::*; +pub use close_container::*; +pub use command_suggestion::*; +pub use confirm_teleport::*; +pub use cookie_response::*; +pub use interact::*; +pub use keep_alive::*; +pub use pick_item::*; +pub use ping_request::*; +pub use player_abilities::*; +pub use player_action::*; +pub use player_command::*; +pub use player_ground::*; +pub use player_input::*; +pub use player_loaded::*; +pub use player_position::*; +pub use player_position_rotation::*; +pub use player_rotation::*; +pub use set_creative_slot::*; +pub use set_held_item::*; +pub use swing_arm::*; +pub use use_item::*; +pub use use_item_on::*; diff --git a/pumpkin-protocol/src/server/play/s_pick_item.rs b/pumpkin-protocol/src/server/play/pick_item.rs similarity index 100% rename from pumpkin-protocol/src/server/play/s_pick_item.rs rename to pumpkin-protocol/src/server/play/pick_item.rs diff --git a/pumpkin-protocol/src/server/play/s_ping_request.rs b/pumpkin-protocol/src/server/play/ping_request.rs similarity index 100% rename from pumpkin-protocol/src/server/play/s_ping_request.rs rename to pumpkin-protocol/src/server/play/ping_request.rs diff --git a/pumpkin-protocol/src/server/play/s_player_abilities.rs b/pumpkin-protocol/src/server/play/player_abilities.rs similarity index 100% rename from pumpkin-protocol/src/server/play/s_player_abilities.rs rename to pumpkin-protocol/src/server/play/player_abilities.rs diff --git a/pumpkin-protocol/src/server/play/s_player_action.rs b/pumpkin-protocol/src/server/play/player_action.rs similarity index 100% rename from pumpkin-protocol/src/server/play/s_player_action.rs rename to pumpkin-protocol/src/server/play/player_action.rs diff --git a/pumpkin-protocol/src/server/play/s_player_command.rs b/pumpkin-protocol/src/server/play/player_command.rs similarity index 100% rename from pumpkin-protocol/src/server/play/s_player_command.rs rename to pumpkin-protocol/src/server/play/player_command.rs diff --git a/pumpkin-protocol/src/server/play/s_player_ground.rs b/pumpkin-protocol/src/server/play/player_ground.rs similarity index 100% rename from pumpkin-protocol/src/server/play/s_player_ground.rs rename to pumpkin-protocol/src/server/play/player_ground.rs diff --git a/pumpkin-protocol/src/server/play/s_player_input.rs b/pumpkin-protocol/src/server/play/player_input.rs similarity index 100% rename from pumpkin-protocol/src/server/play/s_player_input.rs rename to pumpkin-protocol/src/server/play/player_input.rs diff --git a/pumpkin-protocol/src/server/play/s_player_loaded.rs b/pumpkin-protocol/src/server/play/player_loaded.rs similarity index 100% rename from pumpkin-protocol/src/server/play/s_player_loaded.rs rename to pumpkin-protocol/src/server/play/player_loaded.rs diff --git a/pumpkin-protocol/src/server/play/s_player_position.rs b/pumpkin-protocol/src/server/play/player_position.rs similarity index 100% rename from pumpkin-protocol/src/server/play/s_player_position.rs rename to pumpkin-protocol/src/server/play/player_position.rs diff --git a/pumpkin-protocol/src/server/play/s_player_position_rotation.rs b/pumpkin-protocol/src/server/play/player_position_rotation.rs similarity index 100% rename from pumpkin-protocol/src/server/play/s_player_position_rotation.rs rename to pumpkin-protocol/src/server/play/player_position_rotation.rs diff --git a/pumpkin-protocol/src/server/play/s_player_rotation.rs b/pumpkin-protocol/src/server/play/player_rotation.rs similarity index 100% rename from pumpkin-protocol/src/server/play/s_player_rotation.rs rename to pumpkin-protocol/src/server/play/player_rotation.rs diff --git a/pumpkin-protocol/src/server/play/s_set_creative_slot.rs b/pumpkin-protocol/src/server/play/set_creative_slot.rs similarity index 100% rename from pumpkin-protocol/src/server/play/s_set_creative_slot.rs rename to pumpkin-protocol/src/server/play/set_creative_slot.rs diff --git a/pumpkin-protocol/src/server/play/s_set_held_item.rs b/pumpkin-protocol/src/server/play/set_held_item.rs similarity index 100% rename from pumpkin-protocol/src/server/play/s_set_held_item.rs rename to pumpkin-protocol/src/server/play/set_held_item.rs diff --git a/pumpkin-protocol/src/server/play/s_swing_arm.rs b/pumpkin-protocol/src/server/play/swing_arm.rs similarity index 100% rename from pumpkin-protocol/src/server/play/s_swing_arm.rs rename to pumpkin-protocol/src/server/play/swing_arm.rs diff --git a/pumpkin-protocol/src/server/play/s_use_item.rs b/pumpkin-protocol/src/server/play/use_item.rs similarity index 100% rename from pumpkin-protocol/src/server/play/s_use_item.rs rename to pumpkin-protocol/src/server/play/use_item.rs diff --git a/pumpkin-protocol/src/server/play/s_use_item_on.rs b/pumpkin-protocol/src/server/play/use_item_on.rs similarity index 100% rename from pumpkin-protocol/src/server/play/s_use_item_on.rs rename to pumpkin-protocol/src/server/play/use_item_on.rs diff --git a/pumpkin-protocol/src/server/status/mod.rs b/pumpkin-protocol/src/server/status/mod.rs index fb6b04ab5..5011e8d57 100644 --- a/pumpkin-protocol/src/server/status/mod.rs +++ b/pumpkin-protocol/src/server/status/mod.rs @@ -1,5 +1,5 @@ -mod s_ping_request; -mod s_status_request; +mod ping_request; +mod status_request; -pub use s_ping_request::*; -pub use s_status_request::*; +pub use ping_request::*; +pub use status_request::*; diff --git a/pumpkin-protocol/src/server/status/s_ping_request.rs b/pumpkin-protocol/src/server/status/ping_request.rs similarity index 100% rename from pumpkin-protocol/src/server/status/s_ping_request.rs rename to pumpkin-protocol/src/server/status/ping_request.rs diff --git a/pumpkin-protocol/src/server/status/s_status_request.rs b/pumpkin-protocol/src/server/status/status_request.rs similarity index 100% rename from pumpkin-protocol/src/server/status/s_status_request.rs rename to pumpkin-protocol/src/server/status/status_request.rs diff --git a/pumpkin-util/src/math/vector3.rs b/pumpkin-util/src/math/vector3.rs index d4e4197e5..1a3d81ba2 100644 --- a/pumpkin-util/src/math/vector3.rs +++ b/pumpkin-util/src/math/vector3.rs @@ -19,6 +19,10 @@ impl Vector3 { self.x * self.x + self.y * self.y + self.z * self.z } + pub fn horizontal_length_squared(&self) -> T { + self.x * self.x + self.z * self.z + } + pub fn add(&self, other: &Vector3) -> Self { Vector3 { x: self.x + other.x, @@ -27,6 +31,14 @@ impl Vector3 { } } + pub fn add_raw(&self, x: T, y: T, z: T) -> Self { + Vector3 { + x: self.x + x, + y: self.y + y, + z: self.z + z, + } + } + pub fn sub(&self, other: &Vector3) -> Self { Vector3 { x: self.x - other.x, @@ -59,6 +71,11 @@ impl Vector3 { pub fn length(&self) -> T { self.length_squared().sqrt() } + + pub fn horizontal_length(&self) -> T { + self.horizontal_length_squared().sqrt() + } + pub fn normalize(&self) -> Self { let length = self.length(); Vector3 { diff --git a/pumpkin-world/src/block/mod.rs b/pumpkin-world/src/block/mod.rs index bf7607172..fa4421f77 100644 --- a/pumpkin-world/src/block/mod.rs +++ b/pumpkin-world/src/block/mod.rs @@ -1,10 +1,10 @@ -pub mod block_registry; -pub mod block_state; +pub mod registry; +pub mod state; use num_derive::FromPrimitive; use pumpkin_util::math::vector3::Vector3; -pub use block_state::BlockState; +pub use state::BlockState; #[derive(FromPrimitive, PartialEq, Clone, Copy)] pub enum BlockDirection { diff --git a/pumpkin-world/src/block/block_registry.rs b/pumpkin-world/src/block/registry.rs similarity index 100% rename from pumpkin-world/src/block/block_registry.rs rename to pumpkin-world/src/block/registry.rs diff --git a/pumpkin-world/src/block/block_state.rs b/pumpkin-world/src/block/state.rs similarity index 95% rename from pumpkin-world/src/block/block_state.rs rename to pumpkin-world/src/block/state.rs index fe2fe1461..a9c1cb7de 100644 --- a/pumpkin-world/src/block/block_state.rs +++ b/pumpkin-world/src/block/state.rs @@ -1,4 +1,4 @@ -use super::block_registry::{get_block, get_state_by_state_id}; +use super::registry::{get_block, get_state_by_state_id}; #[derive(Clone, Copy, Debug, Eq)] pub struct BlockState { diff --git a/pumpkin-world/src/chunk/anvil.rs b/pumpkin-world/src/chunk/anvil.rs index 66898f090..dc761b6a7 100644 --- a/pumpkin-world/src/chunk/anvil.rs +++ b/pumpkin-world/src/chunk/anvil.rs @@ -12,7 +12,7 @@ use std::{ }; use crate::{ - block::block_registry::BLOCK_ID_TO_REGISTRY_ID, chunk::ChunkWritingError, level::LevelFolder, + block::registry::BLOCK_ID_TO_REGISTRY_ID, chunk::ChunkWritingError, level::LevelFolder, }; use super::{ diff --git a/pumpkin-world/src/generation/generator.rs b/pumpkin-world/src/generation/generator.rs index 877edc7a5..d7bbc2e21 100644 --- a/pumpkin-world/src/generation/generator.rs +++ b/pumpkin-world/src/generation/generator.rs @@ -3,7 +3,7 @@ use pumpkin_data::chunk::Biome; use pumpkin_util::math::vector2::Vector2; use pumpkin_util::math::vector3::Vector3; -use crate::block::block_state::BlockState; +use crate::block::state::BlockState; use crate::chunk::{ChunkData, Subchunks}; use crate::coordinates::{BlockCoordinates, ChunkRelativeBlockCoordinates, XZBlockCoordinates}; use crate::generation::Seed; diff --git a/pumpkin-world/src/generation/implementation/superflat.rs b/pumpkin-world/src/generation/implementation/superflat.rs index e419f5c64..6d28f7aca 100644 --- a/pumpkin-world/src/generation/implementation/superflat.rs +++ b/pumpkin-world/src/generation/implementation/superflat.rs @@ -2,7 +2,7 @@ use pumpkin_data::chunk::Biome; use pumpkin_util::math::vector2::Vector2; use crate::{ - block::block_state::BlockState, + block::state::BlockState, coordinates::XZBlockCoordinates, generation::{ generator::{BiomeGenerator, GeneratorInit, TerrainGenerator}, diff --git a/pumpkin-world/src/generation/implementation/test.rs b/pumpkin-world/src/generation/implementation/test.rs index 525107c33..801abef9d 100644 --- a/pumpkin-world/src/generation/implementation/test.rs +++ b/pumpkin-world/src/generation/implementation/test.rs @@ -9,7 +9,7 @@ use pumpkin_data::chunk::Biome; use pumpkin_util::math::{vector2::Vector2, vector3::Vector3}; use crate::{ - block::block_state::BlockState, + block::state::BlockState, chunk::{ChunkData, Subchunks}, coordinates::{ ChunkRelativeBlockCoordinates, ChunkRelativeXZBlockCoordinates, XZBlockCoordinates, diff --git a/pumpkin-world/src/item/item_categories.rs b/pumpkin-world/src/item/categories.rs similarity index 100% rename from pumpkin-world/src/item/item_categories.rs rename to pumpkin-world/src/item/categories.rs diff --git a/pumpkin-world/src/item/mod.rs b/pumpkin-world/src/item/mod.rs index 9ff3ccc8e..fe16a8bb7 100644 --- a/pumpkin-world/src/item/mod.rs +++ b/pumpkin-world/src/item/mod.rs @@ -1,6 +1,6 @@ -mod item_categories; -pub mod item_registry; -pub use item_registry::ITEMS; +mod categories; +pub mod registry; +pub use registry::ITEMS; #[derive(serde::Deserialize, Debug, Clone, PartialEq, Eq)] #[serde(rename_all = "lowercase")] /// Item Rarity diff --git a/pumpkin-world/src/item/item_registry.rs b/pumpkin-world/src/item/registry.rs similarity index 100% rename from pumpkin-world/src/item/item_registry.rs rename to pumpkin-world/src/item/registry.rs diff --git a/pumpkin/src/block/blocks/chest.rs b/pumpkin/src/block/blocks/chest.rs index 708edbe97..c05178516 100644 --- a/pumpkin/src/block/blocks/chest.rs +++ b/pumpkin/src/block/blocks/chest.rs @@ -8,12 +8,12 @@ use pumpkin_macros::pumpkin_block; use pumpkin_protocol::{client::play::CBlockAction, codec::var_int::VarInt}; use pumpkin_util::math::position::BlockPos; use pumpkin_world::{ - block::block_registry::{get_block, Block}, - item::item_registry::Item, + block::registry::{get_block, Block}, + item::registry::Item, }; use crate::{ - block::{block_manager::BlockActionResult, pumpkin_block::PumpkinBlock}, + block::{pumpkin_block::PumpkinBlock, registry::BlockActionResult}, entity::player::Player, server::Server, }; diff --git a/pumpkin/src/block/blocks/crafting_table.rs b/pumpkin/src/block/blocks/crafting_table.rs index 48ee3cdca..8cb907042 100644 --- a/pumpkin/src/block/blocks/crafting_table.rs +++ b/pumpkin/src/block/blocks/crafting_table.rs @@ -1,5 +1,5 @@ -use crate::block::block_manager::BlockActionResult; use crate::block::pumpkin_block::PumpkinBlock; +use crate::block::registry::BlockActionResult; use crate::entity::player::Player; use crate::server::Server; use async_trait::async_trait; @@ -7,7 +7,7 @@ use pumpkin_data::screen::WindowType; use pumpkin_inventory::{CraftingTable, OpenContainer}; use pumpkin_macros::pumpkin_block; use pumpkin_util::math::position::BlockPos; -use pumpkin_world::{block::block_registry::Block, item::item_registry::Item}; +use pumpkin_world::{block::registry::Block, item::registry::Item}; #[pumpkin_block("minecraft:crafting_table")] pub struct CraftingTableBlock; diff --git a/pumpkin/src/block/blocks/furnace.rs b/pumpkin/src/block/blocks/furnace.rs index 7014c1aae..a0e88abab 100644 --- a/pumpkin/src/block/blocks/furnace.rs +++ b/pumpkin/src/block/blocks/furnace.rs @@ -1,12 +1,12 @@ -use crate::block::block_manager::BlockActionResult; +use crate::block::registry::BlockActionResult; use crate::entity::player::Player; use async_trait::async_trait; use pumpkin_data::screen::WindowType; use pumpkin_inventory::Furnace; use pumpkin_macros::pumpkin_block; use pumpkin_util::math::position::BlockPos; -use pumpkin_world::block::block_registry::Block; -use pumpkin_world::item::item_registry::Item; +use pumpkin_world::block::registry::Block; +use pumpkin_world::item::registry::Item; use crate::{block::pumpkin_block::PumpkinBlock, server::Server}; diff --git a/pumpkin/src/block/blocks/jukebox.rs b/pumpkin/src/block/blocks/jukebox.rs index b013ca382..469d3ba60 100644 --- a/pumpkin/src/block/blocks/jukebox.rs +++ b/pumpkin/src/block/blocks/jukebox.rs @@ -1,13 +1,13 @@ -use crate::block::block_manager::BlockActionResult; use crate::block::pumpkin_block::PumpkinBlock; +use crate::block::registry::BlockActionResult; use crate::entity::player::Player; use crate::server::Server; use async_trait::async_trait; use pumpkin_macros::pumpkin_block; use pumpkin_registry::SYNCED_REGISTRIES; use pumpkin_util::math::position::BlockPos; -use pumpkin_world::block::block_registry::Block; -use pumpkin_world::item::item_registry::Item; +use pumpkin_world::block::registry::Block; +use pumpkin_world::item::registry::Item; #[pumpkin_block("minecraft:jukebox")] pub struct JukeboxBlock; diff --git a/pumpkin/src/block/blocks/mod.rs b/pumpkin/src/block/blocks/mod.rs index f68658614..9922bc9fe 100644 --- a/pumpkin/src/block/blocks/mod.rs +++ b/pumpkin/src/block/blocks/mod.rs @@ -1,7 +1,7 @@ use pumpkin_data::screen::WindowType; use pumpkin_inventory::{Container, OpenContainer}; use pumpkin_util::math::position::BlockPos; -use pumpkin_world::block::block_registry::Block; +use pumpkin_world::block::registry::Block; use crate::{entity::player::Player, server::Server}; diff --git a/pumpkin/src/block/mod.rs b/pumpkin/src/block/mod.rs index d77894b24..bf5ccb35b 100644 --- a/pumpkin/src/block/mod.rs +++ b/pumpkin/src/block/mod.rs @@ -2,19 +2,19 @@ use blocks::chest::ChestBlock; use blocks::furnace::FurnaceBlock; use properties::BlockPropertiesManager; -use crate::block::block_manager::BlockManager; use crate::block::blocks::crafting_table::CraftingTableBlock; use crate::block::blocks::jukebox::JukeboxBlock; +use crate::block::registry::BlockRegistry; use std::sync::Arc; -pub mod block_manager; mod blocks; pub mod properties; pub mod pumpkin_block; +pub mod registry; #[must_use] -pub fn default_block_manager() -> Arc { - let mut manager = BlockManager::default(); +pub fn default_registry() -> Arc { + let mut manager = BlockRegistry::default(); manager.register(JukeboxBlock); manager.register(CraftingTableBlock); diff --git a/pumpkin/src/block/properties.rs b/pumpkin/src/block/properties.rs index bd99bc4e3..d93e0a598 100644 --- a/pumpkin/src/block/properties.rs +++ b/pumpkin/src/block/properties.rs @@ -3,7 +3,7 @@ use std::collections::HashMap; use pumpkin_protocol::server::play::SUseItemOn; use pumpkin_util::math::{position::BlockPos, vector3::Vector3}; use pumpkin_world::block::{ - block_registry::{Block, State, BLOCKS}, + registry::{Block, State, BLOCKS}, BlockDirection, }; diff --git a/pumpkin/src/block/pumpkin_block.rs b/pumpkin/src/block/pumpkin_block.rs index afe304551..c67338889 100644 --- a/pumpkin/src/block/pumpkin_block.rs +++ b/pumpkin/src/block/pumpkin_block.rs @@ -1,11 +1,11 @@ -use crate::block::block_manager::BlockActionResult; +use crate::block::registry::BlockActionResult; use crate::entity::player::Player; use crate::server::Server; use async_trait::async_trait; use pumpkin_inventory::OpenContainer; use pumpkin_util::math::position::BlockPos; -use pumpkin_world::block::block_registry::Block; -use pumpkin_world::item::item_registry::Item; +use pumpkin_world::block::registry::Block; +use pumpkin_world::item::registry::Item; pub trait BlockMetadata { const NAMESPACE: &'static str; diff --git a/pumpkin/src/block/block_manager.rs b/pumpkin/src/block/registry.rs similarity index 95% rename from pumpkin/src/block/block_manager.rs rename to pumpkin/src/block/registry.rs index fd62bc58b..40f580d15 100644 --- a/pumpkin/src/block/block_manager.rs +++ b/pumpkin/src/block/registry.rs @@ -3,8 +3,8 @@ use crate::entity::player::Player; use crate::server::Server; use pumpkin_inventory::OpenContainer; use pumpkin_util::math::position::BlockPos; -use pumpkin_world::block::block_registry::Block; -use pumpkin_world::item::item_registry::Item; +use pumpkin_world::block::registry::Block; +use pumpkin_world::item::registry::Item; use std::collections::HashMap; use std::sync::Arc; @@ -16,11 +16,11 @@ pub enum BlockActionResult { } #[derive(Default)] -pub struct BlockManager { +pub struct BlockRegistry { blocks: HashMap>, } -impl BlockManager { +impl BlockRegistry { pub fn register(&mut self, block: T) { self.blocks.insert(block.name(), Arc::new(block)); } diff --git a/pumpkin/src/command/args/block.rs b/pumpkin/src/command/args/block.rs index 21a113ca8..8b7b874d4 100644 --- a/pumpkin/src/command/args/block.rs +++ b/pumpkin/src/command/args/block.rs @@ -1,6 +1,6 @@ use async_trait::async_trait; use pumpkin_protocol::client::play::{ArgumentType, CommandSuggestion, SuggestionProviders}; -use pumpkin_world::block::block_registry::{self, Block}; +use pumpkin_world::block::registry::{self, Block}; use crate::{command::dispatcher::CommandError, server::Server}; @@ -59,7 +59,7 @@ impl<'a> FindArg<'a> for BlockArgumentConsumer { fn find_arg(args: &'a super::ConsumedArgs, name: &str) -> Result { match args.get(name) { - Some(Arg::Block(name)) => block_registry::get_block(name).map_or_else( + Some(Arg::Block(name)) => registry::get_block(name).map_or_else( || { Err(CommandError::GeneralCommandIssue(format!( "Block {name} does not exist." diff --git a/pumpkin/src/command/args/item.rs b/pumpkin/src/command/args/item.rs index 9e5b7ee68..faa3ac740 100644 --- a/pumpkin/src/command/args/item.rs +++ b/pumpkin/src/command/args/item.rs @@ -1,6 +1,6 @@ use async_trait::async_trait; use pumpkin_protocol::client::play::{ArgumentType, CommandSuggestion, SuggestionProviders}; -use pumpkin_world::item::item_registry::{self, Item}; +use pumpkin_world::item::registry::{self, Item}; use crate::{command::dispatcher::CommandError, server::Server}; @@ -57,7 +57,7 @@ impl<'a> FindArg<'a> for ItemArgumentConsumer { fn find_arg(args: &'a super::ConsumedArgs, name: &str) -> Result { match args.get(name) { - Some(Arg::Item(name)) => item_registry::get_item(name).map_or_else( + Some(Arg::Item(name)) => registry::get_item(name).map_or_else( || { Err(CommandError::GeneralCommandIssue(format!( "Item {name} does not exist." diff --git a/pumpkin/src/command/args/mod.rs b/pumpkin/src/command/args/mod.rs index 0b4ae7ce5..f364e7079 100644 --- a/pumpkin/src/command/args/mod.rs +++ b/pumpkin/src/command/args/mod.rs @@ -42,7 +42,7 @@ pub mod sound_category; pub mod summonable_entities; pub mod textcomponent; -/// see [`crate::commands::tree_builder::argument`] +/// see [`crate::commands::tree::builder::argument`] #[async_trait] pub trait ArgumentConsumer: Sync + GetClientSideArgParser { async fn consume<'a>( @@ -99,7 +99,7 @@ pub enum Arg<'a> { SoundCategory(SoundCategory), } -/// see [`crate::commands::tree_builder::argument`] and [`CommandTree::execute`]/[`crate::commands::tree_builder::NonLeafNodeBuilder::execute`] +/// see [`crate::commands::tree::builder::argument`] and [`CommandTree::execute`]/[`crate::commands::tree::builder::NonLeafNodeBuilder::execute`] pub type ConsumedArgs<'a> = HashMap<&'a str, Arg<'a>>; pub(crate) trait GetCloned { diff --git a/pumpkin/src/command/client_cmd_suggestions.rs b/pumpkin/src/command/client_suggestions.rs similarity index 100% rename from pumpkin/src/command/client_cmd_suggestions.rs rename to pumpkin/src/command/client_suggestions.rs diff --git a/pumpkin/src/command/commands/ban.rs b/pumpkin/src/command/commands/ban.rs index 6a433fc76..51b585065 100644 --- a/pumpkin/src/command/commands/ban.rs +++ b/pumpkin/src/command/commands/ban.rs @@ -1,8 +1,7 @@ use crate::{ command::{ args::{message::MsgArgConsumer, players::PlayersArgumentConsumer, Arg, ConsumedArgs}, - tree::CommandTree, - tree_builder::argument, + tree::{builder::argument, CommandTree}, CommandError, CommandExecutor, CommandSender, }, data::{ diff --git a/pumpkin/src/command/commands/banip.rs b/pumpkin/src/command/commands/banip.rs index 24cb8fb2d..e618b801e 100644 --- a/pumpkin/src/command/commands/banip.rs +++ b/pumpkin/src/command/commands/banip.rs @@ -3,8 +3,8 @@ use std::{net::IpAddr, str::FromStr}; use crate::{ command::{ args::{message::MsgArgConsumer, simple::SimpleArgConsumer, Arg, ConsumedArgs}, + tree::builder::argument, tree::CommandTree, - tree_builder::argument, CommandError, CommandExecutor, CommandSender, }, data::{ diff --git a/pumpkin/src/command/commands/banlist.rs b/pumpkin/src/command/commands/banlist.rs index 731d2506f..1a75fc2ab 100644 --- a/pumpkin/src/command/commands/banlist.rs +++ b/pumpkin/src/command/commands/banlist.rs @@ -1,8 +1,8 @@ use crate::{ command::{ args::{simple::SimpleArgConsumer, Arg, ConsumedArgs}, + tree::builder::argument, tree::CommandTree, - tree_builder::argument, CommandError, CommandExecutor, CommandSender, }, data::{banned_ip_data::BANNED_IP_LIST, banned_player_data::BANNED_PLAYER_LIST}, diff --git a/pumpkin/src/command/commands/bossbar.rs b/pumpkin/src/command/commands/bossbar.rs index b676bd1f9..045e3b29a 100644 --- a/pumpkin/src/command/commands/bossbar.rs +++ b/pumpkin/src/command/commands/bossbar.rs @@ -9,8 +9,8 @@ use crate::command::args::{ConsumedArgs, FindArg, FindArgDefaultName}; use crate::command::dispatcher::CommandError; use crate::command::args::textcomponent::TextComponentArgConsumer; +use crate::command::tree::builder::{argument, argument_default_name, literal}; use crate::command::tree::CommandTree; -use crate::command::tree_builder::{argument, argument_default_name, literal}; use crate::command::{CommandExecutor, CommandSender}; use crate::server::Server; use crate::world::bossbar::Bossbar; diff --git a/pumpkin/src/command/commands/clear.rs b/pumpkin/src/command/commands/clear.rs index 11ad7a8a3..aee45a315 100644 --- a/pumpkin/src/command/commands/clear.rs +++ b/pumpkin/src/command/commands/clear.rs @@ -9,8 +9,8 @@ use pumpkin_util::text::TextComponent; use crate::command::args::entities::EntitiesArgumentConsumer; use crate::command::args::{Arg, ConsumedArgs}; +use crate::command::tree::builder::{argument, require}; use crate::command::tree::CommandTree; -use crate::command::tree_builder::{argument, require}; use crate::command::{CommandError, CommandExecutor, CommandSender}; use crate::entity::player::Player; use CommandError::InvalidConsumption; diff --git a/pumpkin/src/command/commands/deop.rs b/pumpkin/src/command/commands/deop.rs index e426930f9..c4fc94993 100644 --- a/pumpkin/src/command/commands/deop.rs +++ b/pumpkin/src/command/commands/deop.rs @@ -1,8 +1,8 @@ use crate::{ command::{ args::{players::PlayersArgumentConsumer, Arg, ConsumedArgs}, + tree::builder::argument, tree::CommandTree, - tree_builder::argument, CommandError, CommandExecutor, CommandSender, }, data::{op_data::OPERATOR_CONFIG, SaveJSONConfiguration}, diff --git a/pumpkin/src/command/commands/experience.rs b/pumpkin/src/command/commands/experience.rs index 6b623bfba..3b2d984fa 100644 --- a/pumpkin/src/command/commands/experience.rs +++ b/pumpkin/src/command/commands/experience.rs @@ -8,8 +8,8 @@ use pumpkin_util::text::TextComponent; use crate::command::args::bounded_num::BoundedNumArgumentConsumer; use crate::command::args::players::PlayersArgumentConsumer; use crate::command::args::{ConsumedArgs, FindArg}; +use crate::command::tree::builder::{argument, literal}; use crate::command::tree::CommandTree; -use crate::command::tree_builder::{argument, literal}; use crate::command::{CommandError, CommandExecutor, CommandSender}; use crate::entity::player::Player; diff --git a/pumpkin/src/command/commands/fill.rs b/pumpkin/src/command/commands/fill.rs index a526ea18e..40e6b53f3 100644 --- a/pumpkin/src/command/commands/fill.rs +++ b/pumpkin/src/command/commands/fill.rs @@ -1,8 +1,8 @@ use crate::command::args::block::BlockArgumentConsumer; use crate::command::args::position_block::BlockPosArgumentConsumer; use crate::command::args::{ConsumedArgs, FindArg}; +use crate::command::tree::builder::{argument, literal}; use crate::command::tree::CommandTree; -use crate::command::tree_builder::{argument, literal}; use crate::command::{CommandError, CommandExecutor, CommandSender}; use async_trait::async_trait; diff --git a/pumpkin/src/command/commands/gamemode.rs b/pumpkin/src/command/commands/gamemode.rs index 988d7012e..495add095 100644 --- a/pumpkin/src/command/commands/gamemode.rs +++ b/pumpkin/src/command/commands/gamemode.rs @@ -10,8 +10,8 @@ use crate::command::args::players::PlayersArgumentConsumer; use crate::command::args::{Arg, ConsumedArgs}; use crate::command::dispatcher::CommandError; use crate::command::dispatcher::CommandError::{InvalidConsumption, InvalidRequirement}; +use crate::command::tree::builder::{argument, require}; use crate::command::tree::CommandTree; -use crate::command::tree_builder::{argument, require}; use crate::command::CommandSender::Player; use crate::command::{CommandExecutor, CommandSender}; use crate::server::Server; diff --git a/pumpkin/src/command/commands/give.rs b/pumpkin/src/command/commands/give.rs index 9e3a34201..b56a8060c 100644 --- a/pumpkin/src/command/commands/give.rs +++ b/pumpkin/src/command/commands/give.rs @@ -8,8 +8,8 @@ use crate::command::args::bounded_num::BoundedNumArgumentConsumer; use crate::command::args::item::ItemArgumentConsumer; use crate::command::args::players::PlayersArgumentConsumer; use crate::command::args::{ConsumedArgs, FindArg, FindArgDefaultName}; +use crate::command::tree::builder::{argument, argument_default_name}; use crate::command::tree::CommandTree; -use crate::command::tree_builder::{argument, argument_default_name}; use crate::command::{CommandError, CommandExecutor, CommandSender}; const NAMES: [&str; 1] = ["give"]; diff --git a/pumpkin/src/command/commands/help.rs b/pumpkin/src/command/commands/help.rs index 79f598164..c4a002f7a 100644 --- a/pumpkin/src/command/commands/help.rs +++ b/pumpkin/src/command/commands/help.rs @@ -8,8 +8,8 @@ use crate::command::args::command::CommandTreeArgumentConsumer; use crate::command::args::{Arg, ConsumedArgs, FindArgDefaultName}; use crate::command::dispatcher::CommandError; use crate::command::dispatcher::CommandError::InvalidConsumption; +use crate::command::tree::builder::{argument, argument_default_name}; use crate::command::tree::{Command, CommandTree}; -use crate::command::tree_builder::{argument, argument_default_name}; use crate::command::{CommandExecutor, CommandSender}; use crate::server::Server; diff --git a/pumpkin/src/command/commands/kick.rs b/pumpkin/src/command/commands/kick.rs index 43f0feb45..48c66c4f5 100644 --- a/pumpkin/src/command/commands/kick.rs +++ b/pumpkin/src/command/commands/kick.rs @@ -5,8 +5,8 @@ use pumpkin_util::text::TextComponent; use crate::command::args::message::MsgArgConsumer; use crate::command::args::players::PlayersArgumentConsumer; use crate::command::args::{Arg, ConsumedArgs}; +use crate::command::tree::builder::argument; use crate::command::tree::CommandTree; -use crate::command::tree_builder::argument; use crate::command::CommandError; use crate::command::{CommandExecutor, CommandSender}; use CommandError::InvalidConsumption; diff --git a/pumpkin/src/command/commands/kill.rs b/pumpkin/src/command/commands/kill.rs index 0583b92f0..0cf97d3c8 100644 --- a/pumpkin/src/command/commands/kill.rs +++ b/pumpkin/src/command/commands/kill.rs @@ -6,8 +6,8 @@ use pumpkin_util::text::TextComponent; use crate::command::args::entities::EntitiesArgumentConsumer; use crate::command::args::{Arg, ConsumedArgs}; +use crate::command::tree::builder::{argument, require}; use crate::command::tree::CommandTree; -use crate::command::tree_builder::{argument, require}; use crate::command::{CommandError, CommandExecutor, CommandSender}; use CommandError::InvalidConsumption; diff --git a/pumpkin/src/command/commands/me.rs b/pumpkin/src/command/commands/me.rs index aa2c30985..ad51b854c 100644 --- a/pumpkin/src/command/commands/me.rs +++ b/pumpkin/src/command/commands/me.rs @@ -4,8 +4,8 @@ use pumpkin_util::text::TextComponent; use crate::command::{ args::{message::MsgArgConsumer, Arg, ConsumedArgs}, + tree::builder::argument, tree::CommandTree, - tree_builder::argument, CommandError, CommandExecutor, CommandSender, }; use CommandError::InvalidConsumption; diff --git a/pumpkin/src/command/commands/msg.rs b/pumpkin/src/command/commands/msg.rs index 4d16fa8f3..f21412afe 100644 --- a/pumpkin/src/command/commands/msg.rs +++ b/pumpkin/src/command/commands/msg.rs @@ -7,8 +7,8 @@ use crate::command::{ message::MsgArgConsumer, players::PlayersArgumentConsumer, Arg, ConsumedArgs, FindArgDefaultName, }, + tree::builder::{argument, argument_default_name}, tree::CommandTree, - tree_builder::{argument, argument_default_name}, CommandError, CommandExecutor, CommandSender, }; use CommandError::InvalidConsumption; diff --git a/pumpkin/src/command/commands/op.rs b/pumpkin/src/command/commands/op.rs index 03c7614f9..0ca779086 100644 --- a/pumpkin/src/command/commands/op.rs +++ b/pumpkin/src/command/commands/op.rs @@ -1,8 +1,8 @@ use crate::{ command::{ args::{players::PlayersArgumentConsumer, Arg, ConsumedArgs}, + tree::builder::argument, tree::CommandTree, - tree_builder::argument, CommandError, CommandExecutor, CommandSender, }, data::{op_data::OPERATOR_CONFIG, SaveJSONConfiguration}, diff --git a/pumpkin/src/command/commands/pardon.rs b/pumpkin/src/command/commands/pardon.rs index dd41e3d93..f98c6f6a3 100644 --- a/pumpkin/src/command/commands/pardon.rs +++ b/pumpkin/src/command/commands/pardon.rs @@ -1,8 +1,8 @@ use crate::{ command::{ args::{simple::SimpleArgConsumer, Arg, ConsumedArgs}, + tree::builder::argument, tree::CommandTree, - tree_builder::argument, CommandError, CommandExecutor, CommandSender, }, data::{banned_player_data::BANNED_PLAYER_LIST, SaveJSONConfiguration}, diff --git a/pumpkin/src/command/commands/pardonip.rs b/pumpkin/src/command/commands/pardonip.rs index 0b15e4b80..da1c80b0a 100644 --- a/pumpkin/src/command/commands/pardonip.rs +++ b/pumpkin/src/command/commands/pardonip.rs @@ -3,8 +3,8 @@ use std::{net::IpAddr, str::FromStr}; use crate::{ command::{ args::{simple::SimpleArgConsumer, Arg, ConsumedArgs}, + tree::builder::argument, tree::CommandTree, - tree_builder::argument, CommandError, CommandExecutor, CommandSender, }, data::{banned_ip_data::BANNED_IP_LIST, SaveJSONConfiguration}, diff --git a/pumpkin/src/command/commands/playsound.rs b/pumpkin/src/command/commands/playsound.rs index 77e1c29f6..5bba93ce6 100644 --- a/pumpkin/src/command/commands/playsound.rs +++ b/pumpkin/src/command/commands/playsound.rs @@ -9,8 +9,8 @@ use crate::command::{ position_3d::Position3DArgumentConsumer, sound::SoundArgumentConsumer, sound_category::SoundCategoryArgumentConsumer, Arg, ConsumedArgs, FindArg, }, + tree::builder::argument, tree::CommandTree, - tree_builder::argument, CommandError, CommandExecutor, CommandSender, }; diff --git a/pumpkin/src/command/commands/plugin.rs b/pumpkin/src/command/commands/plugin.rs index f7e0b9263..eefccc1e9 100644 --- a/pumpkin/src/command/commands/plugin.rs +++ b/pumpkin/src/command/commands/plugin.rs @@ -7,8 +7,10 @@ use pumpkin_util::{ use crate::{ command::{ args::{simple::SimpleArgConsumer, Arg, ConsumedArgs}, - tree::CommandTree, - tree_builder::{argument, literal, require}, + tree::{ + builder::{argument, literal, require}, + CommandTree, + }, CommandError, CommandExecutor, CommandSender, }, PLUGIN_MANAGER, diff --git a/pumpkin/src/command/commands/say.rs b/pumpkin/src/command/commands/say.rs index a7d269ff5..24e2de2ee 100644 --- a/pumpkin/src/command/commands/say.rs +++ b/pumpkin/src/command/commands/say.rs @@ -4,8 +4,8 @@ use pumpkin_util::text::TextComponent; use crate::command::{ args::{message::MsgArgConsumer, Arg, ConsumedArgs}, + tree::builder::argument, tree::CommandTree, - tree_builder::argument, CommandError, CommandExecutor, CommandSender, }; use CommandError::InvalidConsumption; diff --git a/pumpkin/src/command/commands/setblock.rs b/pumpkin/src/command/commands/setblock.rs index 413fc634b..376715297 100644 --- a/pumpkin/src/command/commands/setblock.rs +++ b/pumpkin/src/command/commands/setblock.rs @@ -4,8 +4,8 @@ use pumpkin_util::text::TextComponent; use crate::command::args::block::BlockArgumentConsumer; use crate::command::args::position_block::BlockPosArgumentConsumer; use crate::command::args::{ConsumedArgs, FindArg}; +use crate::command::tree::builder::{argument, literal}; use crate::command::tree::CommandTree; -use crate::command::tree_builder::{argument, literal}; use crate::command::{CommandError, CommandExecutor, CommandSender}; const NAMES: [&str; 1] = ["setblock"]; diff --git a/pumpkin/src/command/commands/summon.rs b/pumpkin/src/command/commands/summon.rs index 6cc1ee9da..26f4e3338 100644 --- a/pumpkin/src/command/commands/summon.rs +++ b/pumpkin/src/command/commands/summon.rs @@ -7,8 +7,8 @@ use crate::{ position_3d::Position3DArgumentConsumer, summonable_entities::SummonableEntitiesArgumentConsumer, ConsumedArgs, FindArg, }, + tree::builder::argument, tree::CommandTree, - tree_builder::argument, CommandError, CommandExecutor, CommandSender, }, entity::mob, diff --git a/pumpkin/src/command/commands/teleport.rs b/pumpkin/src/command/commands/teleport.rs index 17aecf6c7..81cf00e6f 100644 --- a/pumpkin/src/command/commands/teleport.rs +++ b/pumpkin/src/command/commands/teleport.rs @@ -8,8 +8,8 @@ use crate::command::args::position_3d::Position3DArgumentConsumer; use crate::command::args::rotation::RotationArgumentConsumer; use crate::command::args::ConsumedArgs; use crate::command::args::FindArg; +use crate::command::tree::builder::{argument, literal}; use crate::command::tree::CommandTree; -use crate::command::tree_builder::{argument, literal}; use crate::command::CommandError; use crate::command::{CommandExecutor, CommandSender}; diff --git a/pumpkin/src/command/commands/time.rs b/pumpkin/src/command/commands/time.rs index 37430e9c8..f9584ada1 100644 --- a/pumpkin/src/command/commands/time.rs +++ b/pumpkin/src/command/commands/time.rs @@ -4,7 +4,7 @@ use pumpkin_util::text::TextComponent; use crate::command::args::bounded_num::BoundedNumArgumentConsumer; use crate::command::args::FindArgDefaultName; -use crate::command::tree_builder::{argument_default_name, literal}; +use crate::command::tree::builder::{argument_default_name, literal}; use crate::command::{ tree::CommandTree, CommandError, CommandExecutor, CommandSender, ConsumedArgs, }; diff --git a/pumpkin/src/command/commands/title.rs b/pumpkin/src/command/commands/title.rs index 43241bb85..b32433130 100644 --- a/pumpkin/src/command/commands/title.rs +++ b/pumpkin/src/command/commands/title.rs @@ -8,8 +8,8 @@ use crate::{ players::PlayersArgumentConsumer, textcomponent::TextComponentArgConsumer, Arg, ConsumedArgs, FindArg, }, + tree::builder::{argument, literal}, tree::CommandTree, - tree_builder::{argument, literal}, CommandError, CommandExecutor, CommandSender, }, entity::player::TitleMode, diff --git a/pumpkin/src/command/commands/transfer.rs b/pumpkin/src/command/commands/transfer.rs index d3b0a2709..e456c9d74 100644 --- a/pumpkin/src/command/commands/transfer.rs +++ b/pumpkin/src/command/commands/transfer.rs @@ -9,7 +9,7 @@ use crate::command::args::players::PlayersArgumentConsumer; use crate::command::args::simple::SimpleArgConsumer; use crate::command::args::{Arg, FindArgDefaultName}; use crate::command::dispatcher::CommandError::{InvalidConsumption, InvalidRequirement}; -use crate::command::tree_builder::{argument, argument_default_name, require}; +use crate::command::tree::builder::{argument, argument_default_name, require}; use crate::command::{ args::ConsumedArgs, tree::CommandTree, CommandError, CommandExecutor, CommandSender, }; diff --git a/pumpkin/src/command/commands/worldborder.rs b/pumpkin/src/command/commands/worldborder.rs index d95e6d52e..2b59a0550 100644 --- a/pumpkin/src/command/commands/worldborder.rs +++ b/pumpkin/src/command/commands/worldborder.rs @@ -13,8 +13,8 @@ use crate::{ bounded_num::BoundedNumArgumentConsumer, position_2d::Position2DArgumentConsumer, ConsumedArgs, DefaultNameArgConsumer, FindArgDefaultName, }, + tree::builder::{argument_default_name, literal}, tree::CommandTree, - tree_builder::{argument_default_name, literal}, CommandError, CommandExecutor, CommandSender, }, server::Server, diff --git a/pumpkin/src/command/mod.rs b/pumpkin/src/command/mod.rs index a9714feb1..52379be2b 100644 --- a/pumpkin/src/command/mod.rs +++ b/pumpkin/src/command/mod.rs @@ -20,12 +20,10 @@ use pumpkin_util::permission::PermissionLvl; use pumpkin_util::text::TextComponent; pub mod args; -pub mod client_cmd_suggestions; +pub mod client_suggestions; mod commands; pub mod dispatcher; pub mod tree; -pub mod tree_builder; -mod tree_format; pub enum CommandSender<'a> { Rcon(&'a tokio::sync::Mutex>), diff --git a/pumpkin/src/command/tree_builder.rs b/pumpkin/src/command/tree/builder.rs similarity index 96% rename from pumpkin/src/command/tree_builder.rs rename to pumpkin/src/command/tree/builder.rs index 8402ec8a4..fe4149734 100644 --- a/pumpkin/src/command/tree_builder.rs +++ b/pumpkin/src/command/tree/builder.rs @@ -1,8 +1,7 @@ use std::sync::Arc; -use super::args::DefaultNameArgConsumer; use super::CommandExecutor; -use crate::command::args::ArgumentConsumer; +use crate::command::args::{ArgumentConsumer, DefaultNameArgConsumer}; use crate::command::tree::{CommandTree, Node, NodeType}; use crate::command::CommandSender; @@ -162,7 +161,7 @@ pub fn argument( } } -/// same as [`crate::command::tree_builder::argument`], but uses default arg name of consumer +/// same as [`crate::command::tree::builder::argument`], but uses default arg name of consumer pub fn argument_default_name( consumer: impl DefaultNameArgConsumer + 'static + Send, ) -> NonLeafNodeBuilder { diff --git a/pumpkin/src/command/tree_format.rs b/pumpkin/src/command/tree/format.rs similarity index 100% rename from pumpkin/src/command/tree_format.rs rename to pumpkin/src/command/tree/format.rs diff --git a/pumpkin/src/command/tree.rs b/pumpkin/src/command/tree/mod.rs similarity index 97% rename from pumpkin/src/command/tree.rs rename to pumpkin/src/command/tree/mod.rs index 8f54f949c..e56811f47 100644 --- a/pumpkin/src/command/tree.rs +++ b/pumpkin/src/command/tree/mod.rs @@ -2,7 +2,10 @@ use super::{args::ArgumentConsumer, CommandExecutor}; use crate::command::CommandSender; use std::{collections::VecDeque, fmt::Debug, sync::Arc}; -/// see [`crate::commands::tree_builder::argument`] +pub mod builder; +pub mod format; + +/// see [`crate::commands::tree::builder::argument`] pub type RawArgs<'a> = Vec<&'a str>; #[derive(Debug, Clone)] diff --git a/pumpkin/src/entity/mod.rs b/pumpkin/src/entity/mod.rs index acac50b67..af1dc6357 100644 --- a/pumpkin/src/entity/mod.rs +++ b/pumpkin/src/entity/mod.rs @@ -34,6 +34,7 @@ pub mod item; pub mod living; pub mod mob; pub mod player; +pub mod projectile; pub type EntityId = i32; diff --git a/pumpkin/src/entity/player.rs b/pumpkin/src/entity/player.rs index da0618d44..2e9de45e4 100644 --- a/pumpkin/src/entity/player.rs +++ b/pumpkin/src/entity/player.rs @@ -17,7 +17,7 @@ use pumpkin_data::{ use pumpkin_inventory::player::PlayerInventory; use pumpkin_nbt::compound::NbtCompound; use pumpkin_protocol::{ - bytebuf::packet_id::Packet, + bytebuf::packet::Packet, client::play::{ CActionBar, CCombatDeath, CDisguisedChatMessage, CEntityStatus, CGameEvent, CHurtAnimation, CKeepAlive, CPlayDisconnect, CPlayerAbilities, CPlayerInfoUpdate, CPlayerPosition, @@ -59,7 +59,7 @@ use pumpkin_util::{ use pumpkin_world::{ cylindrical_chunk_iterator::Cylindrical, item::{ - item_registry::{get_item_by_id, Operation}, + registry::{get_item_by_id, Operation}, ItemStack, }, }; @@ -67,7 +67,7 @@ use tokio::sync::{Mutex, Notify, RwLock}; use super::{item::ItemEntity, Entity, EntityId, NBTStorage}; use crate::{ - command::{client_cmd_suggestions, dispatcher::CommandDispatcher}, + command::{client_suggestions, dispatcher::CommandDispatcher}, data::op_data::OPERATOR_CONFIG, net::{ combat::{self, player_attack_sound, AttackType}, @@ -528,7 +528,7 @@ impl Player { ) { self.permission_lvl.store(lvl); self.send_permission_lvl_update().await; - client_cmd_suggestions::send_c_commands_packet(self, command_dispatcher).await; + client_suggestions::send_c_commands_packet(self, command_dispatcher).await; } /// Sends the world time to just the player. diff --git a/pumpkin/src/entity/projectile/mod.rs b/pumpkin/src/entity/projectile/mod.rs new file mode 100644 index 000000000..00987b6c1 --- /dev/null +++ b/pumpkin/src/entity/projectile/mod.rs @@ -0,0 +1,66 @@ +use std::f32::{self, consts::PI}; + +use pumpkin_util::math::vector3::Vector3; + +use super::Entity; + +pub struct ProjectileEntity { + entity: Entity, +} + +const DEG_PER_RAD_F32: f32 = 180.0 / PI; + +impl ProjectileEntity { + pub fn set_velocity_from( + &self, + shooter: &Entity, + pitch: f32, + yaw: f32, + roll: f32, + speed: f32, + divergence: f32, + ) { + let x = -(yaw * PI / 180.0).sin() * (pitch * PI / 180.0).cos(); + let y = -((pitch + roll) * PI / 180.0).sin(); + let z = -(yaw * PI / 180.0).cos() * (pitch * PI / 180.0).cos(); + self.set_velocity( + f64::from(x), + f64::from(y), + f64::from(z), + f64::from(speed), + f64::from(divergence), + ); + let shooter_vel = shooter.velocity.load(); + self.entity + .velocity + .store(self.entity.velocity.load().add_raw( + shooter_vel.x, + if shooter.on_ground.load(std::sync::atomic::Ordering::Relaxed) { + 0.0 + } else { + shooter_vel.y + }, + shooter_vel.z, + )); + } + /// The velocity and rotation will be set to the same direction. + pub fn set_velocity(&self, x: f64, y: f64, z: f64, power: f64, uncertainty: f64) { + fn next_triangular(mode: f64, deviation: f64) -> f64 { + mode + deviation * (rand::random::() - rand::random::()) + } + let velocity = Vector3::new(x, y, z) + .normalize() + .add_raw( + next_triangular(0.0, 0.017_227_5 * uncertainty), + next_triangular(0.0, 0.017_227_5 * uncertainty), + next_triangular(0.0, 0.017_227_5 * uncertainty), + ) + .multiply(power, power, power); + self.entity.velocity.store(velocity); + let len = velocity.horizontal_length(); + self.entity.set_rotation( + velocity.x.atan2(velocity.z) as f32 * DEG_PER_RAD_F32, + velocity.y.atan2(len) as f32 * DEG_PER_RAD_F32, + ); + } +} diff --git a/pumpkin/src/net/container.rs b/pumpkin/src/net/container.rs index 530e0176a..b6380bf08 100644 --- a/pumpkin/src/net/container.rs +++ b/pumpkin/src/net/container.rs @@ -16,7 +16,7 @@ use pumpkin_protocol::codec::var_int::VarInt; use pumpkin_protocol::server::play::SClickContainer; use pumpkin_util::text::TextComponent; use pumpkin_util::GameMode; -use pumpkin_world::item::item_registry::Item; +use pumpkin_world::item::registry::Item; use pumpkin_world::item::ItemStack; use std::sync::Arc; diff --git a/pumpkin/src/net/mod.rs b/pumpkin/src/net/mod.rs index ae06848f7..e8ff86f82 100644 --- a/pumpkin/src/net/mod.rs +++ b/pumpkin/src/net/mod.rs @@ -17,7 +17,7 @@ use crate::{ use crossbeam::atomic::AtomicCell; use pumpkin_config::networking::compression::CompressionInfo; use pumpkin_protocol::{ - bytebuf::{packet_id::Packet, ReadingError}, + bytebuf::{packet::Packet, ReadingError}, client::{config::CConfigDisconnect, login::CLoginDisconnect, play::CPlayDisconnect}, packet_decoder::PacketDecoder, packet_encoder::{PacketEncodeError, PacketEncoder}, diff --git a/pumpkin/src/net/packet/play.rs b/pumpkin/src/net/packet/play.rs index 16077a053..70d600feb 100644 --- a/pumpkin/src/net/packet/play.rs +++ b/pumpkin/src/net/packet/play.rs @@ -1,8 +1,8 @@ use std::num::NonZeroU8; use std::sync::Arc; -use crate::block::block_manager::BlockActionResult; use crate::block::properties::Direction; +use crate::block::registry::BlockActionResult; use crate::entity::mob; use crate::net::PlayerConfig; use crate::{ @@ -43,14 +43,14 @@ use pumpkin_util::{ text::TextComponent, GameMode, }; -use pumpkin_world::block::block_registry::get_block_collision_shapes; -use pumpkin_world::block::block_registry::Block; -use pumpkin_world::item::item_registry::get_item_by_id; +use pumpkin_world::block::registry::get_block_collision_shapes; +use pumpkin_world::block::registry::Block; +use pumpkin_world::item::registry::get_item_by_id; use pumpkin_world::item::ItemStack; use pumpkin_world::{ - block::{block_registry::get_block_by_item, BlockDirection}, + block::{registry::get_block_by_item, BlockDirection}, entity::entity_registry::get_entity_id, - item::item_registry::get_spawn_egg, + item::registry::get_spawn_egg, }; use pumpkin_world::{WORLD_LOWEST_Y, WORLD_MAX_Y}; @@ -798,7 +798,7 @@ impl Player { if let Ok(block) = block { server - .block_manager + .block_registry .on_broken(block, &self, location, server) .await; } @@ -836,7 +836,7 @@ impl Player { if let Ok(block) = block { server - .block_manager + .block_registry .on_broken(block, &self, location, server) .await; } @@ -931,7 +931,7 @@ impl Player { { // Using block with empty hand server - .block_manager + .block_registry .on_use(block, self, location, server) .await; } @@ -949,7 +949,7 @@ impl Player { .load(std::sync::atomic::Ordering::Relaxed) { let action_result = server - .block_manager + .block_registry .on_use_with_item(block, self, location, item, server) .await; match action_result { @@ -1053,7 +1053,7 @@ impl Player { if let Some(pos) = container.get_location() { if let Some(block) = container.get_block() { server - .block_manager + .block_registry .on_close(&block, self, pos, server, container) //block, self, location, server) .await; } @@ -1263,7 +1263,7 @@ impl Player { if !intersects { let _replaced_id = world.set_block_state(&final_block_pos, new_state).await; server - .block_manager + .block_registry .on_placed(&block, self, final_block_pos, server) .await; } diff --git a/pumpkin/src/plugin/api/context.rs b/pumpkin/src/plugin/api/context.rs index 592911f70..be6763e37 100644 --- a/pumpkin/src/plugin/api/context.rs +++ b/pumpkin/src/plugin/api/context.rs @@ -1,6 +1,6 @@ use std::{fs, path::Path, sync::Arc}; -use crate::command::client_cmd_suggestions; +use crate::command::client_suggestions; use pumpkin_util::PermissionLvl; use tokio::sync::RwLock; @@ -56,11 +56,8 @@ impl Context { for world in self.server.worlds.read().await.iter() { for player in world.players.lock().await.values() { - client_cmd_suggestions::send_c_commands_packet( - player, - &self.server.command_dispatcher, - ) - .await; + client_suggestions::send_c_commands_packet(player, &self.server.command_dispatcher) + .await; } } } @@ -73,11 +70,8 @@ impl Context { for world in self.server.worlds.read().await.iter() { for player in world.players.lock().await.values() { - client_cmd_suggestions::send_c_commands_packet( - player, - &self.server.command_dispatcher, - ) - .await; + client_suggestions::send_c_commands_packet(player, &self.server.command_dispatcher) + .await; } } } diff --git a/pumpkin/src/plugin/api/events/block.rs b/pumpkin/src/plugin/api/events/block.rs index b98a4d195..ea3184b27 100644 --- a/pumpkin/src/plugin/api/events/block.rs +++ b/pumpkin/src/plugin/api/events/block.rs @@ -1,7 +1,7 @@ use std::sync::Arc; use pumpkin_macros::{cancellable, event}; -use pumpkin_world::block::block_registry::Block; +use pumpkin_world::block::registry::Block; use crate::entity::player::Player; diff --git a/pumpkin/src/server/mod.rs b/pumpkin/src/server/mod.rs index 1ec6e8c3a..fb36370fe 100644 --- a/pumpkin/src/server/mod.rs +++ b/pumpkin/src/server/mod.rs @@ -14,7 +14,7 @@ use pumpkin_util::math::vector2::Vector2; use pumpkin_util::math::vector3::Vector3; use pumpkin_util::text::TextComponent; use pumpkin_util::GameMode; -use pumpkin_world::block::block_registry::Block; +use pumpkin_world::block::registry::Block; use pumpkin_world::dimension::Dimension; use pumpkin_world::entity::entity_registry::get_entity_by_id; use rand::prelude::SliceRandom; @@ -30,9 +30,9 @@ use std::{ }; use tokio::sync::{Mutex, RwLock}; -use crate::block::block_manager::BlockManager; use crate::block::properties::BlockPropertiesManager; -use crate::block::{default_block_manager, default_block_properties_manager}; +use crate::block::registry::BlockRegistry; +use crate::block::{self, default_block_properties_manager}; use crate::entity::{Entity, EntityId}; use crate::net::EncryptionError; use crate::world::custom_bossbar::CustomBossbars; @@ -59,8 +59,8 @@ pub struct Server { server_branding: CachedBranding, /// Saves and Dispatches commands to appropriate handlers. pub command_dispatcher: RwLock, - /// Saves and calls blocks blocks - pub block_manager: Arc, + /// Block Behaviour + pub block_registry: Arc, /// Creates and stores block property registry and managed behaviours. pub block_properties_manager: Arc, /// Manages multiple worlds within the server. @@ -132,7 +132,7 @@ impl Server { DimensionType::TheEnd, ], command_dispatcher, - block_manager: default_block_manager(), + block_registry: block::default_registry(), block_properties_manager: default_block_properties_manager(), auth_client, key_store: KeyStore::new(), diff --git a/pumpkin/src/world/mod.rs b/pumpkin/src/world/mod.rs index 81569dc07..a281e14b8 100644 --- a/pumpkin/src/world/mod.rs +++ b/pumpkin/src/world/mod.rs @@ -4,7 +4,7 @@ pub mod level_time; pub mod player_chunker; use crate::{ - command::client_cmd_suggestions, + command::client_suggestions, entity::{player::Player, Entity, EntityBase, EntityId}, error::PumpkinError, plugin::{ @@ -37,7 +37,7 @@ use pumpkin_util::text::{color::NamedColor, TextComponent}; use pumpkin_world::chunk::ChunkData; use pumpkin_world::level::Level; use pumpkin_world::{ - block::block_registry::{ + block::registry::{ get_block_and_state_by_state_id, get_block_by_state_id, get_state_by_state_id, }, coordinates::ChunkRelativeBlockCoordinates, @@ -322,7 +322,7 @@ impl World { .await; // permissions, i. e. the commands a player may use player.send_permission_lvl_update().await; - client_cmd_suggestions::send_c_commands_packet(&player, &server.command_dispatcher).await; + client_suggestions::send_c_commands_packet(&player, &server.command_dispatcher).await; // teleport let info = &self.level.level_info; let mut position = Vector3::new(f64::from(info.spawn_x), 120.0, f64::from(info.spawn_z)); @@ -976,7 +976,7 @@ impl World { pub async fn get_block( &self, position: &BlockPos, - ) -> Result<&pumpkin_world::block::block_registry::Block, GetBlockError> { + ) -> Result<&pumpkin_world::block::registry::Block, GetBlockError> { let id = self.get_block_state_id(position).await?; get_block_by_state_id(id).ok_or(GetBlockError::InvalidBlockId) } @@ -985,7 +985,7 @@ impl World { pub async fn get_block_state( &self, position: &BlockPos, - ) -> Result<&pumpkin_world::block::block_registry::State, GetBlockError> { + ) -> Result<&pumpkin_world::block::registry::State, GetBlockError> { let id = self.get_block_state_id(position).await?; get_state_by_state_id(id).ok_or(GetBlockError::InvalidBlockId) } @@ -996,8 +996,8 @@ impl World { position: &BlockPos, ) -> Result< ( - &pumpkin_world::block::block_registry::Block, - &pumpkin_world::block::block_registry::State, + &pumpkin_world::block::registry::Block, + &pumpkin_world::block::registry::State, ), GetBlockError, > {