
Horse Powered
Hand-cranked and animal-powered machinery focusing on early game grinding, chopping, pressing, drying, and crushing. Leash horses, donkeys, or llamas to automate the line or generate Forge Energy. Data-driven recipes with full JEI, EMI, and Jade support.
- Загрузки
- 1K
- Подписчики
- 18
- Обновлён
- 18 августа 2026 г.
- Лицензия
- MIT
Опубликован 18 декабря 2025 г.
Horse Powered
Pre-industrial farming machinery for Minecraft. Process grain, wood, fluids, and rock the old-fashioned way: by hand for the early game, then with leashed animals walking in circles once you have a herd. Every recipe, time, and tier is data-driven, so modpacks can re-balance the entire mod from a datapack.
Highlights
- Two tiers for almost every machine: a hand-cranked starter block and an animal-powered upgrade
- Workers are any leashable mob (vanilla horses/donkeys/mules/llamas, plus anything in the
horsepowered:valid_workertag) - Attached workers become a virtual ghost render: the real mob is stored on the block so it can't be killed, despawned, or wander out of range; break the block and the original entity respawns with its full NBT intact
- Power generation tie-in: the Generator turns worker labor directly into Forge Energy for the rest of your tech setup
- Viewer support: JEI, EMI, and Jade integrations for every category
- Optional in-game documentation via GuideMe
Machines
Grindstone
- Hand Grindstone for manual milling, one turn at a time
- Horse Grindstone for hands-off, continuous milling
Grain to flour, bone to bonemeal, ore to dust, and any custom recipe you add. Recipes support a secondary output with a chance roll.
Chopper
- Chopping Block for axe-driven log splitting
- Horse Chopper for automated bulk processing
Logs into planks, planks into sticks, signs and trapdoors back into sticks. Reclaim your wood from anything craftable into sticks.
Press
- Horse Press extracts fluids from items
Seeds to seed oil, honeycomb to honey, ice to water, mud to dirt, kelp to dried kelp. The press has separate input and output tanks, so pipes can feed in one fluid and drain another without contamination.
Drying Rack
A passive 2x2 multiblock with eight independent slots. No worker needed: it just dries items over time. Right-click to insert, right-click empty to retrieve. Hoppers can insert from any side (only items with a drying recipe go in) and extract from any side (only finished outputs come out, so partial dries are protected).
Built-in recipes: kelp to dried kelp, wet sponge to sponge, rotten flesh to leather, mud to dirt, clay to terracotta, and saplings to dead bush.
Granite Anvil
Stone-tier crushing station for rock-cycle conversions. Place a granite anvil and right-click a valid input with any stone-or-better pickaxe to crush. Each swing consumes pickaxe durability and player hunger; total swings per recipe scale with the crushingMultiplier config.
Built-in recipes: stone to cobblestone, deepslate to cobbled deepslate, basalt/blackstone/tuff to gravel, cobblestone/cobbled deepslate to gravel, gravel to sand, and sandstone/red sandstone for bonus sand.
Generator
A horse-powered Forge Energy source. Attach a worker, supply a redstone signal (a lever inside the walking ring works fine), and the Generator produces FE while the worker walks. Internal buffer of 100,000 FE pushes to any adjacent FE consumer.
Work Saddle
Right-click any leashable worker to capture it into the saddle, then right-click a block to release it elsewhere. The saddle item shows a small 3D preview of the carried mob on top. Pairs naturally with the horse-powered machines for moving your trained workers around without leashes and fences.
Wooden Hopper
Early-game item transport. Single-slot, runs at half the speed of a vanilla hopper, and crafted from sticks and planks. Same insertion and extraction behavior as a regular hopper, just slower and cheaper.
Creative Battery
Creative-only FE source for testing. Holds up to Integer.MAX_VALUE energy and pushes to adjacent consumers every tick. Unbreakable and only obtainable in creative mode.
Recipe Features
- Tiers: every grinding and chopping recipe declares which station can run it (hand, horse, both). Modpacks can lock high-yield recipes behind the horse-powered variants.
- Priority: control which recipe wins when several match the same input. Lower numbers sort first in JEI and EMI.
- Hunger cost: optional per-recipe hunger drain on top of the global manual-station baseline, so harder grinds can cost the player food.
Getting Started
- Craft a Hand Grindstone or Chopping Block to start processing by hand
- Build a Horse Grindstone, Horse Chopper, or Horse Press for automation
- Clear a 3x3 walking ring around the powered machine with a sturdy floor
- Attach a horse, donkey, mule, llama, or any modded leashable mob with a lead
- Insert items, pull outputs (or let a Wooden Hopper do it), and scale up
For energy generation, slot a Generator into the same setup and run a lever or comparator into it.
Configuration
All recipe times, multipliers, exhaustion rates, energy rates, and tank sizes are in the config file. Recipes are data-driven, so packs can add, remove, or rebalance any conversion without code. Default behavior is preserved across versions whenever new fields are added.
Credits
Original mod by GoryMoon. Updated, expanded upon and maintained by Saereth.
Ченджлог
26.1.2-3.11.0Релиз26.1.2 · 18 августа 2026 г.
Horse Powered 3.11.0
Port of the 1.21.1 branch's 2.6.1 release into 26.1.
New Content
- Bottles can take fluid out of the Horse Press: glass bottles carry no fluid-handler capability, so the press never recognised one as a container and fluids that only have a bottled form (fruit juices and the like) could not be removed by hand at all. A new
horsepowered:bottlingrecipe type covers that gap: right-clicking the press with a recipe'scontainerdrains its fluid from the output tank and hands back the filled item, and right-clicking with the filled item does the reverse, filling the input tank and returning the empty container. - One bottling recipe ships by default: a glass bottle takes 250 mB of water from the press and becomes a water bottle. Press ice, snow, snowballs, or pointed dripstone for the water. Mods and packs add their own at
data/<namespace>/recipe/bottling/<recipe>.jsonwithcontainer,fluid,result, and optionalpriority. Item components are respected, so potions and other data-carrying results work. SeeREADME.mdfor the full schema. - New Bottling category in JEI listing every registered bottling recipe, with the Horse Press as its crafting station.
Recipe Viewer
- Trapping recipes now name the animal in text: the JEI Trapping panel only identified the catch through the spawn egg icon and its hover tooltip, which packs that hide creative items (AStages, GameStages, JEI blacklists) strip out. Each recipe now prints the animal's name as a heading line under the arrow, so the panel reads correctly with no spawn egg visible.
- New optional
titlefield onhorsepowered:trapping: overrides that heading. Accepts a translation key (resolved against the active language) or a plain string (shown as-is). Omit it and the entity's own name is used, so existing recipes and datapacks get the naming for free. - Trapping panels find more spawn eggs: the panel showed a plain egg for any mob whose spawn egg the game could not resolve. It now falls back to an item named
<namespace>:<entity_path>_spawn_eggbefore giving up. - New optional
iconfield onhorsepowered:trapping: an item ID for the panel's output slot, for mobs that have no spawn egg at all. Resolution order isicon, then the entity's registered spawn egg, then the conventional egg item ID, then a plain egg.
Bug Fixes
- Trapping recipes with an unresolvable entity no longer capture a pig:
BuiltInRegistries.ENTITY_TYPEreturnsminecraft:pigrather than null for an unknown ID, so a recipe naming a mob whose mod was absent (or a typo'd ID) trapped a pig and wrote the bogus ID into the trap's NBT. The trap then went dead on reload: nothing rendered, and no loot ever rolled. Such recipes are now skipped outright, and a saved trap holding an unresolvable entity reports as empty instead of as a pig. The JEI Trapping panel was affected the same way and no longer shows a pig spawn egg for these recipes.
2.6.1Релиз1.21.1 · 18 августа 2026 г.
Horse Powered 2.6.1
Bug Fixes
- Trapping recipes with an unresolvable entity no longer capture a pig:
BuiltInRegistries.ENTITY_TYPEreturnsminecraft:pigrather than null for an unknown ID, so a recipe naming a mob whose mod was absent (or a typo'd ID) trapped a pig and wrote the bogus ID into the trap's NBT. The trap then went dead on reload: nothing rendered, and no loot ever rolled. Such recipes are now skipped outright, and a saved trap holding an unresolvable entity reports as empty instead of as a pig. The two recipe viewers were affected the same way and no longer show a pig spawn egg for these recipes. - Horse Press recipe no longer conflicts with the vanilla Chest (#21): the Press was crafted from eight planks in a ring, the exact shape and ingredient of the vanilla Chest. Two shaped recipes matching the same grid means only one can win, so a player laying out planks for a Chest could get a Press instead (or the reverse), depending on which recipe the game resolved first. The Press now takes a Piston in the middle slot:
PPP/PIP/PPP, matching the recipe already used on the 26.1 branch. The Chest recipe is untouched.
Recipe Viewer
- Trapping recipes now name the animal in text (#19): the JEI and EMI Trapping panels only identified the catch through the spawn egg icon and its hover tooltip, which packs that hide creative items (AStages, GameStages, JEI blacklists) strip out. Each recipe now prints the animal's name as a heading line under the arrow, so the panel reads correctly with no spawn egg visible.
- New optional
titlefield onhorsepowered:trapping: overrides that heading. Accepts a translation key (resolved against the active language) or a plain string (shown as-is). Omit it and the entity's own name is used, so existing recipes and datapacks get the naming for free. SeeREADME.mdfor the full schema. - Trapping panels find more spawn eggs (#18): the panel showed a plain egg for any mob whose spawn egg the game could not resolve. It now falls back to an item named
<namespace>:<entity_path>_spawn_eggbefore giving up, which covers mods that register a custom egg item instead of extending the vanilla class. - New optional
iconfield onhorsepowered:trapping: an item ID for the panel's output slot, for mobs that have no spawn egg at all. Resolution order isicon, then the entity's registered spawn egg, then the conventional egg item ID, then a plain egg.
New Content
- Bottles can take fluid out of the Horse Press (#17): glass bottles carry no fluid-handler capability in NeoForge, so the press never recognised one as a container and fluids that only have a bottled form (fruit juices and the like) could not be removed by hand at all. A new
horsepowered:bottlingrecipe type covers that gap: right-clicking the press with a recipe'scontainerdrains its fluid from the output tank and hands back the filled item, and right-clicking with the filled item does the reverse, filling the input tank and returning the empty container. - One bottling recipe ships by default: a glass bottle takes 250 mB of water from the press and becomes a water bottle. Press ice, snow, snowballs, or pointed dripstone for the water. Mods and packs add their own at
data/<namespace>/recipe/bottling/<recipe>.jsonwithcontainer,fluid,result, and optionalpriority. Item components are respected, so potions and other data-carrying results work. SeeREADME.mdfor the full schema. - New Bottling category in JEI and EMI listing every registered bottling recipe, with the Horse Press as its workstation.
1.20.1-1.7.0Релиз1.20.1 · 18 августа 2026 г.
Horse Powered 1.7.0
Backport of the 1.21.1 branch's 2.6.1 release into 1.20.1.
New Content
- Bottles can take fluid out of the Horse Press (#17): glass bottles carry no fluid-handler capability in Forge, so the press never recognised one as a container and fluids that only have a bottled form (fruit juices and the like) could not be removed by hand at all. A new
horsepowered:bottlingrecipe type covers that gap: right-clicking the press with a recipe'scontainerdrains its fluid from the output tank and hands back the filled item, and right-clicking with the filled item does the reverse, filling the input tank and returning the empty container. - One bottling recipe ships by default: a glass bottle takes 250 mB of water from the press and becomes a water bottle. Press ice, snow, snowballs, or pointed dripstone for the water. Mods and packs add their own at
data/<namespace>/recipes/bottling/<recipe>.jsonwithcontainer,fluid,result, and optionalpriority. Result NBT is respected, so potions and other data-carrying items work. SeeREADME.mdfor the full schema. - New Bottling category in JEI and EMI listing every registered bottling recipe, with the Horse Press as its workstation.
Bug Fixes
- Modded spawn eggs now show in Trapping recipes (#18): the recipe panels looked the entity's spawn egg up through vanilla's
SpawnEggItem.byId, which only knows about vanilla eggs. Any mob whose egg was registered throughForgeSpawnEggItemfell back to a plain egg. The lookup now goes throughForgeSpawnEggItem.fromEntityType, which checks Forge's registrations first. If that still finds nothing, an item named<namespace>:<entity_path>_spawn_eggis tried before giving up, which covers mods that register a custom egg item class. - Trapping recipes with an unresolvable entity no longer capture a pig:
BuiltInRegistries.ENTITY_TYPEreturnsminecraft:pigrather than null for an unknown ID, so a recipe naming a mob whose mod was absent (or a typo'd ID) trapped a pig and wrote the bogus ID into the trap's NBT. The trap then went dead on reload: nothing rendered, and no loot ever rolled. Such recipes are now skipped outright, and a saved trap holding an unresolvable entity reports as empty instead of as a pig. The two recipe viewers were affected the same way and no longer show a pig spawn egg for these recipes. - EMI's Trapping category had no name, showing its raw translation key. It now reads "Trapping".
Recipe Viewer
- Trapping recipes now name the animal in text (#19): the JEI and EMI Trapping panels only identified the catch through the spawn egg icon and its hover tooltip, which packs that hide creative items (AStages, GameStages, JEI blacklists) strip out. Each recipe now prints the animal's name as a heading line under the arrow, so the panel reads correctly with no spawn egg visible.
- New optional
titlefield onhorsepowered:trapping: overrides that heading. Accepts a translation key (resolved against the active language) or a plain string (shown as-is). Omit it and the entity's own name is used, so existing recipes and datapacks get the naming for free. - New optional
iconfield onhorsepowered:trapping: an item ID for the panel's output slot, for mobs that have no spawn egg at all. Resolution order isicon, then the entity's registered spawn egg, then the conventional egg item ID, then a plain egg.
26.1.2-3.10.2Релиз26.1.2 · 28 мая 2026 г.
Horse Powered 3.10.2
Bug Fixes
- Fixed a crash that could happen while watching a Drying Rack finish. As items neared the end of their drying time, the game could crash when trying to show the finished result.
- Fixed Horse Powered machines flooding the game log with messages when they were left holding an item with no matching recipe. Logs are quiet again.
1.20.1-1.6.0Релиз1.20.1 · 22 мая 2026 г.
Horse Powered 1.6.0
Gameplay Changes
- Animal Trap bait now drains over time (#14): captured animals consume bait to keep producing drops. Every 2.5-minute drop cycle rolls a chance to consume one bait, and the cycle pauses if the bait slot is empty. Hoppers can keep traps fed unattended; the bait slot accepts matching bait even after capture, but rejects anything that doesn't match the captured species.
- Bait consumption is per-recipe: every
horsepowered:trappingrecipe carries its ownbaitConsumed(boolean) andbaitConsumeChance(0.01-100.0 percent) fields. All nine built-in recipes (cow, pig, sheep, chicken, rabbit, goat, mooshroom, strider, salmon) ship withbaitConsumed: trueandbaitConsumeChance: 10.0, so one bait fuels roughly ten drops on average. Pack makers can dial each recipe independently. SeeREADME.mdfor the full schema.
Recipe Viewer
- JEI and EMI Trapping categories now show a Bait consumed line per recipe. Recipes that don't consume bait read
Bait consumed: No; consuming recipes readBait consumed: 10% Chance(or whatever percent the recipe declares). The category panel is one row taller to fit the new line.
Documentation
- README documents the
horsepowered:trappingrecipe type with a full example covering the new bait-consumption fields. - Animal Trap GuideMe page describes the new ongoing-feeding behavior and lists the two new optional recipe fields under "Adding Custom Bait Recipes".
2.6.0Релиз1.21.1 · 22 мая 2026 г.
Horse Powered 2.6.0
Gameplay Changes
- Animal Trap bait now drains over time (#14): captured animals consume bait to keep producing drops. Every 2.5-minute drop cycle rolls a chance to consume one bait, and the cycle pauses if the bait slot is empty. Hoppers can keep traps fed unattended; the bait slot accepts matching bait even after capture, but rejects anything that doesn't match the captured species.
- Bait consumption is per-recipe: every
horsepowered:trappingrecipe carries its ownbaitConsumed(boolean) andbaitConsumeChance(0.01-100.0 percent) fields. All nine built-in recipes (cow, pig, sheep, chicken, rabbit, goat, mooshroom, strider, salmon) ship withbaitConsumed: trueandbaitConsumeChance: 10.0, so one bait fuels roughly ten drops on average. Pack makers can dial each recipe independently. SeeREADME.mdfor the full schema.
Recipe Viewer
- JEI and EMI Trapping categories now show a Bait consumed line per recipe. Recipes that don't consume bait read
Bait consumed: No; consuming recipes readBait consumed: 10% Chance(or whatever percent the recipe declares). The category panel is one row taller to fit the new line.
Documentation
- README documents the
horsepowered:trappingrecipe type with a full example covering the new bait-consumption fields. - Animal Trap GuideMe page describes the new ongoing-feeding behavior and lists the two new optional recipe fields under "Adding Custom Bait Recipes".
26.1.2-3.10.0Релиз26.1.2 · 22 мая 2026 г.
Horse Powered 3.10.0
Gameplay Changes
- Animal Trap bait now drains over time (issue #14): captured animals consume bait to keep producing drops. Every 2.5-minute drop cycle rolls a chance to consume one bait, and the cycle pauses if the bait slot is empty. Hoppers can keep traps fed unattended; the bait slot accepts matching bait even after capture, but rejects anything that doesn't match the captured species.
- Bait consumption is per-recipe: every
horsepowered:trappingrecipe carries its ownbaitConsumed(boolean) andbaitConsumeChance(0.01-100.0 percent) fields. All nine built-in recipes (cow, pig, sheep, chicken, rabbit, goat, mooshroom, strider, salmon) ship withbaitConsumed: trueandbaitConsumeChance: 10.0, so one bait fuels roughly ten drops on average. Pack makers can dial each recipe independently. SeeREADME.mdfor the full schema.
Documentation
- README documents the
horsepowered:trappingrecipe type with a full example covering the new bait-consumption fields. - Animal Trap GuideMe page updated to describe the new ongoing-feeding behavior in-line with the rest of the usage steps.
- Trimmed every GuideMe page (Hand Grindstone, Horse Grindstone, Chopping Block, Horse Chopper, Horse Press, Horse Powered Generator, Granite Anvil, Drying Rack, Flint and Tinder, Horse Path & Speed, Work Saddle, Creative Battery) to a player-focused style: removed in-page recipe tables, internal-mechanism explanations, and datapack/JSON authoring sections. Recipe listings now point to JEI/EMI.
26.1.2-3.9.1Релиз26.1.2 · 21 мая 2026 г.
Horse Powered 3.9.1
Hotfix port of the 1.21.1 branch's 2.5.1 release into 26.1.
New Content
- Wooden Hopper art: new textures and Blockbench-authored models donated by emmen. Top, inside, outside, and new bottom textures, plus updated item art.
- Flint and Tinder art: donated by ArtpokeBR.
Gameplay Changes
- Flint and Tinder hold-to-use: must now be held like firing a bow before it lights anything. The bow-style animation plays and smoke drifts from the targeted block while the player holds right-click. After about two seconds the block is ignited, or campfires, candles, and TNT light directly. Releasing early cancels with no use spent. Durability lowered from 16 to 8 to compensate for the easier renewable supply via the Drying Rack's dead-bush recipe.
Bug Fixes
- Hand Grindstone hitbox shrunk to match the model: the old selection box was a single 14-tall cube that visually covered the side items and made them hard to click. Selection and collision now follow the visible geometry (a flat base plus the central stem). Turning the wheel only fires when right-clicking the stem itself, so clicking on a base side reliably extracts that side's slot even while the grindstone has work to do. Pickup quadrants on the base top are also enlarged from the old narrow strips to the full base quadrant.
- Horse Power Generator stone-tier requirement and charge persistence: the generator now sits in both the pickaxe and
needs_stone_tooltags. Stored FE is attached to the dropped item as aBLOCK_ENTITY_DATAdata component, and placing the item back restores the buffer. The horse, if any, is still released as a live entity with a lead, so charge moves with the block while the worker is freed.
Suggestion Implementation
- Path surface affects worker speed: every horse-powered block (Grindstone, Chopper, Press, Generator) now samples the 24 floor blocks under its circular path and averages a per-block speed multiplier. Faster paths produce recipes faster; slower paths slow them down. Defaults: dirt, grass, coarse dirt, and rooted dirt run at 0.5x; dirt path at 1.0x; packed ice at 2.0x. Anything not listed defaults to 1.0x. Multipliers and defaults are configurable in
config/horsepowered-common.tomlunder[horse_path]viapathSpeedEntriesandpathSpeedDefault. - Working area now tolerates a few obstructions: chests, hoppers, gears, and other non-replaceable blocks can sit inside the 7x7 ring without invalidating the area. Default tolerance is 2 blocks, raise or lower it via
[horse_path] pathObstructionTolerance(range 0 to 40). Levers remain always-allowed, and the floor sturdiness check is unchanged.
Documentation (GuideMe)
- New Horse Path & Speed page covering working area, obstruction tolerance, the speed multiplier defaults, and the config snippets for customizing both.
- New Flint and Tinder page covering the hold-to-use behavior, smoke feedback, retargeting during use, and the lowered durability.
- Each horse-powered machine page (Grindstone, Chopper, Press, Generator) now links to the Horse Path & Speed page, and the index Tips section calls out the new path mechanic.
- Generator guide updated to note that breaking and replacing the block preserves stored charge.
Комментарии
Загружаем…