port map: clear game-002 rows main already implements

Two ServerPlayer rows said missing for pearls that main saves with their
chunk, and three notes named advancement triggers that exist.
This commit is contained in:
MSedgeMC committed 2026-11-02 11:13:23 +00:00
1 parent 0c027235cf
commit 36744cd76c
1 file changed
+14 -14
+14 -14
View File
@@ -81,16 +81,16 @@ ServerLevel.areEntitiesActuallyLoadedAndTicking skip:debug only game tests call
ServerLevel.anyPlayerCloseEnoughForSpawning port crates/horizon-client/src/game/natural_spawning.rs::close_enough_for_spawning
ServerLevel.fillReportDetails skip:debug crash report detail
ServerLevel.EntityCallbacks.onCreated inline crates/horizon-client/src/lan/waypoints.rs::Waypoints::track players are the only waypoint transmitters Horizon has
ServerLevel.EntityCallbacks.onDestroyed inline crates/horizon-client/src/lan/waypoints.rs::Waypoints::untrack gap: minor: dead non-player entities keep their scores and team membership (vanilla Scoreboard.entityRemoved clears them), so a sidebar can keep listing a dead mob
ServerLevel.EntityCallbacks.onDestroyed inline crates/horizon-client/src/lan/waypoints.rs::Waypoints::untrack a dead non-player entity also runs Scoreboard.entityRemoved (game/scoreboard.rs::score_entity_removed: its scores are reset and it leaves its team)
ServerLevel.EntityCallbacks.onTrackingStart inline crates/horizon-client/src/lan/entity.rs::Entities::tick an entity is tracked the first tick the level lists it; guests, waypoints and the sleep list are polled each tick, and there are no separate dragon part entities
ServerLevel.EntityCallbacks.onTrackingEnd inline crates/horizon-client/src/lan/entity.rs::Entities::tick an entity the level stops listing is removed from every viewer (RemoveEntities)
ServerPlayer.<init> port crates/horizon-client/src/lan/guest.rs::Guest::new
ServerPlayer.readAdditionalSaveData port crates/horizon-client/src/save.rs::Level::read_player gap: minor: entered_nether_pos, last_explosion_impact_pos, spawn_extra_particles_on_fall, post_effects and previousPlayerGameType are not read back (kept verbatim in player_extra); recipe book, respawn, shoulders, warden tracker and raid omen are read
ServerPlayer.addAdditionalSaveData port crates/horizon-client/src/save.rs::Level::player_tag gap: minor: writes only what it reads; the keys above come from the loaded file unchanged
ServerPlayer.readAdditionalSaveData port crates/horizon-client/src/save.rs::Level::read_player gap: minor: entered_nether_pos, last_explosion_impact_pos and spawn_extra_particles_on_fall are not read back (kept verbatim in player_extra); post_effects, previousPlayerGameType, the recipe book, respawn, shoulders, warden tracker and raid omen are read
ServerPlayer.addAdditionalSaveData port crates/horizon-client/src/save.rs::Level::player_tag gap: minor: writes only what it reads; the keys still listed above come from the loaded file unchanged
ServerPlayer.saveParentVehicle port crates/horizon-client/src/save.rs::Level::player_tag the RootVehicle {Attach, Entity} tree goes in the player compound (lan/playerdata.rs::store for a guest), so the ride comes back on the next login
ServerPlayer.loadAndSpawnParentVehicle port crates/horizon-client/src/game/persist.rs::Game::restore_saved_vehicle the mount is spawned from RootVehicle.Entity and the player is put back on it (`riding`)
ServerPlayer.saveEnderPearls missing minor: a thrown ender pearl is not saved at all, so one in flight or hanging in a stasis chamber is gone after a reload
ServerPlayer.loadAndSpawnEnderPearl missing minor: ender pearls are not loaded back (spawn_loaded_entities has no pearl)
ServerPlayer.saveEnderPearls inline crates/horizon-client/src/game/persist.rs::Game::entity_chunks a thrown pearl is saved with its chunk as an ordinary entity (entity_nbt::throwable_to_nbt), not in the player file; gap: minor: a pearl in a chunk that never saves, a stasis chamber's, is not kept
ServerPlayer.loadAndSpawnEnderPearl inline crates/horizon-client/src/game/persist.rs::Game::spawn_loaded_entities entity_nbt::throwable_from_nbt spawns a saved pearl back, in the chunk's own level; there is no per-player list to read
ServerPlayer.setExperiencePoints port crates/horizon-client/src/game/commands.rs::Game::change_experience /xp set points
ServerPlayer.setExperienceLevels port crates/horizon-client/src/game/commands.rs::Game::change_experience /xp set levels
ServerPlayer.onLeaveCombat skip:other the client ignores ClientboundPlayerCombatEnd
@@ -102,11 +102,11 @@ ServerPlayer.updateScoreForCriteria port crates/horizon-client/src/game/scoreboa
ServerPlayer.tellNeutralMobsThatIDied port crates/horizon-client/src/game/creatures.rs::Game::tell_neutral_mobs_player_died mobs within 32 blocks across and 10 up and down forgive a dead player when the rule is on
ServerPlayer.handleTeamKill inline crates/horizon-client/src/game/scoreboard.rs::Game::score_player_killed teamkill and killedByTeam objectives
ServerPlayer.hurtServer port crates/horizon-client/src/game/lan_pvp.rs::Game::pvp_land pvp rule and team friendly fire gate the damage
ServerPlayer.addPostEffect port crates/horizon-client/src/game/commands/extra.rs::Game::cmd_posteffect gap: minor: one list shared by every target, nothing is sent to guests (an empty list at join) and no post shader is drawn
ServerPlayer.clearPostEffects port crates/horizon-client/src/game/commands/extra.rs::Game::cmd_posteffect gap: minor: same as addPostEffect
ServerPlayer.removePostEffect port crates/horizon-client/src/game/commands/extra.rs::Game::cmd_posteffect gap: minor: same as addPostEffect
ServerPlayer.addPostEffect port crates/horizon-client/src/game/commands/extra.rs::Game::cmd_posteffect each target keeps its own list (change_post_effects: the player's here, a guest's on its record); the client builds its post chain from the player's, and a guest's is sent when it changes (Hub::send_post_effects)
ServerPlayer.clearPostEffects port crates/horizon-client/src/game/commands/extra.rs::Game::cmd_posteffect the same per-target lists; clearing empties the target's
ServerPlayer.removePostEffect port crates/horizon-client/src/game/commands/extra.rs::Game::cmd_posteffect the same per-target lists; removing takes the one effect out
ServerPlayer.forceSetRotation inline crates/horizon-client/src/game/commands/world_cmds.rs::Game::cmd_rotate /rotate turns a guest through a teleport packet with the new rotation
ServerPlayer.triggerDimensionChangeTriggers port crates/horizon-client/src/game/advancements.rs::Game::trigger_dimension gap: player: nether_travel is never triggered (entered_nether_pos is not kept), so the Subspace Bubble advancement can never be earned
ServerPlayer.triggerDimensionChangeTriggers port crates/horizon-client/src/game/advancements.rs::Game::trigger_dimension nether_travel fires on the way back to the Overworld from the position the Nether was entered at (adv.marks.nether); gap: minor: that position is not restored from entered_nether_pos after a reload
ServerPlayer.broadcastToPlayer port crates/horizon-client/src/lan/entity.rs::broadcast_to_player a spectator viewer sees a player only while its camera is that player; anyone else never sees a spectator
ServerPlayer.startSleeping port crates/horizon-client/src/game.rs::Game::try_sleep
ServerPlayer.isReachableBedBlock inline crates/horizon-client/src/game.rs::Game::try_sleep the reachable closure: 3 blocks sideways, 2 vertically
@@ -119,8 +119,8 @@ ServerPlayer.awardStat port crates/horizon-client/src/game/stats.rs::Stats::add
ServerPlayer.resetStat port crates/horizon-client/src/game/stats.rs::Stats::reset
ServerPlayer.disconnect inline crates/horizon-client/src/game/lan.rs::Game::tick_lan HostEvent::Left: the guest is saved and removed; its mount just loses its rider (no eject or forced wake)
ServerPlayer.transferInventoryXpAndScore inline crates/horizon-client/src/game/screens.rs::Game::respawn_player keep_inventory keeps the inventory and Experience::respawn keeps xp
ServerPlayer.onEffectUpdated port crates/horizon-client/src/lan/hub.rs::Hub::sync_effects gap: player: the effects_changed trigger does not exist, so How Did We Get Here? and A Furious Cocktail can never be earned
ServerPlayer.onEffectsRemoved port crates/horizon-client/src/lan/hub.rs::Hub::sync_effects gap: player: same missing effects_changed trigger
ServerPlayer.onEffectUpdated port crates/horizon-client/src/lan/hub.rs::Hub::sync_effects the effects_changed trigger exists (advancements.rs::Game::trigger_effects_changed, from the end-of-tick comparison of the effect list); gap: minor: that comparison reads the host player's list, while this path only sends a guest its effects
ServerPlayer.onEffectsRemoved port crates/horizon-client/src/lan/hub.rs::Hub::sync_effects same effect comparison and trigger as onEffectUpdated
ServerPlayer.magicCrit port crates/horizon-client/src/lan/containers.rs::Hub::critical_hit
ServerPlayer.onUpdateAbilities inline crates/horizon-client/src/lan/hub.rs::Hub::set_game_mode abilities go out with a game mode change; there is no other way abilities change
ServerPlayer.createCommandSourceStack inline crates/horizon-client/src/game/lan_actions.rs::Game::run_guest_command the guest is swapped in as the acting player and its permission level applied
@@ -133,14 +133,14 @@ ServerPlayer.sendServerStatus port crates/horizon-client/src/lan/hub.rs::Hub::pl
ServerPlayer.updateInvisibilityStatus inline crates/horizon-client/src/game/lan.rs::Game::lan_host_state
ServerPlayer.drop port crates/horizon-client/src/game.rs::Game::player_drop item_dropped and drop statistics, thrower set
ServerPlayer.calculateGameModeForNewPlayer port crates/horizon-client/src/game/lan.rs::Game::lan_guest_joined default or forced game mode for a new or force-gamemode guest
ServerPlayer.storeGameTypes port crates/horizon-client/src/save.rs::Level::player_tag gap: minor: playerGameType only; previousPlayerGameType is not saved, so the game mode switcher forgets the previous mode after a reload
ServerPlayer.storeGameTypes port crates/horizon-client/src/save.rs::Level::player_tag both are saved: playerGameType, and previousPlayerGameType (absent when unset, as storeNullable is), read back into previous_game_mode
ServerPlayer.shouldFilterMessageTo skip:service text filtering
ServerPlayer.mayInteract inline crates/horizon-client/src/game/lan_actions.rs::Game::under_spawn_protection gap: minor: same as ServerLevel.mayInteract, no world border check
ServerPlayer.onItemPickup port crates/horizon-client/src/game/advancements.rs::Game::trigger_thrown_picked_up_by_player a taken stack whose owner is another player fires thrown_item_picked_up_by_player, whole or partial
ServerPlayer.getChatSession skip:java getter with an expiry check
ServerPlayer.startRiding inline crates/horizon-client/src/game/lan_entities.rs::Game::lan_riding gap: minor: SetPassengers goes out, but the mount's active effects (a horse's speed) are not sent to the rider
ServerPlayer.removeVehicle inline crates/horizon-client/src/game/lan_entities.rs::Game::lan_riding gap: minor: SetPassengers updates, vehicle effects are not removed from the rider
ServerPlayer.getKnownSpeed port crates/horizon-client/src/game/spear.rs::Game::known_player_movement gap: minor: ignores the vehicle's speed for a rider who is not steering
ServerPlayer.getKnownSpeed port crates/horizon-client/src/game/spear.rs::Game::known_player_movement a rider's speed is its root vehicle's (mob_speed walks up the mounts); a guest's is the movement it last reported
ServerPlayer.onEquippedItemBroken port crates/horizon-client/src/game.rs::Game::damage_held gap: minor: only the held item counts toward the broken statistic; breaking armour is not counted
ServerPlayer.registerAndUpdateEnderPearlTicket missing minor: a thrown ender pearl does not keep its chunk loaded; none are saved either
ServerPlayer.registerAndUpdateEnderPearlTicket missing minor: a thrown ender pearl holds no chunk of its own (no ENDER_PEARL ticket); it is saved only with a chunk that saves, so one in an unloaded chunk is gone
ServerPlayer.debugSubscriptions skip:debug debug subscriptions for the debug screen
1 ServerBossEvent.setProgress inline crates/horizon-client/src/game/bossbars.rs::Game::diff_boss_events UpdateProgress goes out when a viewer's last-sent progress differs
81 ServerLevel.anyPlayerCloseEnoughForSpawning port crates/horizon-client/src/game/natural_spawning.rs::close_enough_for_spawning
82 ServerLevel.fillReportDetails skip:debug crash report detail
83 ServerLevel.EntityCallbacks.onCreated inline crates/horizon-client/src/lan/waypoints.rs::Waypoints::track players are the only waypoint transmitters Horizon has
84 ServerLevel.EntityCallbacks.onDestroyed inline crates/horizon-client/src/lan/waypoints.rs::Waypoints::untrack gap: minor: dead non-player entities keep their scores and team membership (vanilla Scoreboard.entityRemoved clears them), so a sidebar can keep listing a dead mob a dead non-player entity also runs Scoreboard.entityRemoved (game/scoreboard.rs::score_entity_removed: its scores are reset and it leaves its team)
85 ServerLevel.EntityCallbacks.onTrackingStart inline crates/horizon-client/src/lan/entity.rs::Entities::tick an entity is tracked the first tick the level lists it; guests, waypoints and the sleep list are polled each tick, and there are no separate dragon part entities
86 ServerLevel.EntityCallbacks.onTrackingEnd inline crates/horizon-client/src/lan/entity.rs::Entities::tick an entity the level stops listing is removed from every viewer (RemoveEntities)
87 ServerPlayer.<init> port crates/horizon-client/src/lan/guest.rs::Guest::new
88 ServerPlayer.readAdditionalSaveData port crates/horizon-client/src/save.rs::Level::read_player gap: minor: entered_nether_pos, last_explosion_impact_pos, spawn_extra_particles_on_fall, post_effects and previousPlayerGameType are not read back (kept verbatim in player_extra); recipe book, respawn, shoulders, warden tracker and raid omen are read gap: minor: entered_nether_pos, last_explosion_impact_pos and spawn_extra_particles_on_fall are not read back (kept verbatim in player_extra); post_effects, previousPlayerGameType, the recipe book, respawn, shoulders, warden tracker and raid omen are read
89 ServerPlayer.addAdditionalSaveData port crates/horizon-client/src/save.rs::Level::player_tag gap: minor: writes only what it reads; the keys above come from the loaded file unchanged gap: minor: writes only what it reads; the keys still listed above come from the loaded file unchanged
90 ServerPlayer.saveParentVehicle port crates/horizon-client/src/save.rs::Level::player_tag the RootVehicle {Attach, Entity} tree goes in the player compound (lan/playerdata.rs::store for a guest), so the ride comes back on the next login
91 ServerPlayer.loadAndSpawnParentVehicle port crates/horizon-client/src/game/persist.rs::Game::restore_saved_vehicle the mount is spawned from RootVehicle.Entity and the player is put back on it (`riding`)
92 ServerPlayer.saveEnderPearls missing inline crates/horizon-client/src/game/persist.rs::Game::entity_chunks minor: a thrown ender pearl is not saved at all, so one in flight or hanging in a stasis chamber is gone after a reload a thrown pearl is saved with its chunk as an ordinary entity (entity_nbt::throwable_to_nbt), not in the player file; gap: minor: a pearl in a chunk that never saves, a stasis chamber's, is not kept
93 ServerPlayer.loadAndSpawnEnderPearl missing inline crates/horizon-client/src/game/persist.rs::Game::spawn_loaded_entities minor: ender pearls are not loaded back (spawn_loaded_entities has no pearl) entity_nbt::throwable_from_nbt spawns a saved pearl back, in the chunk's own level; there is no per-player list to read
94 ServerPlayer.setExperiencePoints port crates/horizon-client/src/game/commands.rs::Game::change_experience /xp set points
95 ServerPlayer.setExperienceLevels port crates/horizon-client/src/game/commands.rs::Game::change_experience /xp set levels
96 ServerPlayer.onLeaveCombat skip:other the client ignores ClientboundPlayerCombatEnd
102 ServerPlayer.tellNeutralMobsThatIDied port crates/horizon-client/src/game/creatures.rs::Game::tell_neutral_mobs_player_died mobs within 32 blocks across and 10 up and down forgive a dead player when the rule is on
103 ServerPlayer.handleTeamKill inline crates/horizon-client/src/game/scoreboard.rs::Game::score_player_killed teamkill and killedByTeam objectives
104 ServerPlayer.hurtServer port crates/horizon-client/src/game/lan_pvp.rs::Game::pvp_land pvp rule and team friendly fire gate the damage
105 ServerPlayer.addPostEffect port crates/horizon-client/src/game/commands/extra.rs::Game::cmd_posteffect gap: minor: one list shared by every target, nothing is sent to guests (an empty list at join) and no post shader is drawn each target keeps its own list (change_post_effects: the player's here, a guest's on its record); the client builds its post chain from the player's, and a guest's is sent when it changes (Hub::send_post_effects)
106 ServerPlayer.clearPostEffects port crates/horizon-client/src/game/commands/extra.rs::Game::cmd_posteffect gap: minor: same as addPostEffect the same per-target lists; clearing empties the target's
107 ServerPlayer.removePostEffect port crates/horizon-client/src/game/commands/extra.rs::Game::cmd_posteffect gap: minor: same as addPostEffect the same per-target lists; removing takes the one effect out
108 ServerPlayer.forceSetRotation inline crates/horizon-client/src/game/commands/world_cmds.rs::Game::cmd_rotate /rotate turns a guest through a teleport packet with the new rotation
109 ServerPlayer.triggerDimensionChangeTriggers port crates/horizon-client/src/game/advancements.rs::Game::trigger_dimension gap: player: nether_travel is never triggered (entered_nether_pos is not kept), so the Subspace Bubble advancement can never be earned nether_travel fires on the way back to the Overworld from the position the Nether was entered at (adv.marks.nether); gap: minor: that position is not restored from entered_nether_pos after a reload
110 ServerPlayer.broadcastToPlayer port crates/horizon-client/src/lan/entity.rs::broadcast_to_player a spectator viewer sees a player only while its camera is that player; anyone else never sees a spectator
111 ServerPlayer.startSleeping port crates/horizon-client/src/game.rs::Game::try_sleep
112 ServerPlayer.isReachableBedBlock inline crates/horizon-client/src/game.rs::Game::try_sleep the reachable closure: 3 blocks sideways, 2 vertically
119 ServerPlayer.resetStat port crates/horizon-client/src/game/stats.rs::Stats::reset
120 ServerPlayer.disconnect inline crates/horizon-client/src/game/lan.rs::Game::tick_lan HostEvent::Left: the guest is saved and removed; its mount just loses its rider (no eject or forced wake)
121 ServerPlayer.transferInventoryXpAndScore inline crates/horizon-client/src/game/screens.rs::Game::respawn_player keep_inventory keeps the inventory and Experience::respawn keeps xp
122 ServerPlayer.onEffectUpdated port crates/horizon-client/src/lan/hub.rs::Hub::sync_effects gap: player: the effects_changed trigger does not exist, so How Did We Get Here? and A Furious Cocktail can never be earned the effects_changed trigger exists (advancements.rs::Game::trigger_effects_changed, from the end-of-tick comparison of the effect list); gap: minor: that comparison reads the host player's list, while this path only sends a guest its effects
123 ServerPlayer.onEffectsRemoved port crates/horizon-client/src/lan/hub.rs::Hub::sync_effects gap: player: same missing effects_changed trigger same effect comparison and trigger as onEffectUpdated
124 ServerPlayer.magicCrit port crates/horizon-client/src/lan/containers.rs::Hub::critical_hit
125 ServerPlayer.onUpdateAbilities inline crates/horizon-client/src/lan/hub.rs::Hub::set_game_mode abilities go out with a game mode change; there is no other way abilities change
126 ServerPlayer.createCommandSourceStack inline crates/horizon-client/src/game/lan_actions.rs::Game::run_guest_command the guest is swapped in as the acting player and its permission level applied
133 ServerPlayer.updateInvisibilityStatus inline crates/horizon-client/src/game/lan.rs::Game::lan_host_state
134 ServerPlayer.drop port crates/horizon-client/src/game.rs::Game::player_drop item_dropped and drop statistics, thrower set
135 ServerPlayer.calculateGameModeForNewPlayer port crates/horizon-client/src/game/lan.rs::Game::lan_guest_joined default or forced game mode for a new or force-gamemode guest
136 ServerPlayer.storeGameTypes port crates/horizon-client/src/save.rs::Level::player_tag gap: minor: playerGameType only; previousPlayerGameType is not saved, so the game mode switcher forgets the previous mode after a reload both are saved: playerGameType, and previousPlayerGameType (absent when unset, as storeNullable is), read back into previous_game_mode
137 ServerPlayer.shouldFilterMessageTo skip:service text filtering
138 ServerPlayer.mayInteract inline crates/horizon-client/src/game/lan_actions.rs::Game::under_spawn_protection gap: minor: same as ServerLevel.mayInteract, no world border check
139 ServerPlayer.onItemPickup port crates/horizon-client/src/game/advancements.rs::Game::trigger_thrown_picked_up_by_player a taken stack whose owner is another player fires thrown_item_picked_up_by_player, whole or partial
140 ServerPlayer.getChatSession skip:java getter with an expiry check
141 ServerPlayer.startRiding inline crates/horizon-client/src/game/lan_entities.rs::Game::lan_riding gap: minor: SetPassengers goes out, but the mount's active effects (a horse's speed) are not sent to the rider
142 ServerPlayer.removeVehicle inline crates/horizon-client/src/game/lan_entities.rs::Game::lan_riding gap: minor: SetPassengers updates, vehicle effects are not removed from the rider
143 ServerPlayer.getKnownSpeed port crates/horizon-client/src/game/spear.rs::Game::known_player_movement gap: minor: ignores the vehicle's speed for a rider who is not steering a rider's speed is its root vehicle's (mob_speed walks up the mounts); a guest's is the movement it last reported
144 ServerPlayer.onEquippedItemBroken port crates/horizon-client/src/game.rs::Game::damage_held gap: minor: only the held item counts toward the broken statistic; breaking armour is not counted
145 ServerPlayer.registerAndUpdateEnderPearlTicket missing minor: a thrown ender pearl does not keep its chunk loaded; none are saved either minor: a thrown ender pearl holds no chunk of its own (no ENDER_PEARL ticket); it is saved only with a chunk that saves, so one in an unloaded chunk is gone
146 ServerPlayer.debugSubscriptions skip:debug debug subscriptions for the debug screen