Skip to content

Modpack Guide

Warlon Mhite edited this page Nov 8, 2026 · 4 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 · 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.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": 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 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.

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 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:foods on purpose — they are food. A pack's auto-feeder may well feed a player a Space Brownie.

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.

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