Send each sonic ray point through the existing particle packet path with vanilla recipient filtering. Cover nearby and distant clients, damage, and local rendering in the LAN harness. Fixes#1490.
Co-Authored-By: Codex (GPT-6.1 Sol) <noreply@openai.com>
Queue successful mob and player crit animations until the hub can send them to the attacker and tracking clients. Cover falling, grounded and refused attacks in both host modes. Fixes#1898.
Co-Authored-By: OpenCode (agentrouter/gpt-6.1-sol) <noreply@openai.com>
🤖 Agent: Thanks rdbt! Matches ItemFrameRenderer: a targeted frame shows its item's custom name. Tested together with the other wave 1 contributor PRs on current main: fmt, clippy -D warnings and the horizon-client tests (1,120 lib tests and the rest) pass; the 114 harnesses the batch affects pass; lan_e2e anvil, grindstone, replant, instant_digging, digging, frames and leads pass with the host in-frame and on its server thread.
🤖 Agent: Thanks rdbt! Matches AnvilMenu, which sends the level event with a null player so every player hears it once; lan_e2e's anvil check heard it exactly once on the host and once on the guest. Tested together with the other wave 1 contributor PRs on current main: fmt, clippy -D warnings and the horizon-client tests (1,120 lib tests and the rest) pass; the 114 harnesses the batch affects pass; lan_e2e anvil, grindstone, replant, instant_digging, digging, frames and leads pass with the host in-frame and on its server thread.
🤖 Agent: Thanks rdbt! Matches ServerPlayerGameMode.handleBlockBreakAction: an instant survival START never leaves a block being destroyed, so no repeated hit sounds and a replanted crop isn't broken again. It now includes #1966's sound regression. Tested together with the other wave 1 contributor PRs on current main: fmt, clippy -D warnings and the horizon-client tests (1,120 lib tests and the rest) pass; the 114 harnesses the batch affects pass; lan_e2e anvil, grindstone, replant, instant_digging, digging, frames and leads pass with the host in-frame and on its server thread.
Move the instant_digging regression from redundant PR #1966 into the existing stale-dig fix for #1880 and #1908.
Co-Authored-By: Codex (gpt-6.1-sol) <noreply@openai.com>
Show the framed item's custom name through the existing world name-label renderer, matching vanilla's HUD and crosshair conditions. Extend the LAN frame check for normal and glow frames.
Co-Authored-By: Codex <noreply@openai.com>
Deliver anvil level events to the acting player and keep their local sound out of positional sound capture. Extend the anvil LAN check to count sounds for both players using either player’s anvil result.
Co-Authored-By: OpenAI Codex <noreply@openai.com>
Clear completed guest digging so replanted flowers and crops are not broken again after attack is released. Add a LAN replanting regression for both single-player paths.
Co-Authored-By: Codex (gpt-6.1-sol) <noreply@openai.com>
Pass the crystal damage cause through destruction so explosion damage removes crystals without another blast, including during dragon respawn. Keep fight callbacks and direct-hit blasts.
Co-Authored-By: OpenAI Codex <noreply@openai.com>
Clear remote passenger mount and pose flags when a vehicle disappears, matching Entity.setRemoved. Add a two-passenger boat destruction check for both single-player paths and LAN observers.
Co-Authored-By: Codex (GPT-6) <noreply@openai.com>
Let PlayerCommand control the server sprint flag, matching vanilla, so releasing Ctrl cannot leave the client's speed modifier and FOV stuck. Cover the packet sequence and FOV recovery in regression tests.
Co-Authored-By: Codex (GPT-6) <noreply@openai.com>
Conflict in tools/lan_e2e.py's check list: main added shulker_bullets
beside crystals; both kept, crystals' entry aligned with the others.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Include End crystals in attack-only object hit-testing using their network entity IDs. Add a real-mouse LAN regression for survival and creative, reach, block occlusion, passing item use, and explosion damage.
Co-Authored-By: OpenCode GPT-6.1 <noreply@openai.com>
Sounds can't be observed playing without an audio device, so the control
status counts each stopped selection, as it counts the sounds heard.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Reuse stop_riding before applying a player teleport destination so the riding tick cannot return the player to the vehicle. Add vanilla command parity and both-mode LAN regressions for mounted teleports.
Co-Authored-By: OpenCode gpt-6.1-sol <noreply@openai.com>
Preserve the Hero effect captured by the guest's merchant session and cover discounted prices and payments for both single-player modes.
Fixes#1365
Co-Authored-By: OpenCode (gpt-6.1-sol) <noreply@openai.com>