Repository navigation
fix(AttributeSwap): handle entity hits before spear checks and respect Hitboxes expansion - #6725
Merged
MineGame159 merged 2 commits intoOct 17, 2026
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Type of change
Description
Fixes several smart/spear swapping issues in
AttributeSwap:Minecraft.startAttack(),DoAttackEvent(onAttack) fires atHEADbeforeDataComponents.PIERCING_WEAPONis checked on the main-hand item. If the player holds a spear (or ifonAttackswaps to a spear),startAttack()callsgameMode.piercingAttack()and returns early without callinggameMode.attack(), preventingAttackEntityEvent(onAttackEntity) from firing. HandlingEntityHitResultdirectly inonAttackviaperformSwapensures that attacking an entity in melee/hitbox range properly swaps to a Mace, Axe, or Sword even when holding a spear, and prevents entity hits from falling through to the missed-attackspearHitbox/enchantLungelogic.Hitboxes.getEntityValue(entity)when inflating entity bounding boxes ingetTargetEntity()so extended hitbox attacks do not miss the target check and erroneously swap to a Lunge spear.spearHitboxfrom falling through toenchantLungewhen a target entity is present andexcludeLungeFromHitboxis enabled, and checks the currently selected hotbar slot first ingetSmartSpearSlot.speartoggle toWeapon Options(only-on-weapon).Related issues
Fixes #6226
Fixes #6560
How Has This Been Tested?
Verified compilation against Minecraft 26.2 (
./gradlew compileJava) and tested smart/simple swapping behavior with spears, maces, axes, swords, and theHitboxesmodule.Checklist: