Carry Mechanics

Pick up, carry, and place blocks and entities with your bare hands! A lightweight, configurable successor to Carry On.
Back to Files

Carry Mechanics (0.0.0-beta.42)

File namecarry_mechanics-26.1.2-neoforge-0.0.0-beta.42.jar
Uploader
LlaGuiT0LlaGuiT0
Uploaded
Jul 30, 2026
Downloads
21
Size
3.1 MB
Mod Loaders
NeoForge
File ID
8537606
Type
B
Beta
Supported game versions
  • 26.1.2

Curse Maven Snippet

NeoForge

implementation "curse.maven:carry-mechanics-1608286:8537606"

Learn more about Curse Maven

What's new

v0.0.0-beta.42 — First-person rendering, hand-anchored block, jump lock, real crouch pose

Fix

  • First-person rendering: the carried block was not rendered at all when looking through the local player's own view. Added a new render hook on ItemInHandRenderer so the carried block is now visible in first person.
  • Floating block / shoulder pop in third person: the carried block was drawn twice by two separate, uncoordinated render paths (one duplicating the other), each using a fixed offset from the player's bounding box height instead of the model's hand bone. This caused the block to float above the head and jump onto the shoulder when the camera angle changed. Removed the duplicate draw path and anchored the remaining one to the player model's hand.
  • Jumping while carrying: players could still jump while carrying a block, mob, or another player. Jumping is now fully cancelled while carrying, both on the client input and on the server.
  • Crouch pose not visible: the crouched pose while carrying was only set on the render state's pose field, which the player model's animation does not read. The actual isCrouching flag used by the humanoid animator is now also set, so the crouched pose is visible in third person for both the carrier and other players observing them.

Technical Changes

  • ItemInHandRendererMixin (new) — injects into ItemInHandRenderer.renderHandsWithItems to draw the carried block in first person.
  • CarriedBlockRenderer (new) — shared helper that resolves and submits the carried block's model, used by both the first-person and third-person render paths.
  • CarryingItemRenderLayer — now anchors the block to the hand via PlayerModel.translateToHand(...) instead of a fixed offset from boundingBoxHeight.
  • LivingEntityRendererMixin — removed the duplicate submit() block-draw injection; now only forces the crouch pose (pose and isCrouching) on extractRenderState.
  • AvatarExtractorMixin — now also sets isCrouching alongside pose for the local/other-player avatar render state.
  • LivingEntityMixin (new) — cancels setJumping(true) and jumpFromGround() while the player is carrying something.

This mod has no related projects