Licensed to Craft - Profession Gated Crafting

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

warbornprofessions-neoforge-1.0.3-1.21.1-java21.jar

File namewarbornprofessions-neoforge-1.0.3-1.21.1-java21.jar
Uploader
BarunnBarunn
Uploaded
Jul 26, 2026
Downloads
9
Size
54.5 KB
Mod Loaders
NeoForge
File ID
8513209
Type
R
Release
Supported game versions
  • 1.21.1

Curse Maven Snippet

NeoForge

implementation "curse.maven:licensed-to-craft-profession-gated-crafting-1624559:8513209"

Learn more about Curse Maven

What's new

Licensed to Craft 1.0.3 (Minecraft 1.21.1, NeoForge)

First public release. Server-side profession gating: grant a player a profession, and decide what everyone without it cannot make.

It is numbered 1.0.3 rather than 1.0.0 because 1.0.1 and 1.0.2 already exist as internal builds on Warborn Realm servers, and a public 1.0.0 would have looked like a downgrade to every updater.

WHAT IT DOES

  • Nothing is hardcoded. One JSON file defines any number of professions, with your own ids, names and colours, and lists what a player without each one cannot do. Any mod in the pack can be gated.
  • Professions are granted per player by command, so quest rewards, shops, command blocks and the console can hand them out. A player who is missing one is stopped and told which one they need.
  • Five gates per profession: craft, place, interact, use, and cast (Iron's Spells & Spellbooks).
  • Blocked crafting never eats your ingredients. The result simply never appears in the slot.
  • Breaking blocks is never gated. Anyone can mine, clear or salvage anything, whoever made it.
  • Blocking a station's right-click does not block building against it, so one gated block in a wall does not make the wall unbuildable.
  • Everything lives in one server-side file, config/warbornprofessions.json, which a modpack can ship.

DESIGNED AROUND ONE RULE

The shipped setup follows a rule worth stealing: a profession is a monopoly on MAKING things, not a wall around half the modpack. You cannot craft another profession's goods, but anything you buy, loot or are given works normally: bought armour fits, a bought machine runs, a bought repair kit repairs. The exception is that profession's crafting stations, which stay theirs alone. Configure it into a brick wall instead if that is the server you want.

PROFESSIONS ARE DATA

No hardcoded profession list. Define as many as you like in the config, each with its own id, display name and colour. The four that ship in the file are only a working example, and deleting them is a supported way to use the mod.

ENTRIES THAT UNDERSTAND YOUR MODPACK

A gate list accepts:

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 read what something IS rather than what it is called, so they keep working when a mod updates: @gear, @weapon, @tool, @armor, @machine, @building, @block, @item, @food, @potion, @seed.

THE SAFETY NET

Gate a whole mod the naive way and you gate its building set with it, which is how a player ends up unable to craft planks from a tree he chopped down himself. So a bare mod id is deliberately the weakest kind of entry: it is softened by a global exemption list, settings.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. Anything overlooked in either direction is a one line fix, live, with /profession nevergate and /profession gate.

COMMANDS (all permission level 2)

/profession grant|revoke <targets> <profession> /profession list [target] /profession professions /profession reload /profession gate show <profession> /profession gate add|remove <profession> <craft|place|interact|use|cast> <entries> /profession nevergate show /profession nevergate add|remove <entries>

SETTINGS

enabled, creativeBypass, opBypassLevel, ignoreFakePlayers (so automation such as Create deployers is never gated), messageCooldownTicks, denyMessage and per gate denyMessages, neverGate.

THE SHIPPED EXAMPLE SETUP

Blacksmith Apotheosis, Toxony, Iron's Repair Kits. Stations: salvaging, reforging, simple reforging, gem cutting and augmenting tables, alchemical forge and forge part, alembic, copper crucible, mortar and pestle, redstone mortar. Inventor Create and its addons. Stations: mechanical crafter, millstone, crushing wheels, press, mixer, basin, saw, deployer, encased fan, blaze burner, spout, item drain, packager, repackager, schematicannon, schematic table, physics assembler, navigation table. Freeholder MineColonies. Stations: huts, quarries, supply camps, scepters, postbox, decoration controller. Arcanist Iron's Spells with its addon and library mods, Malum's magic, and every spell cast.

Two deliberate holes, both worth copying: Numismatics is not gated, because it is a 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.

FIXED SINCE THE INTERNAL BUILDS

  • Gate a mod by its NAMESPACE, not by its jar. Create Aeronautics ships as a wrapper jar whose own mod id registers nothing at all, so the old Inventor list gated an empty namespace and left every airship block, including the physics assembler, free for anyone to craft and place. The content ids it really uses are now listed, and so are the extra ids inside the Create Submarine jar and the Iron's Spells addons that register the spells themselves. If you write your own lists, check an id on the item tooltip with F3+H rather than trusting the file name.
  • Shift-clicking a crafting result crafts in a loop inside a single server tick, which used to let a fast click drain a whole grid of a gated recipe. The result slot is now emptied from the craft hook as well, which stops the loop.
  • Editing a gate list live with /profession gate add no longer wipes it when the list was written in the file as one comma separated string instead of a JSON array. Its entries are converted and kept.
  • Right-clicking any block no longer builds a gate lookup when no profession gates interaction at all.

NOTES

  • Server-side only. Clients do not need the mod and are never rejected for lacking it.
  • No mixins, no client packets, no registry additions.
  • Iron's Spells & Spellbooks is optional and only powers the cast gate.
  • 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 what the default station lists do.

UPGRADING FROM THE INTERNAL 1.0.1 / 1.0.2 BUILDS (Warborn Realm servers only)

The old per world serverconfig TOML is no longer read; the mod logs a warning if it finds one, in the world's serverconfig folder or in config/. Everything now lives in config/warbornprofessions.json, which is written for you on first boot. Copy any edits across, then delete the old file. The mod id is unchanged, so every granted profession and every existing /profession reward command still works.

Note that the old builds gated the whole Create namespace under PLACE, so a player without the Inventor profession could not place a single Create block. That is gone: placing is now limited to the listed stations, and the monopoly lives on the craft gate instead.

This mod has no additional files