Skip to content

fix: only handle npc interact when performed with main hand#1673

Merged
derklaro merged 2 commits into
nightlyfrom
npc-only-main-hand
Jun 30, 2025
Merged

fix: only handle npc interact when performed with main hand#1673
derklaro merged 2 commits into
nightlyfrom
npc-only-main-hand

Conversation

@derklaro

Copy link
Copy Markdown
Member

Motivation

The client sends the interact packet twice (in most cases): once for the main hand and once for the off hand. This causes all right click actions of selector entities to be executed twice.

Modification

Only actually handle the right click action to a selector entity if the interact happened with the main hand. In all other cases we just ignore the interact and, if needed, just cancel the interact event (required to cancel certain actions on mobs such as shearing a sheep).

Result

Selector entity right click actions are only performed once, not twice in many cases.

Other context

https://canary.discord.com/channels/325362837184577536/818777626663321671/1388872733903028265

@derklaro derklaro added this to the 4.0.0-RC13 milestone Jun 29, 2025
@derklaro derklaro requested a review from 0utplay June 29, 2025 21:18
@derklaro derklaro self-assigned this Jun 29, 2025
@derklaro derklaro added v: 4.X This pull should be included in the 4.0 release t: fix A pull request introducing a fix for a bug. in: module An issue/pull request releated to one of the internal modules labels Jun 29, 2025
@github-actions

github-actions Bot commented Jun 29, 2025

Copy link
Copy Markdown

Test Results

 56 files  ±0   56 suites  ±0   3m 3s ⏱️ +36s
566 tests ±0  566 ✅ ±0  0 💤 ±0  0 ❌ ±0 
931 runs  ±0  931 ✅ ±0  0 💤 ±0  0 ❌ ±0 

Results for commit b817365. ± Comparison against base commit 5c85c01.

This pull request removes 36 and adds 36 tests. Note that renamed tests count towards both.
eu.cloudnetservice.driver.impl.document.gson.JavaTimeSerializerTest ‑ [14] 2025-06-24
eu.cloudnetservice.driver.impl.document.gson.JavaTimeSerializerTest ‑ [23] 06:55:23.414604269
eu.cloudnetservice.driver.impl.document.gson.JavaTimeSerializerTest ‑ [28] 06:55:23.414708683Z
eu.cloudnetservice.driver.impl.document.gson.JavaTimeSerializerTest ‑ [29] 06:55:23.414729972Z
eu.cloudnetservice.driver.impl.document.gson.JavaTimeSerializerTest ‑ [30] 06:55:23.414752274+05:00
eu.cloudnetservice.driver.impl.document.gson.JavaTimeSerializerTest ‑ [31] 06:55:23.414770759-03:00
eu.cloudnetservice.driver.impl.document.gson.JavaTimeSerializerTest ‑ [34] 2025-06-24T06:55:23.415392536
eu.cloudnetservice.driver.impl.document.gson.JavaTimeSerializerTest ‑ [39] 2025-06-24T06:55:23.415551632Z
eu.cloudnetservice.driver.impl.document.gson.JavaTimeSerializerTest ‑ [4] 2025-06-24T06:55:23.407955299Z
eu.cloudnetservice.driver.impl.document.gson.JavaTimeSerializerTest ‑ [5] 2025-06-24T06:47:03.407965569Z
…
eu.cloudnetservice.driver.impl.document.gson.JavaTimeSerializerTest ‑ [14] 2025-06-30
eu.cloudnetservice.driver.impl.document.gson.JavaTimeSerializerTest ‑ [23] 13:59:13.611966297
eu.cloudnetservice.driver.impl.document.gson.JavaTimeSerializerTest ‑ [28] 13:59:13.612075721Z
eu.cloudnetservice.driver.impl.document.gson.JavaTimeSerializerTest ‑ [29] 13:59:13.612096349Z
eu.cloudnetservice.driver.impl.document.gson.JavaTimeSerializerTest ‑ [30] 13:59:13.612118370+05:00
eu.cloudnetservice.driver.impl.document.gson.JavaTimeSerializerTest ‑ [31] 13:59:13.612137476-03:00
eu.cloudnetservice.driver.impl.document.gson.JavaTimeSerializerTest ‑ [34] 2025-06-30T13:59:13.612284600
eu.cloudnetservice.driver.impl.document.gson.JavaTimeSerializerTest ‑ [39] 2025-06-30T13:59:13.612420302Z
eu.cloudnetservice.driver.impl.document.gson.JavaTimeSerializerTest ‑ [4] 2025-06-30T13:59:13.598926715Z
eu.cloudnetservice.driver.impl.document.gson.JavaTimeSerializerTest ‑ [5] 2025-06-30T13:50:53.598932446Z
…

♻️ This comment has been updated with latest results.

0utplay
0utplay previously approved these changes Jun 30, 2025
@derklaro derklaro merged commit 5fda156 into nightly Jun 30, 2025
5 checks passed
@derklaro derklaro deleted the npc-only-main-hand branch June 30, 2025 14:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

in: module An issue/pull request releated to one of the internal modules t: fix A pull request introducing a fix for a bug. v: 4.X This pull should be included in the 4.0 release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants