✦ OmniCraft
MarkdownVI
PAPER RPG CRAFTING

Clear, quick, and safe RPG crafting.

Vanilla and MMOItems recipes, batch crafting, craft time, limits, Vault, PlaceholderAPI, and server-side transactions designed to prevent dupes.

Paper 1.20–1.21.11Legacy JAR · Java 21
Paper 26.1+26 JAR · Java 25
Soft dependenciesMMOItems, Vault, PAPI, AE, AuraSkills

Start in five minutes

  1. Install the JAR matching the server version and start the server once.
  2. Open plugins/OmniCraft/config.yml, then create recipes in category/<id>/.
  3. Run /oc validate to check recipes.
  4. Run /oc reload after editing files.
MMOItems, Vault, PlaceholderAPI, and AdvancedEnchantments are optional. A missing hook never prevents OmniCraft from starting; recipes that need that hook are safely rejected.

Player guide

Open and select a recipe

Use /oc, then choose a category and recipe. The menu includes craftable-only filtering, favorites, and search.

Craft controls

Left click: standard amount. Right click: batch. Shift: the maximum allowed by inventory and the recipe hard cap.

Timed crafts

Fast Craft accepts permission or PlaceholderAPI modifiers. Requirements are checked again immediately before materials are consumed.

Limits

Recipes can have daily and weekly limits. Quota is reserved and released again if the transaction rolls back.

Administration and commands

CommandPermissionPurpose
/ocomnicraft.useOpen the menu.
/oc open <category>category or open.<id>Open a category directly.
/oc browseomnicraft.adminCreate and edit recipes in the GUI.
/oc validateomnicraft.validateValidate configs and recipes.
/oc debug recipe <id>omnicraft.debugDry run; consumes no materials.
/oc autocraft <recipe> [amount]omnicraft.auto-craftStart an online AutoCraft queue.
/oc autocraft-cancelomnicraft.auto-craftCancel the current queue.
/oc autocraft-statusomnicraft.auto-craftInspect pending nodes and current state.
/oc autocraft-resumeomnicraft.auto-craftResume a queue safely paused before restart.
/oc reloadomnicraft.reloadReload files.

Recipe YAML

# Example recipe: enable AutoCraft only for intermediary recipes
id: steel_sword
display:
  name: "#7cf5ffSteel Sword"
output:
  mode: VANILLA
  material: IRON_SWORD
  amount: 1
ingredients:
  iron:
    amount: 24
    item: { mode: VANILLA, material: IRON_INGOT, amount: 1 }
requirements: { level: 5, money: 250.0 }
craft-time:
  enabled: true
  seconds: 5
  quantity-scaling: LINEAR
  minimum-seconds: 1
  maximum-seconds: 3600
limits: { daily: -1, weekly: -1 }
auto-craft: { enabled: false, priority: 0 }
auraskills:
  skill: FORGING
  minimum-level: 10
  experience: 12.5
catalyst:
  amount: 1
  item: { mode: VANILLA, material: BLAZE_POWDER, amount: 1 }
station: { material: SMITHING_TABLE, radius: 3 }
outcome:
  critical: { chance: 10.0, bonus-crafts: 1 }
  byproduct:
    chance: 25.0
    item: { mode: VANILLA, material: IRON_NUGGET, amount: 2 }
  quality:
    name: Masterwork
    chance: 5.0
    lore: ["#ffd166A rare masterwork."]
AutoCraft is enabled globally by default (and can be disabled with features.auto-craft). Set auto-craft.enabled only on intermediary recipes, then use /oc autocraft <recipe> [amount]. The queue runs only while online, prioritizes inventory materials, blocks cycles and excessive depth, and cancels on logout or reload. After a restart, only a waiting queue can be explicitly resumed using /oc autocraft-resume; a transaction already committing is never replayed.

Built-in RPG progression

Station

The required block is checked within station.radius around the player when crafting begins and before commit. Leaving during a countdown or AutoCraft safely fails the next node without consuming it.

Catalyst

A catalyst is consumed per craft. It uses the same allocation planner as ingredients, so one inventory stack cannot be counted twice.

Critical

bonus-crafts adds output crafts when a critical roll succeeds. Chance is clamped to 0–100 and the result is seeded in the audit log.

Byproduct

A byproduct is a chance-based extra output per craft. OmniCraft reserves capacity for the largest possible result; a full inventory rolls back the transaction.

Quality

Quality adds tier-specific metadata and lore by chance. Each roll has an audit seed. Quality is incompatible with AdvancedEnchantments KEEP to protect preserved enchantment metadata.

Integrations

MMOItems / MythicLib

Use mode: MMOITEMS with type and id. An unresolved output fails safely instead of falling back to a Vanilla item.

Vault / PlaceholderAPI

Vault handles money; PlaceholderAPI provides conditions and speed multipliers. Abnormal speed values are clamped.

AdvancedEnchantments

KEEP, DESTROY, or EXTRACT modes are available for enchantments on upgrade ingredients.

AuraSkills

Soft-depend: a recipe may require a default skill level and award XP after a committed craft. Without AuraSkills, only recipes using the auraskills block are blocked; normal crafting remains available.

Anti-dupe safety

  • Ingredient allocation never reuses an inventory slot.
  • Items, amounts, keys, and risks are revalidated immediately before mutation.
  • If output space is missing, the inventory snapshot is restored and money is refunded.
  • Each player has only one craft job; timing uses a monotonic clock.
  • Failed Vault refunds are stored durably and retried while the player is online.

Troubleshooting

Recipe will not craftRun /oc validate; check permission, level, money, hooks, and ingredients.
MMOItems item is missingCheck type/id, reload MMOItems, then run /oc reload.
Inventory is fullFree space; OmniCraft safely cancels the transaction instead of dropping or duping output.
AE data is lostChoose KEEP or EXTRACT for an upgrade recipe.