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.44)

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

Curse Maven Snippet

NeoForge

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

Learn more about Curse Maven

What's new

v0.0.0-beta.44 — Carried block held with both arms, matching Carry On's look

Fix

  • Block no longer anchored to a single hand: the previous attempt anchored the carried block to the right hand bone, which still looked like holding an item in one hand instead of carrying it with both arms in front of the chest. Ported the actual positioning logic from the reference mod (Carry On): the block is now placed with a fixed transform relative to the player's torso — scaled down, pulled in front of the body and slightly down — so it looks embraced with both arms and stays stable at any camera angle instead of following arm-swing animation.
  • First person now shows the block instead of your own hands: instead of drawing the block alongside the vanilla hand render, the mod now cancels the hand render entirely via NeoForge's RenderHandEvent while carrying a block and draws the carried block in its place — the same technique Carry On uses, giving the "both hands carrying it" look instead of one hand awkwardly holding it.

Technical Changes

  • CarryRenderHelper (new) — ported torso-relative transform math (scale/translate/rotate) from Carry On's positioning code, adapted to this mod's CarryData/ModelOverrideHandler.
  • CarriedObjectRender (new) — resolves the carried block as an ItemStack via ItemModelResolver.updateForTopItem(..., ItemDisplayContext.NONE, ...) and submits it through the transform above, shared by both first- and third-person call sites.
  • ClientEvents — added a RenderHandEvent listener that cancels vanilla hand rendering and draws the carried block instead, on the main-hand pass only.
  • CarryingItemRenderLayer — now delegates straight to CarriedObjectRender.draw(...) instead of anchoring to the hand bone via translateToHand.
  • ICarryOnRenderState / PlayerRenderStateMixin / AvatarExtractorMixin — the render state now also caches a reference to the Player entity being rendered, needed by the shared draw call.
  • Removed ItemInHandRendererMixin and CarriedBlockRenderer (superseded by the event-based approach above).

This mod has no additional files