Repository navigation
Modpack Guide
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 · Pipes, hoppers and dispensers · Balance · Recipes · Loot injection · Worldgen · Compost, fuel and fire · Quests and advancements · Caveats · Stability
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.
| Fabric | NeoForge | |
|---|---|---|
| Minecraft 26.3 |
hempdustry-fabric-2.1.0+26.3.jar — Fabric Loader 0.20.1+, Fabric API 0.165.0+26.3 or newer |
hempdustry-neoforge-2.1.0+26.3.jar — NeoForge 26.3.0.101+ |
| Minecraft 26.2 |
hempdustry-fabric-2.1.0+26.2.jar — Fabric Loader 0.20.1+, Fabric API 0.161.0+26.2 or newer |
hempdustry-neoforge-2.1.0+26.2.jar — NeoForge 26.2.0.93+ |
| Minecraft 1.21.11 |
hempdustry-fabric-2.1.0+1.21.11.jar — Fabric Loader 0.18.2+, Fabric API 0.139.4+1.21.11 or newer |
hempdustry-neoforge-2.1.0+1.21.11.jar — NeoForge 21.11.45+ |
| Minecraft 1.21.1 |
hempdustry-fabric-2.1.0+1.21.1.jar — Fabric Loader 0.16.5+, Fabric API 0.105.0+1.21.1 or newer |
hempdustry-neoforge-2.1.0+1.21.1.jar — NeoForge 21.1.209+ |
On Forge: 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+), 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.
- 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.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 has 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.2 and 26.3 have (Minecraft 26.x), and what Minecraft 1.18.2 and 1.16.5 cannot hold (listed on their pages).
-
Ship a config with
"updateCheck": falsein itsclientsection. 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
}
}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 1.21.11 | yes | yes | — (EMI has never been released past 1.21.1) |
| Minecraft 1.21.1 | yes | yes | 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.
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 |
another mod's fertiliser | it feeds a Grow Pot and a Hydro Tray, one charge each — an alternative to bone meal, never an upgrade |
#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, 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:foodson purpose — they are food. A pack's auto-feeder may well feed a player a Space Brownie.
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 |
|---|---|---|
|
|
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 |
|
|
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) |
|
|
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 |
|
|
by hand only | by hand only |
|
|
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.
Three layers, from the broadest to the finest:
-
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.
-
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.
-
strains — what each one does when smoked, its colour, its seeds and buds:
-
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).
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.
| 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.
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
datapacksfolder that overrideschests/desert_pyramidgets 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_discstag. 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.
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.jsonand so on), each of typeneoforge:add_featuresreading 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.
| 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.
-
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) andhempdustry: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_itemwith#hempdustry:edibles, orminecraft:inventory_changedwith#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.
-
Strains and the balance data need a restart.
/reloaddoes 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).
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
Hempdustry 2 by Warlon Mhite · Documents version 2.1.0 · Code AGPL-3.0, art and music CC BY-NC-SA 4.0 · Discord · Report a bug Not an official Minecraft product. Not approved by or associated with Mojang or Microsoft.
Getting started
- Installation
- Getting Started
- FAQ
- Minecraft 26.2 and 26.3
- Minecraft 1.16.5 and GanjaCraft
- Minecraft 1.18.2 and Hemp-Craft
Growing
Smoking
Hash
Kitchen
Building
Reference
Servers & modpacks
- Server Guide
- Configuration
- Config builder ↗
- Commands
- Modpack Guide
- Tags
- Datapacks
- Custom Strains
- Resource Packs
Developers
Contributing
About