OmniCraft
Paper plugin

OmniCraft Wiki

OmniCraft is a crafting station plugin for RPG/MMO Paper servers. It focuses on MMOItems-style crafting, clear requirements, AdvancedEnchantments extraction, and strict server-side transaction safety.

1.20 - 1.21.11Use `OmniCraft-legacy.jar` on Java 21.
26.1.xUse `OmniCraft-26.jar` on Java 25.
AuthorSalyVn

Installation

  1. Download the jar that matches your server version.
  2. Put the jar into the server plugins folder.
  3. Start the server once to generate files.
  4. Edit config.yml, messages.yml, and category recipe files.
  5. Run /oc reload or restart the server.
Install MMOItems, MythicLib, AdvancedEnchantments, Vault, and PlaceholderAPI only when your recipes need those hooks. OmniCraft will still load without optional hooks.

Commands And Permissions

CommandPermissionDescription
/omnicraft, /oc, /ocraft, /craftomnicraft.useOpen main menu.
/oc open <category>omnicraft.category.<id> or omnicraft.open.<id>Open one category directly.
/oc browseomnicraft.adminOpen recipe browser and editor.
/oc settingsomnicraft.settingsEdit global settings in game.
/oc reloadomnicraft.reloadReload plugin files.
/oc validateomnicraft.validateCheck recipes and hooks.
/oc debug recipe <id>omnicraft.debugDry-run one recipe without crafting.
/oc export <category>omnicraft.adminExport category zip.
/oc import <category> <file.zip>omnicraft.adminImport category zip from exports.

Player Crafting Guide

Menus

Players open the main menu, choose a category, then click a recipe. Category filters include craftable-only, favorites, and search.

Craft Clicks

Craft by clicking the product preview: left for the normal amount, right for batch amount, shift for max amount from inventory.

Ingredient previews keep the original name and lore. OmniCraft only adds one requirement line and disables italic display.

Admin GUI Guide

Use /oc browse to open categories. Recipes are shown from left to right. The next empty slot is a green create button. Click it to browse Vanilla or MMOItems outputs, or place an item from your cursor.

In the editor, the ingredient grid is 4x4. Empty green slots add ingredients. Left click an ingredient to add 1, right click to remove 1, shift-left to add 16, shift-right to remove the ingredient.

Click the output preview to replace the product. Toggle enabled, craft time, and AdvancedEnchantments extraction from the bottom row.

Config Guide

OmniCraft uses three main file groups: config.yml for global behavior, messages.yml for all visible text, and category/<id>/<recipe>.yml for recipes.

plugins/OmniCraft/
  config.yml
  messages.yml
  category/
    weapons/
      steel_sword.yml
  data/
    favorites.yml
  logs/
    craft-history.log
Hex colorUse strings like #7cf5ffText. Item display is non-italic by default.
messages.ymlLegacy typo fallback is supported if the file already exists.

Recipe YAML Guide

FieldUse
outputCrafted item. Supports VANILLA and MMOITEMS.
ingredientsRequired materials. Matching prefers UID/custom data, then MMOItems type/id, then material.
requirementsPermission, level, money, and PlaceholderAPI conditions.
craftClick amounts, hard cap, and cooldown.
craft-timeOptional title countdown before final validation.
extractionAdvancedEnchantments keep, destroy, or extract behavior.
limitsDaily and weekly per-player limits.
optionsEnabled state, hidden state, rare broadcast, and source hints.

Integrations

MMOItems

Outputs and ingredients can use MMOItems type/id. If an MMOItems output cannot be resolved, the recipe fails instead of crafting a vanilla fallback.

AdvancedEnchantments

OmniCraft can apply AE enchants to outputs and handle AE enchants on consumed upgrade ingredients with KEEP, DESTROY, or EXTRACT.

Vault

Money requirements are checked and charged through Vault when installed.

PlaceholderAPI

Conditions can compare placeholder output to required text.

Anti-dupe And Safety

  • All GUI clicks are cancelled before OmniCraft handles registered slots.
  • Crafting scans the real server-side player inventory, never preview items or cursor items.
  • Each player and recipe is locked during processing.
  • Countdown crafts re-check requirements after the timer ends.
  • Bulk craft uses an immutable snapshot and a hard cap.
  • Rollback is attempted when output delivery fails.
  • Drag, number key, offhand swap, drop key, double-click collect, and creative clone actions are blocked in player GUIs.

Config Examples

Main menu

main-menu:
  title: "#7cf5ffOmniCraft"
  size: 54
  categories:
    - id: weapons
      title: "Weapons"
      icon: DIAMOND_SWORD
      slot: 10
      permission: "omnicraft.category.weapons"
      conditions: []
      entry-cost: 0.0

Vanilla recipe

id: steel_sword
display:
  name: "#7cf5ffSteel Sword"
output:
  mode: VANILLA
  material: IRON_SWORD
  amount: 1
  uid: steel_sword
  name: "#7cf5ffSteel Sword"
ingredients:
  iron:
    amount: 24
    item:
      mode: VANILLA
      material: IRON_INGOT
      amount: 1
requirements:
  permission: "omnicraft.recipe.steel_sword"
  level: 5
  money: 250.0
  conditions:
    - placeholder: "%player_world%"
      equals: "world"

MMOItems recipe

output:
  mode: MMOITEMS
  type: SWORD
  id: STEEL_BLADE
  amount: 1
ingredients:
  blade_core:
    amount: 1
    item:
      mode: MMOITEMS
      type: MATERIAL
      id: BLADE_CORE
      amount: 1

Craft time countdown

craft-time:
  enabled: true
  seconds: 5
  cancel-on-move: false
  cancel-on-logout: true

AdvancedEnchantments extraction

extraction:
  enchant: EXTRACT
  gemstone: DESTROY
  level: DESTROY
  success-rate: 1.0

advanced-enchantments:
  extraction:
    extract-rate: 100.0
    fixed-success-rate: 50.0
    fixed-destroy-rate: 0.0
    tier-rates:
      COMMON: 70.0
      RARE: 55.0
      LEGENDARY: 35.0

Troubleshooting

Recipe does not craftRun /oc validate, check permission, level, money, hooks, and missing materials.
MMOItems item missingConfirm type/id spelling, reload MMOItems, then run /oc reload.
AE enchants disappearSet extraction.enchant to KEEP or EXTRACT for upgrade recipes.
Players spam craftIncrease craft.cooldown-ms, lower hard caps, and keep anti-dupe actions enabled.

FAQ

Can members use /oc open?

Yes. They still need the category permission or omnicraft.open.<category>.

Can stack previews show more than 64?

Yes. Requirement previews keep the required amount visible even when the amount is above the normal stack cap.

Can I edit all text?

Most GUI labels, lore lines, warnings, titles, errors, and success messages are in messages.yml.

Changelog

v1 Craft GUI, admin editor, MMOItems, AdvancedEnchantments extraction, anti-dupe transaction safety, import/export, validation, and bilingual wiki.