Port map: the boat bubble column rows are ported

Four game2-007 rows said a boat over or in a bubble column was not
handled: onAboveBubbleColumn, tickBubbleColumn, handleEntityEvent and
handleBubbleColumnEffect. boats.rs holds the column bookkeeping, the
splash, the countdown and the drag or lift, and remote_vehicles.rs
applies event 71 or 72 to the boat the client drives, so each row now
names its fn and says what that fn does.

map-check also flagged row 21: AbstractBoat.onPassengerTurned named
Game::tick_riding, which is not in the tree. The 105-degree clamp is in
Game::remote_ride.
This commit is contained in:
MSedgeMC committed 2026-11-02 14:46:53 +00:00
1 parent fdd290b99b
commit 8af100b198
1 file changed
+5 -5
+5 -5
View File
@@ -1,11 +1,11 @@
AbstractBoat.setInitialPos port crates/horizon-client/src/game/boats.rs::Boat::new spawn sets the position and its previous copy; velocity and yaw start at zero
AbstractBoat.defineSynchedData skip:java SynchedEntityData definitions; Horizon keeps paddle, hurt and input state on the Boat struct
AbstractBoat.getPassengerAttachmentPoint port crates/horizon-client/src/game/boats.rs::Boat::seat seat height and the two-seat offsets, +0.2 for an animal; chest boat's 0.15 is included
AbstractBoat.onAboveBubbleColumn missing player: a boat over a bubble column is not lifted or pushed down and no splash plays on it; Horizon has no bubble column for boats
AbstractBoat.onAboveBubbleColumn port crates/horizon-client/src/game/boats.rs::Game::boat_above_bubble_column a column whose surface the boat is over marks it above a column and starts the 60-tick bubble time, down or up; out of water, one roll in a hundred plays the swim splash sound and particle and posts the splash game event
AbstractBoat.animateHurt port crates/horizon-client/src/game/boats.rs::Game::hurt_boat sets the hurt wobble and time; gap: minor: uses the server damage x10, no separate client x11 wobble value
AbstractBoat.tickBubbleColumn missing player: a boat in a bubble column does not rise or sink and ejects no passengers from a down column; Horizon has no bubble time on boats
AbstractBoat.handleEntityEvent missing player: the bubble column effect event (71 or 72) never reaches a boat, same gap as the bubble column lift
AbstractBoat.handleBubbleColumnEffect missing player: a boat in an up or down bubble column keeps its speed; Horizon never changes its vertical velocity from a column
AbstractBoat.tickBubbleColumn port crates/horizon-client/src/game/boats.rs::Game::tick_boat_bubble_column the countdown (`Boat::tick_bubble_countdown`) running out throws the boat up or pulls it down after BUBBLE_TIME ticks, lets the riders out of a down column first and broadcasts event 71 or 72; the client's wobble is `Boat::tick_bubble_wobble`
AbstractBoat.handleEntityEvent port crates/horizon-client/src/game/remote_vehicles.rs::Game::remote_boat_event event 71 drags the boat down and 72 throws it up, on the boat the client drives; every other id is left to the super call
AbstractBoat.handleBubbleColumnEffect port crates/horizon-client/src/game/boats.rs::Game::handle_bubble_column_effect an up column sets vertical velocity 0.6 and a down column adds -0.7, only while the window simulates the boat's movement
AbstractBoat.setPaddleState inline crates/horizon-client/src/game/boats.rs::Game::tick_boat paddle flags are set from the rider's input inside the controlled branch
AbstractBoat.getLeashOffset port crates/horizon-client/src/mobs/leash.rs::Holder::boat_leash_offset 1.375 by 0.5625 for a boat or raft
AbstractBoat.getStatus port crates/horizon-client/src/game/boats.rs::Game::boat_status in air, in water, under water or on land
@@ -18,7 +18,7 @@ AbstractBoat.controlBoat inline crates/horizon-client/src/game/boats.rs::Game::t
AbstractBoat.getDismountLocationForPassenger port crates/horizon-client/src/game/boats.rs::Game::boat_dismount_target gap: minor: no dismount pose check; the floor and water tests are there
AbstractBoat.clampRotation inline crates/horizon-client/src/game/remote_vehicles.rs::Game::remote_ride the rider's yaw is clamped to 105 degrees off the boat; mobs get the head clamp in boat_passengers.rs seat_boat_mobs
AbstractBoat.calculatePassengerBodyYRot inline crates/horizon-client/src/game/boat_passengers.rs::Game::seat_boat_mobs animal turned 90 or 270 degrees when the boat is full
AbstractBoat.onPassengerTurned inline crates/horizon-client/src/game/boats.rs::Game::tick_riding the rider's turn is clamped each tick
AbstractBoat.onPassengerTurned inline crates/horizon-client/src/game/remote_vehicles.rs::Game::remote_ride the rider's turn is clamped each tick
AbstractBoat.remove inline crates/horizon-client/src/game/boats.rs::Game::hurt_boat destroyed boats eject mobs and drop the boat; gap: minor: no leash drop, since boats cannot be leashed here
AbstractBoat.checkFallDamage missing minor: boats keep no fall distance; boats take no fall damage either way
AbstractBoat.getPaddleState port crates/horizon-client/src/game/boats.rs::Boat::rowing_time paddle flag, set only while a rider drives
1 AbstractBoat.setInitialPos port crates/horizon-client/src/game/boats.rs::Boat::new spawn sets the position and its previous copy; velocity and yaw start at zero
2 AbstractBoat.defineSynchedData skip:java SynchedEntityData definitions; Horizon keeps paddle, hurt and input state on the Boat struct
3 AbstractBoat.getPassengerAttachmentPoint port crates/horizon-client/src/game/boats.rs::Boat::seat seat height and the two-seat offsets, +0.2 for an animal; chest boat's 0.15 is included
4 AbstractBoat.onAboveBubbleColumn missing port crates/horizon-client/src/game/boats.rs::Game::boat_above_bubble_column player: a boat over a bubble column is not lifted or pushed down and no splash plays on it; Horizon has no bubble column for boats a column whose surface the boat is over marks it above a column and starts the 60-tick bubble time, down or up; out of water, one roll in a hundred plays the swim splash sound and particle and posts the splash game event
5 AbstractBoat.animateHurt port crates/horizon-client/src/game/boats.rs::Game::hurt_boat sets the hurt wobble and time; gap: minor: uses the server damage x10, no separate client x11 wobble value
6 AbstractBoat.tickBubbleColumn missing port crates/horizon-client/src/game/boats.rs::Game::tick_boat_bubble_column player: a boat in a bubble column does not rise or sink and ejects no passengers from a down column; Horizon has no bubble time on boats the countdown (`Boat::tick_bubble_countdown`) running out throws the boat up or pulls it down after BUBBLE_TIME ticks, lets the riders out of a down column first and broadcasts event 71 or 72; the client's wobble is `Boat::tick_bubble_wobble`
7 AbstractBoat.handleEntityEvent missing port crates/horizon-client/src/game/remote_vehicles.rs::Game::remote_boat_event player: the bubble column effect event (71 or 72) never reaches a boat, same gap as the bubble column lift event 71 drags the boat down and 72 throws it up, on the boat the client drives; every other id is left to the super call
8 AbstractBoat.handleBubbleColumnEffect missing port crates/horizon-client/src/game/boats.rs::Game::handle_bubble_column_effect player: a boat in an up or down bubble column keeps its speed; Horizon never changes its vertical velocity from a column an up column sets vertical velocity 0.6 and a down column adds -0.7, only while the window simulates the boat's movement
9 AbstractBoat.setPaddleState inline crates/horizon-client/src/game/boats.rs::Game::tick_boat paddle flags are set from the rider's input inside the controlled branch
10 AbstractBoat.getLeashOffset port crates/horizon-client/src/mobs/leash.rs::Holder::boat_leash_offset 1.375 by 0.5625 for a boat or raft
11 AbstractBoat.getStatus port crates/horizon-client/src/game/boats.rs::Game::boat_status in air, in water, under water or on land
18 AbstractBoat.getDismountLocationForPassenger port crates/horizon-client/src/game/boats.rs::Game::boat_dismount_target gap: minor: no dismount pose check; the floor and water tests are there
19 AbstractBoat.clampRotation inline crates/horizon-client/src/game/remote_vehicles.rs::Game::remote_ride the rider's yaw is clamped to 105 degrees off the boat; mobs get the head clamp in boat_passengers.rs seat_boat_mobs
20 AbstractBoat.calculatePassengerBodyYRot inline crates/horizon-client/src/game/boat_passengers.rs::Game::seat_boat_mobs animal turned 90 or 270 degrees when the boat is full
21 AbstractBoat.onPassengerTurned inline crates/horizon-client/src/game/boats.rs::Game::tick_riding crates/horizon-client/src/game/remote_vehicles.rs::Game::remote_ride the rider's turn is clamped each tick
22 AbstractBoat.remove inline crates/horizon-client/src/game/boats.rs::Game::hurt_boat destroyed boats eject mobs and drop the boat; gap: minor: no leash drop, since boats cannot be leashed here
23 AbstractBoat.checkFallDamage missing minor: boats keep no fall distance; boats take no fall damage either way
24 AbstractBoat.getPaddleState port crates/horizon-client/src/game/boats.rs::Boat::rowing_time paddle flag, set only while a rider drives