{ "helpers": [ { "name": "draw_quad", "target": "horizon_client::game::native_block_entity_draw::Game<'_>::native_draw_quad" }, { "name": "draw_cube", "target": "horizon_client::game::native_block_entity_draw::Game<'_>::native_draw_cube" }, { "name": "draw_block", "target": "horizon_client::game::native_block_entity_draw::Game<'_>::native_draw_block" }, { "name": "draw_item", "target": "horizon_client::game::native_block_entity_draw::Game<'_>::native_draw_item" }, { "name": "attachments", "target": "horizon_client::game::native_hooks::Game<'_>::native_attachments" }, { "name": "teleport_mob", "target": "horizon_client::game::native_mobs::Game<'_>::native_teleport_mob" }, { "name": "push_mob", "target": "horizon_client::game::native_mobs::Game<'_>::native_push_mob" }, { "name": "set_mob_health", "target": "horizon_client::game::native_mobs::Game<'_>::native_set_mob_health" }, { "name": "kill_mob", "target": "horizon_client::game::native_mobs::Game<'_>::native_kill_mob" }, { "name": "remove_mob", "target": "horizon_client::game::native_mobs::Game<'_>::native_remove_mob" }, { "name": "summon", "target": "horizon_client::game::native_entities::Game<'_>::native_summon" }, { "name": "move_entity", "target": "horizon_client::game::native_entities::Game<'_>::native_move_entity" }, { "name": "remove_entity", "target": "horizon_client::game::native_entities::Game<'_>::native_remove_entity" }, { "name": "server_players", "target": "horizon_client::game::native_server::Game<'_>::native_server_players" }, { "name": "tell", "target": "horizon_client::game::native_server::Game<'_>::native_tell" }, { "name": "action_bar", "target": "horizon_client::game::native_server::Game<'_>::native_action_bar" }, { "name": "tab_list", "target": "horizon_client::game::native_server::Game<'_>::native_tab_list" }, { "name": "tick_stats", "target": "horizon_client::game::native_server::Game<'_>::native_tick_stats" }, { "name": "sleep_ignored", "target": "horizon_client::game::native_server::Game<'_>::native_sleep_ignored" }, { "name": "set_nickname", "target": "horizon_client::game::native_server::Game<'_>::native_set_nickname" }, { "name": "text_allowed", "target": "horizon_client::game::native_server::Game<'_>::native_text_allowed" }, { "name": "broadcast", "target": "horizon_client::game::native_server::Game<'_>::native_broadcast" }, { "name": "feedback", "target": "horizon_client::game::native_server::Game<'_>::native_feedback" }, { "name": "acting_player", "target": "horizon_client::game::native_server::Game<'_>::native_acting_player" }, { "name": "run_command", "target": "horizon_client::game::native_server::Game<'_>::native_run_command" }, { "name": "world_dir", "target": "horizon_client::game::native_server::Game<'_>::native_world_dir" }, { "name": "held", "target": "horizon_client::game::native_server::Game<'_>::native_held" }, { "name": "count_items", "target": "horizon_client::game::native_server::Game<'_>::native_count_items" }, { "name": "carried_items", "target": "horizon_client::game::native_server::Game<'_>::native_carried_items" }, { "name": "take_items", "target": "horizon_client::game::native_server::Game<'_>::native_take_items" }, { "name": "room_for", "target": "horizon_client::game::native_server::Game<'_>::native_room_for" }, { "name": "give_items", "target": "horizon_client::game::native_server::Game<'_>::native_give_items" }, { "name": "give_stack", "target": "horizon_client::game::native_server::Game<'_>::native_give_stack" }, { "name": "give_experience", "target": "horizon_client::game::native_server::Game<'_>::native_give_experience" }, { "name": "give_levels", "target": "horizon_client::game::native_server::Game<'_>::native_give_levels" }, { "name": "lit_block_name", "target": "horizon_client::game::native_hooks::Game<'_>::native_lit_block_name" }, { "name": "flame_particle", "target": "horizon_client::game::native_hooks::Game<'_>::native_flame_particle" }, { "name": "carried_stack", "target": "horizon_client::game::native_hooks::Game<'_>::native_carried_stack" }, { "name": "set_block", "target": "horizon_client::game::native_hooks::Game<'_>::native_set_block" }, { "name": "edit_blocks", "target": "horizon_client::game::native_world_edit::Game<'_>::native_edit_blocks" }, { "name": "surface_heights", "target": "horizon_client::game::native_world_columns::Game<'_>::native_surface_heights" }, { "name": "read_columns", "target": "horizon_client::game::native_world_columns::Game<'_>::native_read_columns" }, { "name": "refresh_biome_colors", "target": "horizon_client::game::native_biome_colors::Game<'_>::native_refresh_biome_colors" }, { "name": "neighbor_signal", "target": "horizon_client::game::native_hooks::Game<'_>::native_neighbor_signal" }, { "name": "light", "target": "horizon_client::game::native_hooks::Game<'_>::native_light" }, { "name": "weather", "target": "horizon_client::game::native_hooks::Game<'_>::native_weather" }, { "name": "day_time", "target": "horizon_client::game::native_hooks::Game<'_>::native_day_time" }, { "name": "world_height", "target": "horizon_client::game::native_hooks::Game<'_>::native_world_height" }, { "name": "max_stack_size", "target": "horizon_client::game::native_hooks::Game<'_>::native_max_stack_size" }, { "name": "item_model", "target": "horizon_client::game::native_hooks::Game<'_>::native_item_model" }, { "name": "quad", "target": "horizon_client::game::native_hooks::Game<'_>::native_quad" }, { "name": "mod_screen_open", "target": "horizon_client::game::native_hooks::Game<'_>::native_mod_screen_open" }, { "name": "mod_screen_close", "target": "horizon_client::game::native_hooks::Game<'_>::native_mod_screen_close" }, { "name": "mod_screen", "target": "horizon_client::game::native_hooks::Game<'_>::native_mod_screen" }, { "name": "set_experience_orb", "target": "horizon_client::game::native_server::Game<'_>::native_set_experience_orb" }, { "name": "experience_orbs", "target": "horizon_client::game::native_server::Game<'_>::native_experience_orbs" }, { "name": "clock", "target": "horizon_client::game::native_hooks::Game<'_>::native_clock" }, { "name": "spawn_falling_block", "target": "horizon_client::game::native_falling::Game<'_>::native_spawn_falling_block" }, { "name": "block_state_property", "target": "horizon_client::game::native_block_entity_draw::Game<'_>::native_block_state_property" }, { "name": "raycast", "target": "horizon_client::game::native_claimed_items::Game<'_>::native_raycast" }, { "name": "view_hit", "target": "horizon_client::game::native_claimed_items::Game<'_>::native_view_hit" }, { "name": "claim_items", "target": "horizon_client::game::native_claimed_items::Game<'_>::native_claim_items" }, { "name": "poll", "target": "horizon_client::game::native_claimed_items::Game<'_>::native_poll" }, { "name": "set_item_entity", "target": "horizon_client::game::native_hooks::Game<'_>::native_set_item_entity" }, { "name": "update_output_neighbors", "target": "horizon_client::game::native_hooks::Game<'_>::native_update_output_neighbors" }, { "name": "update_signal_neighbors", "target": "horizon_client::game::native_hooks::Game<'_>::native_update_signal_neighbors" }, { "name": "block_entity_sync", "target": "horizon_client::game::native_hooks::Game<'_>::native_block_entity_sync" }, { "name": "play_local_sound", "target": "horizon_client::game::native_hooks::Game<'_>::native_play_local_sound" }, { "name": "fill", "target": "horizon_client::game::native_hooks::Game<'_>::native_fill" }, { "name": "sprite", "target": "horizon_client::game::native_hooks::Game<'_>::native_sprite" }, { "name": "item", "target": "horizon_client::game::native_hooks::Game<'_>::native_item" }, { "name": "screen_title", "target": "horizon_client::game::native_hooks::Game<'_>::native_screen_title" }, { "name": "data", "target": "horizon_client::game::native_hooks::Game<'_>::native_data" }, { "name": "block", "target": "horizon_client::game::native_hooks::Game<'_>::native_block" }, { "name": "block_property", "target": "horizon_client::game::native_hooks::Game<'_>::native_block_property" }, { "name": "insert_item", "target": "horizon_client::game::native_hooks::Game<'_>::native_insert_item" }, { "name": "cursor", "target": "horizon_client::game::native_hooks::Game<'_>::native_cursor" }, { "name": "text", "target": "horizon_client::game::native_hooks::Game<'_>::native_text" }, { "name": "built_data", "target": "horizon_client::game::native_hooks::Game<'_>::native_built_data" }, { "name": "on", "target": "horizon_client::game::native_hooks::Game<'_>::native_on" }, { "name": "mod_key", "target": "horizon_client::game::native_hooks::Game<'_>::native_mod_key" }, { "name": "setting", "target": "horizon_client::game::native_hooks::Game<'_>::native_setting" }, { "name": "set_setting", "target": "horizon_client::game::native_hooks::Game<'_>::native_set_setting" }, { "name": "set_block_property", "target": "horizon_client::game::native_hooks::Game<'_>::native_set_block_property" }, { "name": "set_block_property_with", "target": "horizon_client::game::native_hooks::Game<'_>::native_set_block_property_with" }, { "name": "config_dir", "target": "horizon_client::game::native_hooks::Game<'_>::native_config_dir" }, { "name": "panel_items", "target": "horizon_client::game::native_hooks::Game<'_>::native_panel_items" }, { "name": "recipes_of_type", "target": "horizon_client::game::native_hooks::Game<'_>::native_recipes_of_type" }, { "name": "recipe_ingredient", "target": "horizon_client::game::native_hooks::Game<'_>::native_recipe_ingredient" }, { "name": "recipe_result", "target": "horizon_client::game::native_hooks::Game<'_>::native_recipe_result" }, { "name": "known_recipes", "target": "horizon_client::game::native_hooks::Game<'_>::native_known_recipes" }, { "name": "place_recipe", "target": "horizon_client::game::native_hooks::Game<'_>::native_place_recipe" }, { "name": "give", "target": "horizon_client::game::native_hooks::Game<'_>::native_give" }, { "name": "push_player", "target": "horizon_client::game::native_motion::Game<'_>::native_push_player" }, { "name": "set_flying_speed", "target": "horizon_client::game::native_motion::Game<'_>::native_set_flying_speed" }, { "name": "net_send_to_player", "target": "horizon_client::game::native_net::Game<'_>::native_net_send_to_player" }, { "name": "net_send_to_server", "target": "horizon_client::game::native_net::Game<'_>::native_net_send_to_server" }, { "name": "dispense_default", "target": "horizon_client::game::dispenser::Game<'_>::native_dispense_default" }, { "name": "open_menu", "target": "horizon_client::game::native_menus::Game<'_>::native_open_menu" }, { "name": "set_menu_items", "target": "horizon_client::game::native_menus::Game<'_>::native_set_menu_items" }, { "name": "close_menu", "target": "horizon_client::game::native_menus::Game<'_>::native_close_menu" }, { "name": "player_stacks", "target": "horizon_client::game::native_menus::Game<'_>::native_player_stacks" }, { "name": "exchange_items", "target": "horizon_client::game::native_menus::Game<'_>::native_exchange_items" }, { "name": "fluid_insert", "target": "horizon_client::game::machines::native_fluids::Game<'_>::native_fluid_insert" }, { "name": "fluid_extract", "target": "horizon_client::game::machines::native_fluids::Game<'_>::native_fluid_extract" }, { "name": "move_fluids", "target": "horizon_client::game::machines::native_fluids::Game<'_>::native_move_fluids" }, { "name": "dimension", "target": "horizon_client::game::machines::native_items::Game<'_>::native_dimension" }, { "name": "extract_item", "target": "horizon_client::game::machines::native_items::Game<'_>::native_extract_item" }, { "name": "move_items", "target": "horizon_client::game::machines::native_items::Game<'_>::native_move_items" }, { "name": "hide_player", "target": "horizon_client::game::native_server::Game<'_>::native_hide_player" }, { "name": "item_stack", "target": "horizon_client::game::native_hooks::Game<'_>::native_item_stack" }, { "name": "mod_image", "target": "horizon_client::game::native_hooks::Game<'_>::native_mod_image" }, { "name": "instance_dir", "target": "horizon_client::game::native_hooks::Game<'_>::native_instance_dir" }, { "name": "camera", "target": "horizon_client::game::native_hooks::Game<'_>::native_camera", "mod_api": {} }, { "name": "block_collision", "target": "horizon_client::game::native_hooks::Game<'_>::native_block_collision", "mod_api": {} }, { "name": "entity_nbt", "target": "horizon_client::game::native_entity_data::Game<'_>::native_entity_nbt", "receiver": "entity" }, { "name": "entity_merge_nbt", "target": "horizon_client::game::native_entity_data::Game<'_>::native_entity_merge_nbt", "receiver": "entity" }, { "name": "entity_tags", "target": "horizon_client::game::native_entity_data::Game<'_>::native_entity_tags", "receiver": "entity" }, { "name": "entity_add_tag", "target": "horizon_client::game::native_entity_data::Game<'_>::native_entity_add_tag", "receiver": "entity" }, { "name": "entity_remove_tag", "target": "horizon_client::game::native_entity_data::Game<'_>::native_entity_remove_tag", "receiver": "entity" }, { "name": "entity_name", "target": "horizon_client::game::native_entity_data::Game<'_>::native_entity_name", "receiver": "entity" }, { "name": "entity", "target": "horizon_client::game::native_entity_refs::Game<'_>::native_entity" }, { "name": "level", "target": "horizon_client::game::native_entity_refs::Game<'_>::native_level" }, { "name": "entity_position", "target": "horizon_client::game::native_entity_refs::Game<'_>::native_entity_position", "receiver": "entity" }, { "name": "entity_block_position", "target": "horizon_client::game::native_entity_refs::Game<'_>::native_entity_block_position", "receiver": "entity" }, { "name": "entity_rotation", "target": "horizon_client::game::native_entity_refs::Game<'_>::native_entity_rotation", "receiver": "entity" }, { "name": "entity_kind", "target": "horizon_client::game::native_entity_refs::Game<'_>::native_entity_kind", "receiver": "entity" }, { "name": "entity_uuid", "target": "horizon_client::game::native_entity_refs::Game<'_>::native_entity_uuid", "receiver": "entity" }, { "name": "entity_level", "target": "horizon_client::game::native_entity_refs::Game<'_>::native_entity_level", "receiver": "entity" }, { "name": "entity_velocity", "target": "horizon_client::game::native_entity_motion::Game<'_>::native_entity_velocity", "receiver": "entity" }, { "name": "entity_set_velocity", "target": "horizon_client::game::native_entity_motion::Game<'_>::native_entity_set_velocity", "receiver": "entity" }, { "name": "entity_on_ground", "target": "horizon_client::game::native_entity_motion::Game<'_>::native_entity_on_ground", "receiver": "entity" }, { "name": "entity_bounding_box", "target": "horizon_client::game::native_entity_motion::Game<'_>::native_entity_bounding_box", "receiver": "entity" }, { "name": "entity_eye_height", "target": "horizon_client::game::native_entity_motion::Game<'_>::native_entity_eye_height", "receiver": "entity" }, { "name": "entity_eye_position", "target": "horizon_client::game::native_entity_motion::Game<'_>::native_entity_eye_position", "receiver": "entity" }, { "name": "entity_view_vector", "target": "horizon_client::game::native_entity_motion::Game<'_>::native_entity_view_vector", "receiver": "entity" }, { "name": "entity_distance_to_sqr", "target": "horizon_client::game::native_entity_motion::Game<'_>::native_entity_distance_to_sqr", "receiver": "entity" }, { "name": "item_container_slots", "target": "horizon_client::game::native_item_container::Game<'_>::native_item_container_slots", "mod_api": {} }, { "name": "item_container_insert", "target": "horizon_client::game::native_item_container::Game<'_>::native_item_container_insert", "mod_api": {} }, { "name": "item_container_extract", "target": "horizon_client::game::native_item_container::Game<'_>::native_item_container_extract", "mod_api": {} }, { "name": "level_block_state", "target": "horizon_client::game::native_level_refs::Game<'_>::native_level_block_state", "receiver": "level" }, { "name": "level_block", "target": "horizon_client::game::native_level_refs::Game<'_>::native_level_block", "receiver": "level" }, { "name": "level_block_property", "target": "horizon_client::game::native_level_refs::Game<'_>::native_level_block_property", "receiver": "level" }, { "name": "level_is_loaded", "target": "horizon_client::game::native_level_refs::Game<'_>::native_level_is_loaded", "receiver": "level" }, { "name": "level_height", "target": "horizon_client::game::native_level_refs::Game<'_>::native_level_height", "receiver": "level" }, { "name": "level_game_time", "target": "horizon_client::game::native_level_refs::Game<'_>::native_level_game_time", "receiver": "level" }, { "name": "level_day_time", "target": "horizon_client::game::native_level_refs::Game<'_>::native_level_day_time", "receiver": "level" }, { "name": "living", "target": "horizon_client::game::native_living_refs::Game<'_>::native_living" }, { "name": "living_equipment", "target": "horizon_client::game::native_living_refs::Game<'_>::native_living_equipment", "receiver": "living" }, { "name": "living_hand_item", "target": "horizon_client::game::native_living_refs::Game<'_>::native_living_hand_item", "receiver": "living" }, { "name": "living_set_equipment", "target": "horizon_client::game::native_living_refs::Game<'_>::native_living_set_equipment", "receiver": "living" }, { "name": "block_sprites", "target": "horizon_client::game::native_block_sprites::Game<'_>::native_block_sprites" }, { "name": "texture_sprites", "target": "horizon_client::game::native_block_sprites::Game<'_>::native_texture_sprites" }, { "name": "block_sprites_version", "target": "horizon_client::game::native_block_sprites::Game<'_>::native_block_sprites_version" }, { "name": "recipe_book_category", "target": "horizon_client::game::native_hooks::Game<'_>::native_recipe_book_category", "mod_api": {} }, { "name": "screen_pos", "target": "horizon_client::game::native_hooks::Game<'_>::native_screen_pos", "mod_api": {} }, { "name": "screen_extra_data", "target": "horizon_client::game::native_hooks::Game<'_>::native_screen_extra_data", "mod_api": {} }, { "name": "send_chat", "target": "horizon_client::game::native_net::Game<'_>::native_send_chat" }, { "name": "send_packet", "target": "horizon_client::game::native_net::Game<'_>::native_send_packet" }, { "name": "client_state", "target": "horizon_client::game::native_client_services::Game<'_>::native_client_state" }, { "name": "client_entities", "target": "horizon_client::game::native_client_services::Game<'_>::native_client_entities" }, { "name": "client_heads", "target": "horizon_client::game::native_client_services::Game<'_>::native_client_heads" }, { "name": "client_profiles", "target": "horizon_client::game::native_client_services::Game<'_>::native_client_profiles" }, { "name": "client_visual_clear", "target": "horizon_client::game::native_client_services::Game<'_>::native_client_visual_clear" }, { "name": "client_block_obstruction", "target": "horizon_client::game::native_client_services::Game<'_>::native_client_block_obstruction" }, { "name": "gui_paint", "target": "horizon_client::game::native_client_services::Game<'_>::native_gui_paint" }, { "name": "gui_nine_slice", "target": "horizon_client::game::native_client_services::Game<'_>::native_gui_nine_slice" }, { "name": "gui_tooltip", "target": "horizon_client::game::native_client_services::Game<'_>::native_gui_tooltip" }, { "name": "set_mod_key", "target": "horizon_client::game::native_client_services::Game<'_>::native_set_mod_key" }, { "name": "client_action_bar", "target": "horizon_client::game::native_client_services::Game<'_>::native_client_action_bar" }, { "name": "text_width", "target": "horizon_client::game::native_hooks::Game<'_>::native_text_width" }, { "name": "playing", "target": "horizon_client::game::native_hooks::Game<'_>::native_playing" }, { "name": "window", "target": "horizon_client::game::native_hooks::Game<'_>::native_window" }, { "name": "player", "target": "horizon_client::game::native_hooks::Game<'_>::native_player" } ], "hooks": [ { "name": "frame", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_frame", "neoforge": "RenderFrameEvent.Pre (once a frame, after the frame's ticks and before its drawing)", "side": "client", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "tick", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_tick", "mod_api": { "contract": "listen" } }, { "name": "visuals", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_visuals", "mod_api": { "contract": "listen" } }, { "name": "emissive", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_emissive", "mod_api": { "contract": "collect", "out": "layers" } }, { "name": "world_lifecycle", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_world_lifecycle", "neoforge": "ServerStartingEvent / ServerStartedEvent / ServerStoppedEvent (WorldOpenReady answers both Starting and Started; also told when a world fails to open or close)", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "server_about_to_start", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_server_about_to_start", "neoforge": "ServerAboutToStartEvent", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "server_stopping", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_server_stopping", "neoforge": "ServerStoppingEvent", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "server_tick", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_server_tick", "neoforge": "ServerTickEvent.Pre / ServerTickEvent.Post", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "level_tick_pre", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_level_tick_pre", "neoforge": "LevelTickEvent.Pre", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "level_tick_post", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_level_tick_post", "neoforge": "LevelTickEvent.Post", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "block_changed", "version": 1, "target": "horizon_client::game::native_hooks::GameLevel<'_>::native_block_changed", "mod_api": { "contract": "listen" } }, { "name": "neighbor_changed", "version": 1, "target": "horizon_client::game::native_hooks::GameLevel<'_>::native_neighbor_changed", "mod_api": { "contract": "listen" } }, { "name": "random_tick", "version": 1, "target": "horizon_client::game::native_hooks::GameLevel<'_>::native_random_tick", "mod_api": { "contract": "cancel", "out": "handled" } }, { "name": "tick_block", "version": 1, "target": "horizon_client::game::native_hooks::GameLevel<'_>::native_tick_block", "mod_api": { "contract": "cancel", "out": "handled" } }, { "name": "update_shape", "version": 1, "target": "horizon_client::game::native_hooks::GameLevel<'_>::native_update_shape", "mod_api": { "contract": "replace", "out": "new" } }, { "name": "hud", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_hud", "mod_api": { "contract": "listen" } }, { "name": "key", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_key", "mod_api": { "contract": "listen" } }, { "name": "wheel", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_wheel", "mod_api": { "contract": "cancel", "out": "claimed" } }, { "name": "command", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_command", "mod_api": { "contract": "cancel", "out": "ran" } }, { "name": "commands", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_commands", "mod_api": { "contract": "collect", "out": "commands" } }, { "name": "zoom", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_zoom", "mod_api": { "contract": "replace", "out": "zoom" } }, { "name": "minimap", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_minimap", "mod_api": { "contract": "replace", "out": "minimap" } }, { "name": "mods", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_mods", "mod_api": { "contract": "collect", "out": "mods" } }, { "name": "settings", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_settings", "mod_api": { "contract": "collect", "out": "buttons" } }, { "name": "settings_click", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_settings_click", "mod_api": { "contract": "listen" } }, { "name": "panel_event", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_panel_event", "mod_api": { "contract": "listen" } }, { "name": "block_entity", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_block_entity", "mod_api": { "contract": "replace", "out": "entity" } }, { "name": "block_entity_ticks", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_block_entity_ticks", "mod_api": { "contract": "listen" } }, { "name": "block_entity_tick", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_block_entity_tick", "mod_api": { "contract": "listen" } }, { "name": "block_entity_update_tag", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_block_entity_update_tag", "mod_api": { "contract": "replace", "out": "tag" } }, { "name": "block_entity_container", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_block_entity_container", "neoforge": "Capabilities.Item.BLOCK", "cancellable": false, "mod_api": { "contract": "replace", "out": "container" } }, { "name": "screen", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_screen", "mod_api": { "contract": "replace", "out": "screen" } }, { "name": "screen_draw", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_screen_draw", "mod_api": { "contract": "listen" } }, { "name": "screen_click", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_screen_click", "mod_api": { "contract": "replace", "out": "button" } }, { "name": "screen_tooltip", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_screen_tooltip", "mod_api": { "contract": "collect", "out": "lines" } }, { "name": "menu_button", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_menu_button", "mod_api": { "contract": "listen" } }, { "name": "register_commands", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_register_commands", "neoforge": "RegisterCommandsEvent", "side": "server", "cancellable": false, "mod_api": { "contract": "collect", "out": "commands" } }, { "name": "perform_command", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_perform_command", "mod_api": { "contract": "cancel", "out": "ran" } }, { "name": "menu_clicked", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_menu_clicked", "mod_api": { "contract": "listen" } }, { "name": "menu_closed", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_menu_closed", "mod_api": { "contract": "listen" } }, { "name": "tooltip", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_tooltip", "neoforge": "ItemTooltipEvent", "cancellable": false, "mod_api": { "contract": "collect", "out": "lines" } }, { "name": "use_item_on", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_use_item_on", "mod_api": { "contract": "cancel", "out": "claimed" } }, { "name": "use_item", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_use_item", "neoforge": "PlayerInteractEvent.RightClickItem", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "claimed" } }, { "name": "destroy_block", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_destroy_block", "neoforge": "BlockEvent.BreakEvent", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "place_block", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_place_block", "neoforge": "BlockEvent.EntityPlaceEvent (hears only: a mod stops a placement by claiming use_item_on)", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "right_click_block", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_right_click_block", "neoforge": "PlayerInteractEvent.RightClickBlock", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "block_spread", "version": 1, "target": "horizon_client::game::native_hooks::GameLevel<'_>::native_block_spread", "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "piston_move", "version": 1, "target": "horizon_client::game::native_hooks::GameLevel<'_>::native_piston_move", "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "explosion_detonate", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_explosion_detonate", "neoforge": "ExplosionEvent.Detonate (blocks only: entities are hurt as before)", "side": "server", "cancellable": false, "mod_api": { "contract": "collect", "out": "blocks" } }, { "name": "fill_bucket", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_fill_bucket", "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "attack_entity", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_attack_entity", "neoforge": "AttackEntityEvent", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "net_from_client", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_net_from_client", "mod_api": { "contract": "listen" } }, { "name": "net_from_server", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_net_from_server", "mod_api": { "contract": "listen" } }, { "name": "player_died", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_died", "mod_api": { "contract": "listen" } }, { "name": "mob_spawned", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_mob_spawned", "mod_api": { "contract": "listen" } }, { "name": "mob_killed", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_mob_killed", "mod_api": { "contract": "listen" } }, { "name": "item_dropped", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_item_dropped", "neoforge": "ItemTossEvent (only hears: a toss can't be canceled)", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "item_picked_up", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_item_picked_up", "neoforge": "ItemEntityPickupEvent.Pre (canceled is setCanPickup(TriState.FALSE); no forced pickup)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "hurt_enemy", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_hurt_enemy", "mod_api": { "contract": "listen" } }, { "name": "inventory_tick", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_inventory_tick", "mod_api": { "contract": "listen" } }, { "name": "on_equip", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_on_equip", "mod_api": { "contract": "listen" } }, { "name": "block_signal", "version": 1, "target": "horizon_client::game::native_hooks::GameLevel<'_>::native_block_signal", "mod_api": { "contract": "listen" } }, { "name": "is_signal_source", "version": 1, "target": "horizon_client::game::native_hooks::GameLevel<'_>::native_is_signal_source", "mod_api": { "contract": "listen" } }, { "name": "health_hud", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_health_hud", "mod_api": { "contract": "replace", "out": "draws" } }, { "name": "interact_entity", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_interact_entity", "neoforge": "PlayerInteractEvent.EntityInteract", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "claimed" } }, { "name": "left_click_block", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_left_click_block", "neoforge": "PlayerInteractEvent.LeftClickBlock", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "player_tick", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_tick", "neoforge": "PlayerTickEvent.Post", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "entity_join_level", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_entity_join_level", "neoforge": "EntityJoinLevelEvent", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "living_incoming_damage", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_living_incoming_damage", "neoforge": "LivingIncomingDamageEvent", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "menu_button_v2", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_menu_button_v2", "mod_api": { "contract": "listen" } }, { "name": "entity_leave_level", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_entity_leave_level", "neoforge": "EntityLeaveLevelEvent", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "block_entity_fluids", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_block_entity_fluids", "neoforge": "Capabilities.FluidHandler.BLOCK", "cancellable": false, "mod_api": { "contract": "replace", "out": "fluids" } }, { "name": "should_apply_effect_tick_this_tick", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_should_apply_effect_tick_this_tick", "mod_api": { "contract": "listen" } }, { "name": "apply_effect_tick", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_apply_effect_tick", "mod_api": { "contract": "listen" } }, { "name": "on_effect_added", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_on_effect_added", "mod_api": { "contract": "listen" } }, { "name": "mob_effect_added", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_mob_effect_added", "neoforge": "MobEffectEvent.Added", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "chunk_load", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_chunk_load", "neoforge": "ChunkEvent.Load", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "chunk_unload", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_chunk_unload", "neoforge": "ChunkEvent.Unload", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "player_logged_in", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_logged_in", "neoforge": "PlayerEvent.PlayerLoggedInEvent", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "player_logged_out", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_logged_out", "neoforge": "PlayerEvent.PlayerLoggedOutEvent", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "world_drawn", "version": 1, "target": "horizon_client_render::gfx::native_render::native_world_drawn", "neoforge": "RenderLevelStageEvent (the drawn world's colour, depth and matrices, once the whole level is drawn, before the hand)", "side": "client", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "render_needs", "version": 1, "target": "horizon_client_render::gfx::native_render::native_render_needs", "mod_api": { "contract": "collect", "out": "needs" } }, { "name": "item_bar", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_item_bar", "mod_api": { "contract": "listen" } }, { "name": "has_analog_output", "version": 1, "target": "horizon_client::game::native_hooks::GameLevel<'_>::native_has_analog_output", "mod_api": { "contract": "collect", "out": "output" } }, { "name": "analog_output", "version": 1, "target": "horizon_client::game::native_hooks::GameLevel<'_>::native_analog_output", "mod_api": { "contract": "collect", "out": "output" } }, { "name": "component_types", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_component_types", "mod_api": { "contract": "collect", "out": "types" } }, { "name": "dispense_item", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_dispense_item", "side": "server", "mod_api": { "contract": "replace", "out": "answer" } }, { "name": "tooltip_component", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_tooltip_component", "neoforge": "RenderTooltipEvent.GatherComponents (one image component after the text, drawn by tooltip_component_draw)", "side": "client", "cancellable": false, "mod_api": { "contract": "replace", "out": "size" } }, { "name": "tooltip_component_draw", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_tooltip_component_draw", "side": "client", "mod_api": { "contract": "listen" } }, { "name": "can_survive", "version": 1, "target": "horizon_client::game::native_hooks::GameLevel<'_>::native_can_survive", "mod_api": { "contract": "replace", "out": "survives" } }, { "name": "may_place_on", "version": 1, "target": "horizon_client::game::native_hooks::GameLevel<'_>::native_may_place_on", "mod_api": { "contract": "replace", "out": "may" } }, { "name": "block_entity_submit", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_block_entity_submit", "mod_api": { "contract": "listen" } }, { "name": "block_entity_render_bounding_box", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_block_entity_render_bounding_box", "mod_api": { "contract": "collect", "out": "bounds" } }, { "name": "is_valid_bonemeal_target", "version": 1, "target": "horizon_client::game::native_hooks::GameLevel<'_>::native_is_valid_bonemeal_target", "mod_api": { "contract": "replace", "out": "valid" } }, { "name": "is_bonemeal_success", "version": 1, "target": "horizon_client::game::native_hooks::GameLevel<'_>::native_is_bonemeal_success", "mod_api": { "contract": "collect", "out": "success" } }, { "name": "perform_bonemeal", "version": 1, "target": "horizon_client::game::native_hooks::GameLevel<'_>::native_perform_bonemeal", "mod_api": { "contract": "listen" } }, { "name": "block_step_on", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_block_step_on", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "block_entity_inside", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_block_entity_inside", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "block_fall_on", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_block_fall_on", "side": "server", "mod_api": { "contract": "collect", "out": "damage" } }, { "name": "consume_effect", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_consume_effect", "mod_api": { "contract": "listen" } }, { "name": "loot_table_load", "version": 1, "target": "horizon_world::loot::native_loot_table_load", "neoforge": "LootTableLoadEvent", "cancellable": false, "mod_api": { "contract": "collect", "out": "table" } }, { "name": "loot_drops", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_loot_drops", "neoforge": "LivingDropsEvent / BlockDropsEvent", "side": "server", "cancellable": false, "mod_api": { "contract": "collect", "out": "drops" } }, { "name": "state_for_placement", "version": 1, "target": "horizon_client::game::native_hooks::GameLevel<'_>::native_state_for_placement", "mod_api": { "contract": "replace", "out": "answer" } }, { "name": "enchant_effect", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_enchant_effect", "mod_api": { "contract": "listen" } }, { "name": "screen_render_post", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_screen_render_post", "neoforge": "ScreenEvent.Render.Post", "side": "client", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "modify_default_components", "version": 1, "target": "horizon_world::item_defaults::native_modify_default_components", "neoforge": "ModifyDefaultComponentsEvent", "side": "both", "cancellable": false, "mod_api": { "contract": "collect", "out": "components" } }, { "name": "screen_mouse_button_pressed_pre", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_screen_mouse_button_pressed_pre", "neoforge": "ScreenEvent.MouseButtonPressed.Pre", "side": "client", "cancellable": true, "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "screen_mouse_button_released_pre", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_screen_mouse_button_released_pre", "neoforge": "ScreenEvent.MouseButtonReleased.Pre", "side": "client", "cancellable": true, "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "camera_shake", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_camera_shake", "mod_api": { "contract": "listen" } }, { "name": "shader_params", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_shader_params", "mod_api": { "contract": "listen" } }, { "name": "block_highlight", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_block_highlight", "neoforge": "RenderHighlightEvent.Block", "side": "client", "cancellable": true, "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "render_hand", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_render_hand", "neoforge": "RenderHandEvent", "side": "client", "cancellable": true, "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "client_resources_reloaded", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_client_resources_reloaded", "side": "client", "mod_api": { "contract": "listen" } }, { "name": "item_decorations", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_item_decorations", "neoforge": "RegisterItemDecorationsEvent", "side": "client", "mod_api": { "contract": "listen" } }, { "name": "use_duration", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_use_duration", "mod_api": { "contract": "listen" } }, { "name": "use_animation", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_use_animation", "side": "client", "mod_api": { "contract": "listen" } }, { "name": "can_eat", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_can_eat", "mod_api": { "contract": "listen" } }, { "name": "living_entity_use_item_start", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_living_entity_use_item_start", "neoforge": "LivingEntityUseItemEvent.Start", "cancellable": true, "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "living_entity_use_item_finish", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_living_entity_use_item_finish", "neoforge": "LivingEntityUseItemEvent.Finish", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "screen_mouse_scrolled_pre", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_screen_mouse_scrolled_pre", "neoforge": "ScreenEvent.MouseScrolled.Pre", "side": "client", "cancellable": true, "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "player_command", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_command", "neoforge": "CommandEvent", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "perform_console_command", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_perform_console_command", "mod_api": { "contract": "cancel", "out": "ran" } }, { "name": "screen_key_pressed_pre", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_screen_key_pressed_pre", "neoforge": "ScreenEvent.KeyPressed.Pre", "side": "client", "cancellable": true, "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "screen_char_typed_pre", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_screen_char_typed_pre", "neoforge": "ScreenEvent.CharacterTyped.Pre", "side": "client", "cancellable": true, "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "data_pack_files", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_data_pack_files", "mod_api": { "contract": "collect", "out": "files" } }, { "name": "biome_colors", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_biome_colors", "side": "client", "mod_api": { "contract": "listen" } }, { "name": "server_data_loaded", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_server_data_loaded", "neoforge": "TagsUpdatedEvent (SERVER_DATA_LOAD)", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "compute_fov", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_compute_fov", "neoforge": "ViewportEvent.ComputeFov", "side": "client", "mod_api": { "contract": "listen" } }, { "name": "mob_submit", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_mob_submit", "neoforge": "RenderLivingEvent.Pre", "side": "client", "cancellable": true, "mod_api": { "contract": "cancel", "out": "drawn" } }, { "name": "camera_distance", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_camera_distance", "neoforge": "CalculateDetachedCameraDistanceEvent", "side": "client", "mod_api": { "contract": "listen" } }, { "name": "compute_fog_color", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_compute_fog_color", "neoforge": "ViewportEvent.ComputeFogColor", "side": "client", "mod_api": { "contract": "listen" } }, { "name": "mouse_button_pre", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_mouse_button_pre", "neoforge": "InputEvent.MouseButton.Pre", "side": "client", "cancellable": true, "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "mouse_button_post", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_mouse_button_post", "neoforge": "InputEvent.MouseButton.Post", "side": "client", "mod_api": { "contract": "listen" } }, { "name": "player_respawned", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_respawned", "neoforge": "PlayerEvent.PlayerRespawnEvent", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "render_fog", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_render_fog", "neoforge": "ViewportEvent.RenderFog", "side": "client", "mod_api": { "contract": "listen" } }, { "name": "screen_key_released_pre", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_screen_key_released_pre", "neoforge": "ScreenEvent.KeyReleased.Pre", "side": "client", "cancellable": true, "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "music", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_music", "neoforge": "SelectMusicEvent", "side": "client", "mod_api": { "contract": "listen" } }, { "name": "music_layers", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_music_layers", "side": "client", "mod_api": { "contract": "collect", "out": "layers" } }, { "name": "datapack_sync", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_datapack_sync", "neoforge": "OnDatapackSyncEvent", "side": "server", "mod_api": { "contract": "collect", "out": "recipe_types" } }, { "name": "recipes_received", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_recipes_received", "neoforge": "RecipesReceivedEvent", "side": "client", "mod_api": { "contract": "listen" } }, { "name": "input_key", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_input_key", "neoforge": "InputEvent.Key", "side": "client", "mod_api": { "contract": "listen" } }, { "name": "mouse_scrolling", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_mouse_scrolling", "neoforge": "InputEvent.MouseScrollingEvent", "side": "client", "cancellable": true, "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "screen_mouse_dragged_pre", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_screen_mouse_dragged_pre", "neoforge": "ScreenEvent.MouseDragged.Pre", "side": "client", "cancellable": true, "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "mod_container_viewers", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_mod_container_viewers", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "living_knockback", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_living_knockback", "neoforge": "LivingKnockBackEvent", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "experience_orb_can_merge", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_experience_orb_can_merge", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "experience_orb_merge", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_experience_orb_merge", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "menu_slot_rules", "version": 1, "target": "horizon_client_lib::menu::native_menu_slot_rules", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "living_entity_use_item_tick", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_living_entity_use_item_tick", "neoforge": "LivingEntityUseItemEvent.Tick", "cancellable": true, "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "on_use_tick", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_on_use_tick", "mod_api": { "contract": "listen" } }, { "name": "living_entity_use_item_stop", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_living_entity_use_item_stop", "neoforge": "LivingEntityUseItemEvent.Stop", "cancellable": true, "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "release_using", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_release_using", "mod_api": { "contract": "listen" } }, { "name": "loot_function", "version": 1, "target": "horizon_world::loot::native_loot_function", "mod_api": { "contract": "collect", "out": "stack" } }, { "name": "loot_condition", "version": 1, "target": "horizon_world::loot::native_loot_condition", "mod_api": { "contract": "collect", "out": "holds" } }, { "name": "level_load", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_level_load", "neoforge": "LevelEvent.Load", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "level_unload", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_level_unload", "neoforge": "LevelEvent.Unload", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "client_level_load", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_client_level_load", "neoforge": "LevelEvent.Load", "side": "client", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "client_level_unload", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_client_level_unload", "neoforge": "LevelEvent.Unload", "side": "client", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "hears_projectile_impacts", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_hears_projectile_impacts", "side": "server", "mod_api": { "contract": "collect", "out": "hears" } }, { "name": "projectile_impact", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_projectile_impact", "neoforge": "ProjectileImpactEvent", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "entity_mount", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_entity_mount", "neoforge": "EntityMountEvent", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "interaction_key", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_interaction_key", "neoforge": "InputEvent.InteractionKeyMappingTriggered", "side": "client", "cancellable": true, "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "gui_layer_pre", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_gui_layer_pre", "neoforge": "RenderGuiLayerEvent.Pre", "side": "client", "cancellable": true, "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "gui_layer_post", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_gui_layer_post", "neoforge": "RenderGuiLayerEvent.Post", "side": "client", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "map_decorations", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_map_decorations", "neoforge": "MapDecorationType", "side": "client", "cancellable": false, "mod_api": { "contract": "collect", "out": "decorations" } }, { "name": "player_start_tracking", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_start_tracking", "neoforge": "PlayerEvent.StartTracking", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "player_stop_tracking", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_stop_tracking", "neoforge": "PlayerEvent.StopTracking", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "block_entity_energy", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_block_entity_energy", "neoforge": "Capabilities.Energy.BLOCK", "side": "server", "mod_api": { "contract": "replace", "out": "energy" } }, { "name": "data_map_types", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_data_map_types", "neoforge": "RegisterDataMapTypesEvent", "side": "server", "mod_api": { "contract": "collect", "out": "types" } }, { "name": "living_breathe", "version": 1, "target": "horizon_client_lib::breathing::native_living_breathe", "neoforge": "LivingBreatheEvent", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "blocks", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_blocks", "neoforge": "RegisterEvent", "mod_api": { "contract": "collect", "out": "blocks" } }, { "name": "items", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_items", "neoforge": "RegisterEvent", "mod_api": { "contract": "collect", "out": "items" } }, { "name": "entity_tick_pre", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_entity_tick_pre", "neoforge": "EntityTickEvent.Pre", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "entity_tick_post", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_entity_tick_post", "neoforge": "EntityTickEvent.Post", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "entity_tick_listened", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_entity_tick_listened", "side": "server", "cancellable": false, "mod_api": { "contract": "collect", "out": "listened" } }, { "name": "item_fluid_tank", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_item_fluid_tank", "neoforge": "Capabilities.FluidHandler.ITEM", "mod_api": { "contract": "replace", "out": "capacity" } }, { "name": "living_equipment_change", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_living_equipment_change", "neoforge": "LivingEquipmentChangeEvent", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "living_equipment_listened", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_living_equipment_listened", "side": "server", "cancellable": false, "mod_api": { "contract": "collect", "out": "listened" } }, { "name": "player_submit", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_submit", "neoforge": "RenderPlayerEvent.Pre", "side": "client", "cancellable": true, "mod_api": { "contract": "cancel", "out": "drawn" } }, { "name": "mob_layer", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_mob_layer", "neoforge": "EntityRenderersEvent.AddLayers", "side": "client", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "player_render_listened", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_render_listened", "side": "client", "cancellable": false, "mod_api": { "contract": "collect", "out": "listened" } }, { "name": "sign_changed", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_sign_changed", "neoforge": "none (NeoForge has no sign-editing event)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "standalone_models", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_standalone_models", "neoforge": "ModelEvent.RegisterStandalone", "side": "client", "mod_api": { "contract": "collect", "out": "models" } }, { "name": "player_container_open", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_container_open", "neoforge": "PlayerContainerEvent.Open", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "player_container_close", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_container_close", "neoforge": "PlayerContainerEvent.Close", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "player_toggle_flight", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_toggle_flight", "neoforge": "none (NeoForge has no flight toggle event; Bukkit's PlayerToggleFlightEvent)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "anvil_damaged", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_anvil_damaged", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "arrow_loose", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_arrow_loose", "neoforge": "ArrowLooseEvent", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "beacon_state_change", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_beacon_state_change", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "bell_ring", "version": 1, "target": "horizon_client::game::native_hooks::GameLevel<'_>::native_bell_ring", "neoforge": "none (NeoForge has no such event; Bukkit's BellRingEvent)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "block_break_progress_update", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_block_break_progress_update", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "block_burn", "version": 1, "target": "horizon_client::game::native_hooks::GameLevel<'_>::native_block_burn", "neoforge": "none (NeoForge has no such event; Bukkit's BlockBurnEvent)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "block_cook", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_block_cook", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "block_damage_abort", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_block_damage_abort", "neoforge": "none (NeoForge has no such event; Bukkit's BlockDamageAbortEvent)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "block_dispense_armor", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_block_dispense_armor", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "block_exp", "version": 1, "target": "horizon_client::game::native_hooks::GameLevel<'_>::native_block_exp", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "block_fade", "version": 1, "target": "horizon_client::game::native_hooks::GameLevel<'_>::native_block_fade", "neoforge": "none (NeoForge has no such event)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "block_failed_dispense", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_block_failed_dispense", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "block_form", "version": 1, "target": "horizon_client::game::native_hooks::GameLevel<'_>::native_block_form", "neoforge": "none (NeoForge has no such event)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "block_ignite", "version": 1, "target": "horizon_client::game::native_hooks::GameLevel<'_>::native_block_ignite", "neoforge": "none (NeoForge has no such event; Bukkit's BlockIgniteEvent)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "block_lock_check", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_block_lock_check", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "cancel", "out": "locked" } }, { "name": "block_receive_game", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_block_receive_game", "neoforge": "none (NeoForge has no such event)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "block_shear_entity", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_block_shear_entity", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "brewing_complete", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_brewing_complete", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "brewing_fuel", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_brewing_fuel", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "brewing_start", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_brewing_start", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "broadcast_message", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_broadcast_message", "neoforge": "none (NeoForge has no such event; Bukkit's BroadcastMessageEvent)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "campfire_start", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_campfire_start", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "cauldron_level_changed", "version": 1, "target": "horizon_client::game::native_hooks::GameLevel<'_>::native_cauldron_level_changed", "neoforge": "none (NeoForge has no such event; Bukkit's CauldronLevelChangeEvent)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "chorus_fruit_teleport", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_chorus_fruit_teleport", "neoforge": "EntityTeleportEvent.ChorusFruit", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "compost_item", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_compost_item", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "crafter_craft", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_crafter_craft", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "creeper_ignite", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_creeper_ignite", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "creeper_power", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_creeper_power", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "critical_hit", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_critical_hit", "neoforge": "CriticalHitEvent", "side": "both", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "difficulty_changed", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_difficulty_changed", "neoforge": "DifficultyChangeEvent", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "dragon_egg_form", "version": 1, "target": "horizon_client::game::native_hooks::GameLevel<'_>::native_dragon_egg_form", "neoforge": "none (NeoForge has no such event)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "enchant_item", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_enchant_item", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "ender_pearl_teleport", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_ender_pearl_teleport", "neoforge": "EntityTeleportEvent.EnderPearl", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "entities_load", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_entities_load", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "entities_unload", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_entities_unload", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "entity_break_door", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_entity_break_door", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "entity_breed", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_entity_breed", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "entity_change_block", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_entity_change_block", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "entity_drop_item", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_entity_drop_item", "neoforge": "none (NeoForge has no such event; Bukkit's EntityDropItemEvent)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "entity_enter_block", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_entity_enter_block", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "entity_enter_love_mode", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_entity_enter_love_mode", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "entity_portal", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_entity_portal", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "entity_pose_change", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_entity_pose_change", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "entity_shoot_bow", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_entity_shoot_bow", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "entity_tame", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_entity_tame", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "entity_teleport", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_entity_teleport", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "entity_toggle_glide", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_entity_toggle_glide", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "entity_transform", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_entity_transform", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "entity_unleash", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_entity_unleash", "neoforge": "none (NeoForge has no such event; Bukkit's EntityUnleashEvent)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "exp_bottle", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_exp_bottle", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "experience_orb_pickup_listened", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_experience_orb_pickup_listened", "side": "server", "mod_api": { "contract": "collect", "out": "listened" } }, { "name": "experience_orb_pickup", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_experience_orb_pickup", "neoforge": "PlayerXpEvent.PickupXp", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "mending_repair", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_mending_repair", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "explosion_prime", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_explosion_prime", "neoforge": "none (NeoForge has no such event; Bukkit's ExplosionPrimeEvent)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "fire_odds", "version": 1, "target": "horizon_client::game::native_hooks::GameLevel<'_>::native_fire_odds", "mod_api": { "contract": "replace", "out": "odds" } }, { "name": "smoke_source", "version": 1, "target": "horizon_client::game::native_hooks::GameLevel<'_>::native_smoke_source", "mod_api": { "contract": "replace", "out": "smoke" } }, { "name": "firework_explode", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_firework_explode", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "fluid_level_change", "version": 1, "target": "horizon_client::game::native_hooks::GameLevel<'_>::native_fluid_level_change", "neoforge": "none (NeoForge has no such event)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "framerate_limit", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_framerate_limit", "neoforge": "none (vanilla FramerateLimitTracker.getFramerateLimit fires no event)", "side": "client", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "furnace_burn", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_furnace_burn", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "furnace_extract", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_furnace_extract", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "furnace_smelt", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_furnace_smelt", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "furnace_start_smelt", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_furnace_start_smelt", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "game_event", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_game_event", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "hopper_inventory_search", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_hopper_inventory_search", "neoforge": "none (NeoForge has no such event; Bukkit's InventoryMoveItemEvent)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "hopper_pickup_item", "version": 1, "target": "horizon_client::game::native_hooks::GameLevel<'_>::native_hopper_pickup_item", "neoforge": "none (NeoForge has no direct equivalent; Bukkit's InventoryPickupItemEvent)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "ingredient", "version": 1, "target": "horizon_client_lib::crafting::native_ingredient", "mod_api": { "contract": "collect", "out": "items" } }, { "name": "inventory_block_start", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_inventory_block_start", "neoforge": "none (NeoForge has no such event)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "inventory_move_item", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_inventory_move_item", "neoforge": "none (NeoForge has no such event; Bukkit's InventoryMoveItemEvent)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "item_crafted", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_item_crafted", "neoforge": "PlayerEvent.ItemCraftedEvent", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "item_despawn", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_item_despawn", "neoforge": "none (NeoForge has no such event; Bukkit's ItemDespawnEvent)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "item_energy_buffer", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_item_energy_buffer", "neoforge": "Capabilities.Energy.ITEM", "mod_api": { "contract": "replace", "out": "buffer" } }, { "name": "item_expire", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_item_expire", "neoforge": "ItemExpireEvent", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "item_spawn", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_item_spawn", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "leaves_decay", "version": 1, "target": "horizon_client::game::native_hooks::GameLevel<'_>::native_leaves_decay", "neoforge": "none (NeoForge has no such event)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "lightning_strike", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_lightning_strike", "neoforge": "none (NeoForge has no such event)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "menu_quick_move", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_menu_quick_move", "neoforge": "none (a Java menu overrides AbstractContainerMenu.quickMoveStack; no event)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "handled" } }, { "name": "moisture_change", "version": 1, "target": "horizon_client::game::native_hooks::GameLevel<'_>::native_moisture_change", "neoforge": "none (NeoForge has no such event)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "anvil_craft_post", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_anvil_craft_post", "neoforge": "AnvilCraftEvent.Post", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "anvil_craft_pre", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_anvil_craft_pre", "neoforge": "AnvilCraftEvent.Pre", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "armor_stand_manipulate", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_armor_stand_manipulate", "neoforge": "none (Bukkit's PlayerArmorStandManipulateEvent)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "bucket_empty", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_bucket_empty", "neoforge": "none (vanilla BucketItem.emptyContents; NeoForge has no matching event)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "container_opened", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_container_opened", "neoforge": "none (NeoForge's PlayerContainerEvent.Open fires after the menu is open and is not cancellable)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "creative_slot", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_creative_slot", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "food_level_changed", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_food_level_changed", "neoforge": "none (vanilla: FoodData; Bukkit's FoodLevelChangeEvent)", "side": "server", "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "hanging_break", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_hanging_break", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "hanging_place", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_hanging_place", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "item_damaged", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_item_damaged", "neoforge": "none (vanilla: ItemStack.hurtAndBreak; PlayerDestroyItemEvent is only the break)", "side": "server", "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "player_changed_dimension", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_changed_dimension", "neoforge": "PlayerEvent.PlayerChangedDimensionEvent", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_clone", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_clone", "neoforge": "PlayerEvent.Clone (not cancellable)", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "player_commands_sent", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_commands_sent", "side": "server", "mod_api": { "contract": "collect", "out": "names" } }, { "name": "player_destroy_item", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_destroy_item", "neoforge": "none (NeoForge's PlayerDestroyItemEvent carries the original stack and a hand, which armour has not; this hook only listens and names the slot instead. Bukkit's PlayerItemBreakEvent)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_fish", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_fish", "neoforge": "none (NeoForge's ItemFishedEvent fires after the loot roll, in FishingHook.retrieve; Bukkit's PlayerFishEvent)", "side": "server", "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "player_flower_pot_manipulate", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_flower_pot_manipulate", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_game_mode_changed", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_game_mode_changed", "neoforge": "PlayerEvent.PlayerChangeGameModeEvent", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "player_insert_lectern_book", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_insert_lectern_book", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_item_frame_change", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_item_frame_change", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_item_mend", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_item_mend", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_lectern_page_change", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_lectern_page_change", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_load_from_file", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_load_from_file", "neoforge": "PlayerEvent.LoadFromFile (not cancellable)", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "player_login", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_login", "neoforge": "none (Bukkit's PlayerLoginEvent; NeoForge's PlayerNegotiationEvent is not cancellable)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "player_save_to_file", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_save_to_file", "neoforge": "PlayerEvent.SaveToFile (not cancellable)", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "player_sprint", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_sprint", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_swap_hands", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_swap_hands", "neoforge": "LivingSwapItemsEvent.Hands", "side": "server", "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "player_take_lectern_book", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_take_lectern_book", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_teleported", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_teleported", "neoforge": "none (EntityTeleportEvent.TeleportCommand fires before the move and can cancel it; this hook is told after the move)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_totem", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_totem", "neoforge": "none (NeoForge's LivingUseTotemEvent can cancel the save; this hook only listens. Bukkit's EntityResurrectEvent)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "resource_pack_status", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_resource_pack_status", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "spawn_change", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_spawn_change", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "tnt_primed", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_tnt_primed", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "vehicle_create", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_vehicle_create", "neoforge": "none (NeoForge has no such event; Bukkit's VehicleCreateEvent)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "vehicle_damage", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_vehicle_damage", "neoforge": "none (NeoForge has no such event; Bukkit's VehicleDamageEvent)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "vehicle_destroy", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_vehicle_destroy", "neoforge": "none (NeoForge has no such event; Bukkit's VehicleDestroyEvent)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "vehicle_moved", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_vehicle_moved", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "world_border_bounds_changed", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_world_border_bounds_changed", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "world_border_center_changed", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_world_border_center_changed", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "world_game_rule_change", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_world_game_rule_change", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "note_play", "version": 1, "target": "horizon_client::game::native_hooks::GameLevel<'_>::native_note_play", "neoforge": "none (NeoForge has no such event; Bukkit's NotePlayEvent)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "player_advancement_criterion_grant", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_advancement_criterion_grant", "neoforge": "none (NeoForge has no such event; Bukkit's PlayerAdvancementCriterionGrant)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_advancement_done", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_advancement_done", "neoforge": "AdvancementEvent.AdvancementEarnEvent", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "player_advancement_progress", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_advancement_progress", "neoforge": "AdvancementEvent.AdvancementProgressEvent", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "player_arm_swing", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_arm_swing", "neoforge": "none (NeoForge has no such event; Bukkit's PlayerAnimationEvent)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_attack_cooldown_reset", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_attack_cooldown_reset", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_bed_enter", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_bed_enter", "neoforge": "none (NeoForge has no such event; Bukkit's PlayerBedEnterEvent)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "player_bed_leave", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_bed_leave", "neoforge": "PlayerWakeUpEvent", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "player_bucket_entity", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_bucket_entity", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_bundle_item_select", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_bundle_item_select", "neoforge": "none (NeoForge has no such event; Bukkit's PlayerBundleItemSelect)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_change_beacon_effect", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_change_beacon_effect", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_change_main_hand", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_change_main_hand", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_client_loaded_world", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_client_loaded_world", "neoforge": "none (NeoForge has no such event; Bukkit's PlayerClientLoadedWorld)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_deep_sleep", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_deep_sleep", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_edit_book", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_edit_book", "neoforge": "none (NeoForge has no such event; Bukkit's PlayerEditBookEvent)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "player_egg_throw", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_egg_throw", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_elytra_boost", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_elytra_boost", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_exp_change", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_exp_change", "neoforge": "none (NeoForge has no such event; Bukkit's PlayerExpChangeEvent)", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "player_exp_cooldown_change", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_exp_cooldown_change", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_input", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_input", "neoforge": "none (NeoForge has no such event; Bukkit's PlayerInputEvent)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_item_cooldown", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_item_cooldown", "neoforge": "none (NeoForge has no such event; Paper's PlayerItemCooldownEvent)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "player_item_held", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_item_held", "neoforge": "none (NeoForge has no such event; Bukkit's PlayerItemHeldEvent)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "player_jump", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_jump", "neoforge": "none (NeoForge has no such event; Bukkit's PlayerJumpEvent)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_kicked", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_kicked", "neoforge": "none (NeoForge has no such event; Bukkit's PlayerKickEvent)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_launch_projectile", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_launch_projectile", "neoforge": "none (NeoForge has no such event; Bukkit's PlayerLaunchProjectile)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_level_change", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_level_change", "neoforge": "none (NeoForge has no such event; Bukkit's PlayerLevelChangeEvent)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_locale_change", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_locale_change", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_loom_pattern_select", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_loom_pattern_select", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_map_filled", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_map_filled", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_name_entity", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_name_entity", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_open_sign", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_open_sign", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_pick_item", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_pick_item", "neoforge": "none (NeoForge has no such event; Paper's PlayerPickItemEvent)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "player_pickup_arrow", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_pickup_arrow", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_portal", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_portal", "neoforge": "EntityTravelToDimensionEvent", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "player_ready_arrow", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_ready_arrow", "neoforge": "none (NeoForge has no such event; Bukkit's PlayerReadyArrow)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_recipe_book_click", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_recipe_book_click", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_recipe_book_settings_change", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_recipe_book_settings_change", "neoforge": "none (NeoForge has no such event; Bukkit's PlayerRecipeBookSettingsChange)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_recipe_discovered", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_recipe_discovered", "neoforge": "none (NeoForge has no such event; Bukkit's PlayerRecipeDiscoverEvent)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "player_riptide", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_riptide", "neoforge": "none (NeoForge has no such event; Bukkit's PlayerRiptideEvent)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_shear_entity", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_shear_entity", "neoforge": "none (NeoForge has no such event; Bukkit's PlayerShearEntityEvent)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "player_shield_disable", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_shield_disable", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_spawn_point_set", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_spawn_point_set", "neoforge": "none (NeoForge has no such event; Bukkit's PlayerSpawnChangeEvent)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "player_stat_award", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_stat_award", "neoforge": "StatAwardEvent", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "player_stonecutter_recipe_select", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_stonecutter_recipe_select", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_stop_spectating_entity", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_stop_spectating_entity", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_stop_using_item", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_stop_using_item", "neoforge": "none (NeoForge has no such event; Bukkit's PlayerStopUsingItem)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_swap_with_equipment_slot", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_swap_with_equipment_slot", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_teleport_end_gateway", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_teleport_end_gateway", "neoforge": "none (NeoForge has no such event)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "player_toggle_entity_age_lock", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_toggle_entity_age_lock", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_toggle_sneak", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_toggle_sneak", "neoforge": "none (NeoForge has no such event; Bukkit's PlayerToggleSneakEvent)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_trade", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_trade", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_unleash_entity", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_unleash_entity", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "player_velocity", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_velocity", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "portal_create", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_portal_create", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "potion_splash", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_potion_splash", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "prepare_anvil", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_prepare_anvil", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "replace", "out": "result" } }, { "name": "prepare_grindstone", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_prepare_grindstone", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "replace", "out": "result" } }, { "name": "prepare_hopper_transfer", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_prepare_hopper_transfer", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "prepare_item_craft", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_prepare_item_craft", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "replace", "out": "result" } }, { "name": "prepare_item_enchant", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_prepare_item_enchant", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "prepare_smithing", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_prepare_smithing", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "replace", "out": "result" } }, { "name": "projectile_launch", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_projectile_launch", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "raid_spawn_wave", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_raid_spawn_wave", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "raid_state_change", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_raid_state_change", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "sculk_bloom", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_sculk_bloom", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "sleep_finished_time", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_sleep_finished_time", "neoforge": "SleepFinishedTimeEvent", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "sponge_absorb", "version": 1, "target": "horizon_client::game::native_hooks::GameLevel<'_>::native_sponge_absorb", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "tab_complete", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_tab_complete", "neoforge": "none (NeoForge has no generic tab completion event)", "side": "server", "mod_api": { "contract": "collect", "out": "suggestions" } }, { "name": "target_hit", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_target_hit", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "thunder_change", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_thunder_change", "neoforge": "none (NeoForge has no such event)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "time_skip", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_time_skip", "neoforge": "none (NeoForge has no such event)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "trade_select", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_trade_select", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "trade_with_villager", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_trade_with_villager", "neoforge": "TradeWithVillagerEvent", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "vault_change_state", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_vault_change_state", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "vault_loot", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_vault_loot", "neoforge": "none (NeoForge has no such event; Bukkit's BlockDispenseLoot)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "weather_change", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_weather_change", "neoforge": "none (NeoForge has no such event)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "whitelist_state_update", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_whitelist_state_update", "neoforge": "none (NeoForge has no such event; Bukkit's WhitelistToggleEvent)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "world_border_bounds_change_finish", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_world_border_bounds_change_finish", "neoforge": "none (NeoForge has no such event; Bukkit's WorldBorderBoundsChangeFinish)", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "world_saved", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_world_saved", "neoforge": "none (NeoForge has no such event)", "side": "server", "mod_api": { "contract": "listen" } }, { "name": "living_drown", "version": 1, "target": "horizon_client_lib::breathing::native_living_drown", "neoforge": "LivingDrownEvent", "side": "server", "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "living_fall", "version": 1, "target": "horizon_client_lib::landing::native_living_fall", "neoforge": "LivingFallEvent", "side": "both", "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "living_heal", "version": 1, "target": "horizon_client_lib::hunger::native_living_heal", "neoforge": "LivingHealEvent", "side": "both", "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "living_jump", "version": 1, "target": "horizon_client_lib::motion::native_living_jump", "neoforge": "LivingEvent.LivingJumpEvent", "side": "both", "mod_api": { "contract": "listen" } }, { "name": "arrow_nock", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_arrow_nock", "neoforge": "net.neoforged.neoforge.event.entity.player.ArrowNockEvent (NeoForge.EVENT_BUS, ICancellableEvent)", "side": "both", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "baby_entity_spawn", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_baby_entity_spawn", "neoforge": "BabyEntitySpawnEvent", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "can_player_sleep", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_can_player_sleep", "neoforge": "CanPlayerSleepEvent", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "compute_fov_modifier", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_compute_fov_modifier", "neoforge": "ComputeFovModifierEvent", "side": "client", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "explosion_knockback", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_explosion_knockback", "neoforge": "ExplosionKnockbackEvent", "side": "server", "cancellable": false, "mod_api": { "contract": "collect", "out": "knockback_velocity" } }, { "name": "hand_drawn", "version": 1, "target": "horizon_client_render::gfx::native_render::native_hand_drawn", "side": "client", "mod_api": { "contract": "listen" } }, { "name": "ingredient_test", "version": 1, "target": "horizon_client_lib::crafting::native_ingredient_test", "mod_api": { "contract": "listen" } }, { "name": "item_container", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_item_container", "neoforge": "Capabilities.Item.ITEM", "mod_api": { "contract": "replace", "out": "slots" } }, { "name": "item_model_property", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_item_model_property", "side": "client", "mod_api": { "contract": "listen" } }, { "name": "living_conversion_post", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_living_conversion_post", "neoforge": "LivingConversionEvent.Post", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "living_conversion_pre", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_living_conversion_pre", "neoforge": "LivingConversionEvent.Pre", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "living_death", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_living_death", "neoforge": "LivingDeathEvent", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "living_get_projectile", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_living_get_projectile", "neoforge": "net.neoforged.neoforge.event.entity.living.LivingGetProjectileEvent (NeoForge.EVENT_BUS, not cancellable)", "side": "both", "mod_api": { "contract": "collect", "out": "projectile" } }, { "name": "living_incoming_damage_v2", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_living_incoming_damage_v2", "neoforge": "LivingIncomingDamageEvent", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "living_knockback_v2", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_living_knockback_v2", "neoforge": "LivingKnockBackEvent", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "mob_split", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_mob_split", "neoforge": "MobSplitEvent", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "register_configs", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_register_configs", "neoforge": "ModContainer.registerConfig", "side": "both", "mod_api": { "contract": "collect", "out": "configs" } }, { "name": "config_loading", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_config_loading", "neoforge": "ModConfigEvent.Loading", "side": "both", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "config_reloading", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_config_reloading", "neoforge": "ModConfigEvent.Reloading", "side": "both", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "config_unloading", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_config_unloading", "neoforge": "ModConfigEvent.Unloading", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "movement_input", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_movement_input", "neoforge": "MovementInputUpdateEvent", "side": "client", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "note_block_change", "version": 1, "target": "horizon_client::game::native_hooks::GameLevel<'_>::native_note_block_change", "neoforge": "NoteBlockEvent.Change", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "potential_spawns", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_potential_spawns", "neoforge": "LevelEvent.PotentialSpawns", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "village_siege", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_village_siege", "neoforge": "VillageSiegeEvent", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "player_chat", "version": 1, "target": "horizon_client_lib::lan::hub::chat::native_player_chat", "neoforge": "net.neoforged.neoforge.event.ServerChatEvent (ICancellableEvent)", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "player_xp_change", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_player_xp_change", "neoforge": "PlayerXpEvent.XpChange", "side": "server", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "recipe_book_categories", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_recipe_book_categories", "mod_api": { "contract": "listen" } }, { "name": "render_hand_pose", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_render_hand_pose", "neoforge": "RenderHandEvent (PoseStack) / RenderArmEvent", "side": "client", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "render_item_in_frame", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_render_item_in_frame", "neoforge": "RenderItemInFrameEvent", "side": "client", "cancellable": true, "mod_api": { "contract": "cancel", "out": "canceled" } }, { "name": "render_name_tag", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_render_name_tag", "neoforge": "RenderNameTagEvent", "side": "client", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "screen_closing", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_screen_closing", "neoforge": "ScreenEvent.Closing", "side": "client", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "screen_init_post", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_screen_init_post", "neoforge": "ScreenEvent.Init.Post", "side": "client", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "screen_opening", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_screen_opening", "neoforge": "ScreenEvent.Opening", "side": "client", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "tooltip_color", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_tooltip_color", "neoforge": "RenderTooltipEvent.Texture", "side": "client", "mod_api": { "contract": "listen" } }, { "name": "camera_pose", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_camera_pose", "neoforge": "ViewportEvent.ComputeCameraAngles", "side": "client", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "client_chat_received", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_client_chat_received", "neoforge": "ClientChatReceivedEvent", "side": "client", "cancellable": true, "mod_api": { "contract": "cancel", "out": "cancel" } }, { "name": "client_packet", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_client_packet", "side": "client", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "menu_extra_data", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_menu_extra_data", "neoforge": "IPlayerExtension.openMenu(MenuProvider, Consumer)", "side": "server", "cancellable": false, "mod_api": { "contract": "replace", "out": "data" } }, { "name": "merchant_offer_traded", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_merchant_offer_traded", "neoforge": "none (NeoForge has no such event; Bukkit's PlayerTradeEvent#getTrade is mutable)", "side": "server", "cancellable": false, "mod_api": { "contract": "collect", "out": "offer" } }, { "name": "add_server_reload_listeners", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_add_server_reload_listeners", "neoforge": "AddServerReloadListenersEvent", "side": "server", "mod_api": { "contract": "collect", "out": "listeners" } }, { "name": "server_reload_listener_apply", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_server_reload_listener_apply", "neoforge": "SimpleJsonResourceReloadListener.apply", "side": "server", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "client_start", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_client_start", "side": "client", "mod_api": { "contract": "listen" } }, { "name": "client_disconnecting", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_client_disconnecting", "neoforge": "ClientPlayerNetworkEvent.LoggingOut (only when a connection ends)", "side": "client", "cancellable": false, "mod_api": { "contract": "listen" } }, { "name": "client_stopping", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_client_stopping", "side": "client", "mod_api": { "contract": "listen" } }, { "name": "menu_background", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_menu_background", "side": "client", "mod_api": { "contract": "listen" } }, { "name": "gui_render_post", "version": 1, "target": "horizon_client::game::native_hooks::Game<'_>::native_gui_render_post", "neoforge": "RenderGuiEvent.Post (after the whole GUI, open screens included; also under F1, which gui_hidden tells)", "side": "client", "cancellable": false, "mod_api": { "contract": "listen" } } ] }