File Details
horsepowered 2.4.0
- R
- May 18, 2026
- 406.01 KB
- 10
- 1.21.1
- NeoForge
File Name
horsepowered-2.4.0.jar
Supported Versions
- 1.21.1
Curse Maven Snippet
Horse Powered 2.4.0
New Content
- Horse Powered Generator: new horse-powered machine that converts worker labor directly into Forge Energy. Generates 80 FE/tick while a worker walks, buffers up to 100,000 FE, and pushes power to any adjacent FE consumer. Requires a redstone signal to run, so it can be toggled by a lever inside the working ring.
- Work Saddle: right-click any valid worker (horse, donkey, mule, llama, trader llama) to capture it into the saddle, then right-click any block to release it elsewhere. The captured mob is rendered as an overlay on the item, monster-spawner style. Crafted from a saddle and a lead.
- Creative Battery: creative-only block for testing energy setups. Holds up to
Integer.MAX_VALUEFE, accepts and outputs power at the same rate, and pushes stored energy to adjacent FE consumers every tick. Bedrock-grade hardness and no loot table; only obtainable in creative. - Drying Rack: a passive 2x2 multiblock wooden rack that dries 8 items at once. Each of the 8 slots ticks independently. Right-click with an input item to place it on a slot, right-click with an empty hand on a filled slot to take it back. Once a slot finishes its recipe, the item is replaced with the output and stays there until removed. Hoppers and pipes can insert into any slot from any side (only items with a drying recipe are accepted) and extract from any slot, but only finished outputs can be pulled out; partial dries are protected. Crafted with three sticks on top, three sticks on bottom, and a plank on each side of an empty center.
- Granite Anvil: stone-tier crushing station for rock-cycle conversions. Place a granite anvil (granite over polished_deepslate, 3+3 pattern) and right-click a valid input with any stone-tier-or-better pickaxe to crush. Each successful strike consumes pickaxe durability (toggle via
shouldDamageGraniteAnvilPickaxe) and applies food exhaustion (graniteAnvilExhaustionplus per-recipehungerCost). Total strikes per recipe aretime × crushingMultiplier. By default the result is dropped on top of the anvil; flipgraniteAnvilDropto false to keep the output in an internal slot instead. Ships with 10 recipes: stone, deepslate, basalt, blackstone, tuff, cobblestone, cobbled_deepslate, gravel, sandstone (4 sand), red_sandstone (4 red_sand). New JEI and EMI "Crushing" categories show the strike count and (when set) hunger per recipe. Jade shows input/output items and remaining strikes when looking at the block.
New Recipe Features
- Optional
hungerCoston chopping and grinding recipes: float field (default0.0). On manual stations it is added to the player's food exhaustion every chop or turn, on top of the existing config baseline. Has no effect on horse-powered stations. Recipe viewers display a "Hunger" line on the manual category when the value is greater than zero. - New
horsepowered:dryingrecipe type: item in, item out, plus atime(in ticks). Modpack makers can add their own atdata/<ns>/recipe/drying/*.json.
Built-in Drying Recipes
The Drying Rack is passive (no worker), so default times are an order of magnitude longer than the active machines.
minecraft:kelptominecraft:dried_kelp(1000t / 50s)minecraft:wet_spongetominecraft:sponge(2000t / 100s)minecraft:rotten_fleshtominecraft:leather(1000t / 50s)minecraft:mudtominecraft:dirt(1000t / 50s)minecraft:claytominecraft:terracotta(4000t / 200s)#minecraft:saplingstominecraft:dead_bush(1500t / 75s)
Recipe Viewer Improvements
- Manual Chopping now displays the actual chop count (
time × choppingMultiplier) in JEI and EMI instead of the raw recipe time. - Manual Grinding now displays the number of turns required (
⌈time / pointsPerRotation⌉) instead of raw time. - Sort priority is ascending again (issue #7): JEI and EMI list recipes from lowest
priorityvalue to highest, sopriority: 1displays abovepriority: 2. - Press fluid amount no longer overflows (issue #6): the "mB" label is right-justified to the recipe background width so values like
1000 mBno longer run off the right edge in JEI and EMI. - Redundant input count text removed from the Press recipe (issue #6): the count is already drawn on the slot by JEI/EMI, so the duplicate "xN" label was removed.
- EMI arrow no longer flickers: the filling-arrow cycle is in milliseconds (not ticks); the previous
200value flickered ~5 times per second. Now10000ms, matching JEI's 200-tick arrow. - Drying category added to JEI and EMI with the rack as its workstation. Shows input, output, and total drying time in seconds.
Visual Fixes
- Horse Chopper blade orientation is now correct in all four placement directions. The blade follows the chopper's facing and lies along the top support beam instead of being rotated 90° off-axis.
- Horse Chopper top no longer renders dark (issue with the v2.x port): the filler block above the chopper now propagates skylight and has zero light attenuation, so the crossbeam and handle on top are lit correctly.
- Generator block model no longer jitters: the energy storage was triggering a client-side block update every tick when generating or pushing power, which caused the block model to re-mesh continuously. Energy changes now mark the chunk dirty for save without forcing a client resync.
- Worker walk animation no longer restarts every tick: the cached client-side render entity was being rebuilt on every position sync. It is now preserved across syncs as long as the worker identity (entity type) doesn't change.
- Creative Battery no longer X-rays through the floor: the block now has
noOcclusionso adjacent faces are not culled, fixing the visible-through-the-bottom rendering.
Manual Station Display
- Hand Grindstone displays input/output sides based on facing (issue #8): output renders on the player's right and input renders on the player's left (in addition to the spinning input on top), so the pickup zones always line up with the visible items regardless of how the block was placed. The fixed-position display only matched in one of four placement directions before.
Multi-Block Fixes
- Horse Chopper upper half now has a hitbox (issue #9): adjacent blocks (hoppers, scaffolding, etc.) can be placed against the upper block again. Vanilla hoppers placed on any side of the upper half feed into the chopper through the existing filler container delegation.
- Working-area validation: horse-powered blocks now also require a sturdy floor under the walking ring, so workers can't float over missing blocks. Levers placed inside the ring are allowed, so the area can host wall levers for redstone toggles (used by the Generator's on/off control).
Jade Per-Slot Progress
Look at any of the 8 slots on a Drying Rack and Jade shows that specific slot's recipe progress and remaining time. Works on all 4 quadrants of the multiblock: the cursor's hit position is mapped to the slot under it, and the main block entity's progress for that slot is synced for the tooltip.
Datapack / API
tier,priority, andhungerCostare all optional fields on grinding and chopping recipes. Defaults preserve previous behavior.horsepowered:valid_workerentity-type tag governs both worker attachment and Work Saddle pickup.horsepowered:dryingrecipe type withingredient,result,timefields. Item-in, item-out, server-side timer-driven.

