Skip to content

Modpack Guide

Warlon Mhite edited this page Nov 13, 2026 · 5 revisions

Home › Servers & modpacks › Modpack Guide

Putting Hempdustry 2 in a modpack: the licence, which jars, and every place the mod hooks into the rest of a pack without a line of code — convention tags, pipes and hoppers, datapack recipes, loot, worldgen, compost and fuel, and quests. For pack makers. Every tag is listed on Tags, every setting on Configuration.

On this page: Can I include it? · Jars and dependencies · Recipe viewers · Hooks that need no code · Other mods it works with · Farms, harvesters and seasons · Pipes, hoppers and dispensers · Balance · Recipes · Loot injection · Worldgen · Compost, fuel and fire · Quests and advancements · Caveats · Stability

Can I include it?

Yes, and the ordinary case is fine, including a pack that earns money. If your pack lists Hempdustry and the launcher downloads it from the mod's own page (CurseForge today, Modrinth once its listing is live), you have copied nothing and no licence asks anything of you; running it on a server, monetised or not, is the same. Copying the jar into your pack is allowed too: the code and data are AGPL-3.0, the art and music CC BY-NC-SA 4.0, and they ask for credit, share-alike on what you adapt, source for code changes, and permission only for a commercial use of the art and music. The details, and what neither licence covers, are on About.

Jars and dependencies

Fabric NeoForge
Minecraft 26.3 hempdustry-fabric-2.1.1+26.3.jar — Fabric Loader 0.20.1+, Fabric API 0.165.0+26.3 or newer hempdustry-neoforge-2.1.1+26.3.jar — NeoForge 26.3.0.101+
Minecraft 1.21.11 hempdustry-fabric-2.1.1+1.21.11.jar — Fabric Loader 0.18.2+, Fabric API 0.139.4+1.21.11 or newer hempdustry-neoforge-2.1.1+1.21.11.jar — NeoForge 21.11.45+
Minecraft 1.21.1 hempdustry-fabric-2.1.1+1.21.1.jar — Fabric Loader 0.16.5+, Fabric API 0.105.0+1.21.1 or newer hempdustry-neoforge-2.1.1+1.21.1.jar — NeoForge 21.1.209+
Minecraft 26.2 · last build hempdustry-fabric-2.1.1+26.2.jar — Fabric Loader 0.20.1+, Fabric API 0.161.0+26.2 or newer hempdustry-neoforge-2.1.1+26.2.jar — NeoForge 26.2.0.93+
Minecraft 26.1.2 · last build hempdustry-fabric-2.1.1+26.1.2.jar — Fabric Loader 0.20.1+, Fabric API 0.155.3+26.1.2 or newer hempdustry-neoforge-2.1.1+26.1.2.jar — NeoForge 26.1.2.126+

Minecraft 1.20.1 (last build) runs on Fabric and on Forge: hempdustry-fabric-2.1.1+1.20.1.jar (Fabric Loader 0.15.11+, Fabric API 0.92.2+1.20.1 or newer) and hempdustry-forge-2.1.1+1.20.1.jar (Forge 47.4.0+), with the same content as 1.21.1.

On Forge there are also hempdustry-forge-2.1.0+1.18.2.jar (Minecraft 1.18.2, Forge 40.3.12+) and hempdustry-forge-2.1.0+1.16.5.jar (Minecraft 1.16.5, Forge 36.2.39+), their last builds, made above all to keep Hemp-Craft and GanjaCraft worlds (Minecraft 1.18.2 and Hemp-Craft, Minecraft 1.16.5 and GanjaCraft). This page is written for the newer builds; what differs on those two is under Caveats.

Only 26.3, 1.21.11 and 1.21.1 still get updates. 26.2, 26.1.2 and 1.20.1 end with 2.1.1, and 1.18.2 and 1.16.5 with 2.1.0: their files stay up and keep working, but get no more fixes. A new pack is best built on one of the three.

  • One jar, on the client and on the server. It is required on both; a player without it cannot join.
  • Java 21, or 25 on 26.x (17 on 1.20.1 and 1.18.2, 8 on 1.16.5). On NeoForge and Forge the mod needs nothing else; on Fabric only Fabric API.
  • The builds have the same features, bar two blocks 1.21.1 and 1.20.1 have no place for, the Hemp Shelf (shelves arrived in 1.21.9) and the Hemp Harness (the happy ghast arrived in 1.21.6), the few things only 26.x has (Minecraft 26.x; 26.1.2 goes without the footbag, powdery mildew and jelly legs, which need 26.2), and what Minecraft 1.18.2 and 1.16.5 cannot hold (listed on their pages).
  • Ship a config with "updateCheck": false in its client section. Otherwise each player's game asks once on start-up whether a newer Hempdustry exists and says so in chat — an update your players cannot take until you ship it. A file holding just that is enough; the mod fills in the rest (the For a modpack preset on the config builder writes it, along with anything else you want to change):
{
  "client": {
    "updateCheck": false
  }
}

Recipe viewers

Optional, and the mod loads none of its viewer code unless the viewer is there.

JEI REI EMI
Minecraft 26.3 yes yes (on NeoForge, Architectury API 22.0.5 or newer: 22.0.3 stops NeoForge 26.3 from starting) —
Minecraft 26.2 yes Fabric only —
Minecraft 26.1.2 yes yes (with Architectury API) —
Minecraft 1.21.11 yes yes — (EMI has never been released past 1.21.1)
Minecraft 1.21.1 yes yes yes
Minecraft 1.20.1 yes yes (on Forge, with Architectury and Cloth Config) yes
Minecraft 1.18.2 yes (JEI 10) yes (REI 8, with Architectury and Cloth Config) —
Minecraft 1.16.5 yes (JEI 7) — —

Each shows pages for the Decarboxylator, the Infuser, the cauldron steps (retting and washing), the Hemp Press, dry sifting and the ice-water wash, plus an In the World page for what has no recipe behind it (trimming a plant, rubbing charas, cutting a hash bar, the vaporizer's scorched hemp, schwag), information pages for the Grow Pot, Hydro Tray and Grow Lamp, and every packing combination in the ordinary crafting tab.

Watch out: on a Minecraft 1.21.11 or 26.x dedicated server, JEI shows the mod's crafting recipes only if JEI is installed on the server too — since 1.21.2 a server no longer sends players its recipes. The machine and packing pages show either way. Put JEI in your server pack.

Hooks that need no code

Add an item or block to one of these tags in a datapack, or with your pack's tag tool, and the mod picks it up.

Tag Put in it… …and
#c:fertilizers, or #hempdustry:fertilizers another mod's fertiliser it feeds a Grow Pot and a Hydro Tray, one charge each — an alternative to bone meal, never an upgrade. The mod's own tag already holds Immersive Engineering's fertiliser and Farming for Blockheads' three, which are not in the loader tag (not on 26.2)
#c:sands another mod's sand Beldía can be planted on it, and generates on it (through #hempdustry:beldia_soil)
#c:tools/knife a cooking mod's knife it cuts a Hashish Bar (through #hempdustry:hash_cutters, beside every sword)
#c:buckets/milk another mod's milk bucket it can be poured into the Infuser, and goes into bhang and Space Cake (through #hempdustry:milk_buckets)
#c:tools/shear another mod's shears they trim a hemp plant and rub charas off it
#hempdustry:heat_sources a forge, a crucible, a heater it heats an Infuser or a Hemp Press standing on it. A block with a lit state must be lit
#hempdustry:grow_lamps a modded grow light it counts as a Grow Lamp over a plant
#hempdustry:not_grow_lights something bright that should not count it never lights a plant
#hempdustry:siftable/flower, /resinous, /trim, /kief another mod's buds or trim the Sifting Box takes it, at that tag's rate
#hempdustry:hemp_crops another mod's hemp plant creepers are drawn to it, and the trimming advancement counts it

And the other way, the mod files its own items under the convention tags so your other mods' recipes find them: Hemp Fiber as #c:strings, #c:fiber_hemp and #c:fiber, every hemp seed as #c:seeds, Hemp Flour as #c:flour, the Bucket of Hemp Milk as #c:milk, Toasted Hemp Seeds as #c:nuts, Hemp Canvas as #c:leathers, the buds and the Hemp Leaf as #c:crops/hemp, and the Hemp Brick, the Hemp Bale, hempcrete, the Bucket of Hemp Milk, the outfit, the discs and the food under theirs. The full list, and the vanilla tags the mod joins, is on Tags.

Note: the dosed edibles are in #c:foods on purpose — they are food. A pack's auto-feeder may well feed a player a Space Brownie. Nothing activated is in an ingredient tag, though: Cannabutter is never taken for butter, nor bhang for milk, so another mod's cooking never spends them by accident.

The hemp Canvas, the four outfit pieces and Paper take any fibre in #c:fiber_hemp, so Immersive Engineering's hemp fibre works in them too. Not on 26.2 or 1.20.1, whose recipes take Hemp Fiber itself; and on 26.2 the seed, fibre, flour, milk and nut tags are not filled.

Other mods it works with

With these mods in the pack, Hempdustry adds its hemp to them by itself. Each file loads only when its mod is there, so a pack without them sees none of it. Each loads on either loader where that mod exists.

Mod What it gets On
Farmer's Delight (Farmer's Delight Refabricated on Fabric) the cutting board, with a knife, strips a Hemp Stem into 4 Hemp Fiber and a Retted Hemp Stem into 6, each with a 1 in 4 chance of a stick; two fibre stacked in the grid make 4 of its rope 26.3, 26.1.2, 1.21.11, 1.21.1
Silent Gear (NeoForge) Hemp Fiber is a cord and a binding material 26.1.2, 1.21.11, 1.21.1
Bibliocraft its cookie jar holds the Space Cookie 26.1.2, 1.21.1
Forbidden Arcanus its magical farmland doubles the buds but not the seeds, as it spares vanilla's seeds 26.1.2, 1.21.1
Create the mixer makes Hempcrete as it is really made: 2 Hemp Stem, 1 limestone and 250 mB of water give 2. The fan's washing rets a Hemp Stem and washes Decarboxylated Hemp. The millstone grinds any hemp seed into Hemp Flour (a 1 in 4 chance of a second). The crusher breaks a Retted Hemp Stem into 6 fibre (half the time 7), and a retted stem goes into cardboard pulp. The saw strips a Hemp Stem into its 4 fibre rather than into planks 1.21.1; on 1.20.1 the saw alone
Immersive Engineering the Garden Cloche grows every strain; the Squeezer presses any hemp seed into 120 mB of plant oil; the Crusher breaks a Retted Hemp Stem into 6 fibre (half the time 7); its fertiliser feeds a Grow Pot 1.21.1
Botany Pots grows every strain 1.21.1
Mekanism the Crusher turns a bud, a Hemp Leaf or a Hemp Stem into 2 bio fuel. MoreMachine's planting station grows a strain's bud from its seed, with nutrient solution, and gives the seed back four times in five 1.21.1
Supplementaries three fibre stacked make 3 of its rope, seven fibre around a string make its sack, and the Hemp Stem counts as straw for daub 1.21.1
Farming for Blockheads its red, green and yellow fertilisers feed a Grow Pot or a Hydro Tray, one charge each, like bone meal 26.3, 26.1.2, 1.21.11, 1.21.1

A Garden Cloche or a Botany Pot gives, each cycle, two Hemp Stem, a bud two times in three and a seed one time in four. The leaves, the trim and the kief still need a real plant.

Farms, harvesters and seasons

  • A tall plant stays whole. Hemp is two or three blocks tall, and every block of it answers for the whole plant: a harvester that takes ripe crops waits until the whole plant is ripe; whatever breaks any block of it — a farmer, a harvester, a piston, water, an explosion — brings all of it down and the harvest drops once; bone meal, fertilisers and growth soils grow it from its root, trims and light record kept; a replanting harvester or right-click harvest starts a fresh seedling, untrimmed. Growing Hemp has the plant's own rules.
  • Farmer villagers pick up Purple Kush and Lemon Haze seeds and farm them as they do wheat, on every version and loader but 1.18.2 and 1.16.5. Beldía, which grows only on sand, they leave alone.
  • Season and growth mods. On NeoForge, and on Forge for 1.20.1, hemp grows through the loader's crop-growth events as vanilla crops do there, so a season mod can slow it or stop it. On every loader the config's cropGrowthMultiplier scales it (Configuration).
  • On Minecraft 26.x, any soil another mod puts in Minecraft's crop tags takes hemp seeds (Minecraft 26.x).

Pipes, hoppers and dispensers

The machines are ordinary sided containers: a hopper, a pipe or a storage network sees the same slots from the same faces. That holds on every loader — Fabric's item transfer reaches every container on its own, and on NeoForge the mod registers each of its machines with NeoForge's item capability, sided the same way.

Machine Goes in Comes out
Decarboxylator top: the three trays (anything a hempdustry:decarboxylating recipe takes) · sides: fuel bottom: the decarboxylated hemp, and an empty bucket left by a lava bucket — like a furnace
Infuser top and sides: hemp — decarboxylated, washed or scorched — into either of its two hemp slots. Milk only by hand or by dispenser: a dispenser facing the tub pours a milk bucket in and keeps the empty the spout: once a batch reaches the best grade it can, the tub pours the Cannabutter into whatever its spout faces — a chest, a hopper, a barrel, any storage block a pipe mod adds, or a chest or hopper minecart. No hopper can sit under it (that is where the heat goes)
Hemp Press top and sides: anything a hempdustry:pressing recipe takes the back: one item every 8 ticks into whatever stands behind it — a chest, a hopper, any storage, an inventory minecart, or a second press, which presses it on (bubble hash to rosin, unattended). With nothing behind it, the output stays inside
Sifting Box by hand only by hand only
Grow Pot, Hydro Tray a dispenser waters a pot with a water bottle and fills a tray with a water bucket; a dispenser of bone meal feeds either —

A comparator behind the Infuser reads 0 once a batch is collected, so a redstone loop can refill it with milk on its own. The dispenser pour works for vanilla milk and hemp milk; another mod's milk is poured by hand.

Balance

Three layers, from the broadest to the finest:

  1. The config — server-wide multipliers, caps and switches: effect strength and length, cooldowns, green-outs, growth and machine speed, the Infuser's clocks, the loot injection. It has the last word over everything below. Configuration.

  2. Datapack data, read when the world opens (a change needs a restart):

    • strains — what each one does when smoked, its colour, its seeds and buds: data/<namespace>/hempdustry/strain/<id>.json. Hash, rosin and charas are strains too;
    • devices — each smokeable's duration, cooldown, cough and nausea odds and bowl: data/hempdustry/hempdustry/device/ (wooden_pipe, bong, vaporizer, spliff);
    • edibles — onsets, durations and effects per tier: data/hempdustry/hempdustry/edible/default.json;
    • green-outs — odds per dose, the spins, the full green-out, the lockout: data/hempdustry/hempdustry/green_out/default.json.

    Formats on Datapacks; a walk-through on Custom Strains.

  3. Recipes, loot tables and tags — ordinary datapack files, re-read by /reload.

Not reachable without code: each strain's base growth speed, the machines' base times (the config scales both), the cauldron's yields, and the Sifting Box's rates (its tags decide what goes in at which rate).

Recipes

Every recipe is a datapack recipe in data/hempdustry/recipe/, so KubeJS, CraftTweaker or a plain datapack can add, remove or replace any of them by id or by type. On 1.21.1 and 26.1.2, KubeJS's replaceInput and replaceOutput also reach inside the mod's own recipe types — the Decarboxylator, the Infuser, the Hemp Press, and the infused and bucket-carrying grid recipes — and on 26.1.2 so do KubeGroovy's.

Type What it is Fields
hempdustry:decarboxylating one Decarboxylator input — one file per input, in recipe/decarboxylating/ ingredient, result
hempdustry:infusing the whole Infuser tub, one file (recipe/infusing.json) container, hemp, washed_hemp, optional scorched_hemp, result
hempdustry:pressing one Hemp Press input — recipe/pressing/ ingredient, result
hempdustry:infused_shaped, hempdustry:infused_shapeless crafting that carries the Cannabutter's strength and quality onto the edible as vanilla's shaped and shapeless, plus offset (the edible's potency against the butter's)
hempdustry:container_carried shapeless crafting where the bucket goes into the result instead of coming back (hemp milk, bhang) as vanilla's shapeless
hempdustry:packing packing a pipe, a bong or the vaporizer; every combination comes from the strain and device data, so there is nothing to edit in it category only

Spliffs are ordinary minecraft:crafting_shaped recipes whose result carries a hempdustry:smoke_contents component. The machines measure strength and quality themselves; neither is part of a recipe.

Not recipes, so not in any recipe tool: the cauldron's retting and washing, the Sifting Box (its tags decide), trimming and charas, cutting a hash bar, and what the vaporizer hands back. JEI and REI still show all of them.

Loot injection

On top of vanilla's loot tables the mod adds a little hemp where people kept it. Each chance below is scaled by loot.chanceMultiplier; each weight goes into vanilla's own pool beside its entries and is left alone. loot.enabled: false removes all of it.

Table Adds Rate
blocks/tall_grass, blocks/large_fern 1 hemp seed — not with shears; Fortune adds more, as for wheat seeds 1% (chance)
chests/shipwreck_supply, chests/simple_dungeon, chests/abandoned_mineshaft, chests/woodland_mansion, chests/pillager_outpost 1–3 hemp seeds 30% (chance)
chests/village/village_plains_house, chests/village/village_taiga_house 1–3 hemp seeds 10% (chance)
chests/desert_pyramid 1–3 Beldía seeds 20% (chance)
chests/village/village_desert_house 1–3 Beldía seeds 10% (chance)
archaeology/desert_well, archaeology/desert_pyramid Beldía seeds, from brushing weight 1, about one brush in nine
chests/shipwreck_supply 1–4 Hemp Fiber or 1–3 Hemp Canvas (3 to 1) 45% (chance)
chests/shipwreck_supply 1–4 Schwag 20% (chance)
chests/village/village_fisher 1–3 Toasted Hemp Seeds weight 2
gameplay/fishing/junk Hemp Fiber weight 5, string's own
chests/simple_dungeon, chests/woodland_mansion one of the two music discs 12% (chance)

All table ids are minecraft:. Seeds in grass and the general chests come from every strain that has seeds — a datapack strain included — at equal odds, except Beldía, which is found only in the desert.

The rules:

  • A chest a datapack replaces is left exactly as its author wrote it. The mod adds to a table only when the copy in use comes with the game, with one of Mojang's experiment packs or with a mod. A datapack in a world's datapacks folder that overrides chests/desert_pyramid gets no Beldía.
  • The Villager Trade Rebalance experiment replaces five chests with its own copies. Since 2.1 those copies count as the game's, so the desert temple, mineshaft and outpost chests keep the mod's loot with the experiment on, on both loaders.
  • Creepers dropping the discs is not injection. The discs are in vanilla's #minecraft:creeper_drop_music_discs tag. Tags only add up, so to stop it a datapack replaces that tag ("replace": true) with vanilla's twelve discs alone.
  • The mod's own blocks drop from ordinary loot tables in data/hempdustry/loot_table/, which a datapack can override like any other. A crop's buds turning to schwag is a loot entry of the mod's own, hempdustry:spoiling (Datapacks).
  • Changes apply when loot tables are rebuilt: /hempdustry reload, then /reload.

Worldgen

Wild hemp is placed by biome tag on both loaders. Edit a tag to move a plant; empty it ("replace": true with no values) to stop it generating. Changes need a restart and apply only to newly generated chunks.

Wild plant Biome tag Vanilla biomes in it
Wild Purple Kush #hempdustry:indica_flower_gen plains, jungle, sparse jungle, bamboo jungle, swamp, mangrove swamp, and #c:is_jungle, #c:is_swamp
Wild Purple Kush, underground #hempdustry:indica_flower_gen_cave lush caves
Wild Lemon Haze #hempdustry:sativa_flower_gen savanna, savanna plateau, windswept savanna, sunflower plains, and #c:is_savanna
Wild Lemon Haze, thinner #hempdustry:sativa_flower_gen_sparse wooded badlands
Wild Lemon Haze, rarest #hempdustry:sativa_flower_gen_rare badlands, eroded badlands
Beldía (a ripe crop on sand by water) #hempdustry:beldia_gen #c:is_desert

The tags already name, as optional entries, matching biomes from Biomes O' Plenty, Regions Unexplored and Terralith; Tags lists them. Beldía grows on #hempdustry:beldia_soil, and its patch checks every plant against #hempdustry:beldia_gen (the placement modifier hempdustry:in_beldia_biome), because a patch spreads past the edge of its biome.

The placed features are hempdustry:indica_placed, indica_cave_placed, sativa_placed, sativa_sparse_placed, sativa_rare_placed and beldia_placed, in data/hempdustry/worldgen/; override one to change how often a plant appears.

NeoForge. The features are added to biomes by six biome modifiers, one per placed feature, under data/hempdustry/neoforge/biome_modifier/ (indica_placed.json and so on), each of type neoforge:add_features reading the same biome tag as above. A datapack can override one there — {"type": "neoforge:none"} switches it off. On Fabric the same work is done in code, and the biome tags are the hook.

Compost, fuel and fire

Fabric NeoForge
Compost chances set in code data map data/neoforge/data_maps/item/compostables.json — a datapack can change it
Furnace fuel set in code data map data/neoforge/data_maps/item/furnace_fuels.json — a datapack can change it
Flammability set in code set in code

That is Minecraft 1.21.11, 1.21.1 and 26.2. On Minecraft 26.3 compost and fuel are part of each item, and the numbers are datapack entries on both loaders, in data/hempdustry/context_int_provider/cooking/time_<ticks>.json and compostable/chance_<percent>.json; each entry serves every Hempdustry item with that value (Minecraft 26.x).

The numbers are the same on both loaders and every version. The hemp wood set — planks, stairs, slabs, doors, signs, the shelf, the parquet — is never fuel, like crimson and warped, because it is in vanilla's #minecraft:non_flammable_wood.

The compost chances and burn times

Compost: Hemp Brick 5% · the seeds of every strain, Hemp Fiber, Hempcrete, Hemp Leaf, Scorched Hemp 30% · Hemp Canvas, Hemp Stem, Retted Hemp Stem, the buds of every strain, Schwag, Decarboxylated Hemp, Washed Decarboxylated Hemp, the four outfit pieces, Block of Hemp Leaves 50% · Wild Purple Kush, Wild Lemon Haze 65% · Hemp Bale, Block of Hempcrete Powder 85%.

Fuel (ticks; 200 smelts one item): Hemp Stem, Retted Hemp Stem and Hempcrete 50 · Hemp Wool 100 · the outfit, head to foot, 250 · 400 · 350 · 200 · Hemp Bale 450. The Block of Hempcrete Powder is no fuel, like vanilla's concrete powder.

Quests and advancements

  • Advancements: the mod has a full tab of its own (root hempdustry:hempdustry), a few of them hidden. A quest mod such as FTB Quests can use them as advancement tasks; ids are on Advancements.
  • Triggers for your own advancements: hempdustry:smoke (a hit, filterable by item and by strain) and hempdustry:harvest_hemp (a harvest, filterable by the light the plant grew under and the block it grew on). Their fields are on Datapacks.
  • Vanilla triggers with the mod's tags work too — for example minecraft:consume_item with #hempdustry:edibles, or minecraft:inventory_changed with #hempdustry:hemp_seeds.
  • In code: four addon events (a hit about to happen, a hit, an edible eaten, a batch of Cannabutter collected) on both loaders — Addon Development.

Caveats

  • Strains and the balance data need a restart. /reload does not re-read them.
  • A world is not promised to move between Fabric and NeoForge. The mod keeps its own data the same on both; the loader and the other mods in a pack may not.
  • Fabric on Minecraft 1.21.1: the oldest supported Fabric API there (0.105.0) has no #c:sands. Beldía then grows on sand and red sand, which its own tag names directly, and on modded sand only once something defines the tag. NeoForge, and Fabric on 1.21.11, have it.
  • Milk cannot go into the Infuser by pipe — use a dispenser, as above. The Sifting Box takes no automation at all.
  • JEI on a 1.21.11 dedicated server needs to be on the server as well (see Recipe viewers).
  • The tab's language: Russian may show some of 2.1's new text in English.
  • On the Forge builds for 1.18.2 and 1.16.5 the data folders keep those versions' older names (recipes/, loot_tables/, advancements/, tags/items/, tags/blocks/); wild hemp is placed in code, by biome, so no biome tag or biome modifier changes where it grows; compost and fuel are set in code; and a few tags differ (Tags).

Stability

Every public release, betas included, keeps what the last one had: item and block ids, tag ids, data formats, config keys, the addon events. A world, datapack, resource pack or addon that worked on one public build works on the next, so a pack can take a Hempdustry update mid-line. What exactly is frozen, and what can change, is on Stability Promise.


See also: Tags · Datapacks · Configuration · Server Guide

Clone this wiki locally