promotional bannermobile promotional banner

Licensed to Craft - Profession Gated Crafting

Grant players professions, then choose what everyone without one cannot craft, place, use or cast.

Licensed to Craft - Profession Gated Crafting

Full guide: github.com/teamdemivfxfish-dev/licensed-to-craft-wiki

Versions: NeoForge 1.21.1. Server-side only.

You choose the professions. You choose what they own. Every mod in your pack is fair game.

Licensed to Craft is a configuration mod. It ships no professions of its own, hardcodes no mod list, and knows nothing about your pack until you tell it. One JSON file defines any number of professions, with your ids, your names and your colours, and for each one you list what everybody without it cannot do.

Point it at Create, at Mekanism, at Ars Nouveau, at Farmer's Delight, at your own mod, at vanilla diamond gear. If the pack has it, you can gate it, whether that is a whole mod, one block, a wildcard, a tag or a whole class of item. Name it, and it is somebody's trade.

It also ships as a working example, not an empty file. The defaults are the four trades from our own server, the Warborn Realms: Blacksmith, Inventor, Freeholder and Arcanist, tied to Apotheosis, Create, MineColonies and Iron's Spells. Drop the mod in and it plays immediately. Delete the lot and write Miner, Cook, Engineer, Smuggler and Necromancer instead, and nothing in the mod cares.

Professions Are Data

config/warbornprofessions.json is the whole mod. It can be shipped inside a modpack, edited by hand, or edited live in game with commands.

{
  "id": "engineer",
  "name": "Engineer",
  "color": "aqua",
  "craft": ["mekanism", "immersiveengineering", "!mekanism:*_ore"],
  "place": ["mekanism:metallurgic_infuser"],
  "interact": ["mekanism:metallurgic_infuser"],
  "use": [],
  "cast": []
}

That is a complete profession. Add ten more if you want ten more.

The Five Gates

Every profession has five lists. Each says what a player without that profession cannot do.

Gate Blocks
craft Crafting it. The result never appears in the slot, so no ingredients are lost
place Placing the block
interact Right-clicking the placed block. Building against it still works fine
use Right-clicking with the held item
cast Casting the spell (Iron's Spells & Spellbooks)

Entries That Understand Your Modpack

A gate list is not just a pile of ids to keep up to date forever:

Entry Matches
create A mod id: everything from that mod
apotheosis:reforging_table One exact block or item
malum:spirit_* A wildcard
#minecraft:planks An item or block tag
@weapon A category, judged from the thing itself
!toxony:glass_vial An exception, never gated whatever else matches

Categories are the useful part. They read what something is rather than what it is called, so they keep working when a mod updates and adds forty new items:

@gear, @weapon, @tool, @armor, @machine, @building, @block, @item, @food, @potion, @seed

So "only a Blacksmith makes weapons and armour, out of any mod at all" is two entries: @weapon and @armor.

Tip: gate lists match a mod's namespace, which is not always its jar name. Some mods ship as a wrapper jar that registers nothing itself and hides the real content in mods nested inside it. Hover an item with F3+H on and gate the id you actually see.

A Monopoly on Making, Not a Wall

You can configure it into a brick wall if you want one, but the shipped setup follows a rule worth stealing. Most gating locks a mod away and quietly wrecks the pack around it. This draws the line at the workbench instead:

  • You cannot craft another profession's goods.
  • You can absolutely use whatever you buy, loot or are given. Bought armour fits, a bought machine runs, a bought repair kit repairs.
  • Their crafting stations stay theirs. That is the part a profession really owns.
  • Breaking blocks is never gated. Anyone can mine, clear or salvage anything, whoever made it.

The result is a working economy instead of four players staring at a locked mod list.

The Safety Net

Gate a whole mod the naive way and you gate its building set with it. On our own server a player once chopped down a tree from a magic mod and found he could not craft the planks. That is not gameplay, that is a bug wearing a rule as a costume.

So a bare mod id is deliberately the weakest kind of entry. It is softened by a global exemption list, neverGate, which by default exempts @building (any block with no block entity: planks, stone, bricks, glass, fences, decoration), @food and @seed, on every mod, automatically.

Anything more specific than a mod id beats the net, so an exact id, a wildcard, a tag or a category is gated regardless. That is how a station stays locked even when it looks like an ordinary block, while the planks stay free.

And if something is overlooked in either direction, you fix it in ten seconds, live:

/profession nevergate add @potion
/profession gate add blacksmith craft mekanism:atomic_disassembler
/profession reload

Commands

Command Does
/profession grant|revoke <targets> <profession> Give or take a profession
/profession list [target] What a player holds
/profession professions Every profession defined, and how much each gates
/profession reload Re-read the file, no restart
/profession gate show <profession> Print its five lists
/profession gate add|remove <profession> <gate> <entries> Edit a list and save the file
/profession nevergate show|add|remove <entries> Edit the safety net

Everything is permission level 2, so quest rewards, command blocks and the console can hand professions out. Ours come from FTB Quests: /profession grant @p blacksmith.

Settings

Setting Does
enabled Master switch
creativeBypass Creative mode ignores every gate
opBypassLevel Permission level that ignores every gate, 0 for nobody
ignoreFakePlayers Machines acting through a player are never gated, so automation keeps running
messageCooldownTicks Gap between denial messages
denyMessage, denyMessages Your own wording, shared or per gate
neverGate The safety net

The Shipped Example, In Full

Keep it, edit it, or delete it. This is what the file contains out of the box:

Profession Owns Stations kept exclusive
Blacksmith Apotheosis, Toxony, Iron's Repair Kits Salvaging, reforging, gem cutting and augmenting tables; alchemical forge, alembic, copper crucible, mortar and pestle
Inventor Create and its addons Mechanical crafter, millstone, crushing wheels, press, mixer, basin, saw, deployer, encased fan, blaze burner, spout, item drain, packager, schematicannon, physics assembler
Freeholder MineColonies Huts, quarries, supply camps, scepters
Arcanist Iron's Spells and its addons, Malum's magic Spirit altar, crucible, jars, catalyzer, runic and weaver benches, plinths, obelisks, pylons, totems. Every spell cast, too

Two deliberate holes in it, both worth copying: Numismatics is not gated, because it is the server currency and gating it would break everyone's shops; and Create machinery can still be placed and operated by anyone, so an Inventor can build a factory for a client and the client can run it.

Requirements

Mod Status
NeoForge 1.21.1 Required
Iron's Spells & Spellbooks Optional, only for the cast gate

Server-side: install it on the server alone. Clients need nothing and are never rejected for lacking it. No mixins, no client packets, no registry additions.

One thing worth knowing: craft means the crafting grid. A mod's own machine recipes are not crafting, so gate the machine itself under place and interact, which is exactly what the default station lists do.


Give them a trade. Make them trade.

Part of The Warborn Realm, by barunn

The Licensed to Craft - Profession Gated Crafting Team

profile avatar
Owner
  • 7
    Followers
  • 11
    Projects
  • 14.3K
    Downloads

YouTuber and Small-Project Dev: https://www.youtube.com/@The_Bronn

More from BarunnView all