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.
Installation
- Download the jar that matches your server version.
- Put the jar into the server plugins folder.
- Start the server once to generate files.
- Edit config.yml, messages.yml, and category recipe files.
- Run /oc reload or restart the server.
Commands And Permissions
| Command | Permission | Description |
|---|---|---|
/omnicraft, /oc, /ocraft, /craft | omnicraft.use | Open main menu. |
/oc open <category> | omnicraft.category.<id> or omnicraft.open.<id> | Open one category directly. |
/oc browse | omnicraft.admin | Open recipe browser and editor. |
/oc settings | omnicraft.settings | Edit global settings in game. |
/oc reload | omnicraft.reload | Reload plugin files. |
/oc validate | omnicraft.validate | Check recipes and hooks. |
/oc debug recipe <id> | omnicraft.debug | Dry-run one recipe without crafting. |
/oc export <category> | omnicraft.admin | Export category zip. |
/oc import <category> <file.zip> | omnicraft.admin | Import 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.
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
#7cf5ffText. Item display is non-italic by default.Recipe YAML Guide
| Field | Use |
|---|---|
output | Crafted item. Supports VANILLA and MMOITEMS. |
ingredients | Required materials. Matching prefers UID/custom data, then MMOItems type/id, then material. |
requirements | Permission, level, money, and PlaceholderAPI conditions. |
craft | Click amounts, hard cap, and cooldown. |
craft-time | Optional title countdown before final validation. |
extraction | AdvancedEnchantments keep, destroy, or extract behavior. |
limits | Daily and weekly per-player limits. |
options | Enabled 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
/oc validate, check permission, level, money, hooks, and missing materials./oc reload.extraction.enchant to KEEP or EXTRACT for upgrade recipes.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.