Previous: ๆฆ่ง.en.mdใยทใNext: ๆนๅๆจกๅไฝ็ฉ.en.md Related: ../02-ๆไธปๆๅ/็ฉๅๆบๅผ็จ.en.md ยท ../04-ๅผๅ่ /็ฉๅAPI.en.md ยท ๆฆ่ง.en.md
๐ Item-Type Plugin Integration โ
QCL wires all nine item sources into "item bridges". Their shared value is: letting items from other plugins be referenced using QCL's unified reference syntax โ whether in QinhItems (QI), custom GUIs, CustomBlock drops, or the developer API.
๐งท Core mental model: You almost never call a bridge directly. You just write an item source reference string (like
mi-SWORD-CUTLASS), and QCL automatically dispatches to the matching bridge to fetch the item. For the full reference syntax overview see ๐ ../02-ๆไธปๆๅ/็ฉๅๆบๅผ็จ.en.md.
๐งญ Reference Prefix Cheat Sheet โ
| Plugin | Reference prefix | Example |
|---|---|---|
| MMOItems | mi-type-id | mi-SWORD-CUTLASS |
| NeigeItems | ni-id | ni-magic_apple |
| MythicMobs | mm-id | mm-SkeletonKingBlade |
| MagicGem | mg-id | mg-fire_ruby |
| CustomFishing | cf-id | cf-golden_carp |
| ItemsAdder | ia-namespace_id | ia-myitems_ruby_sword |
| Nexo | nx-id | nx-ruby_sword |
| CraftEngine | ce-namespace_id | ce-default_oak_chair |
| QinhItems | qi:id | qi:flame_blade |
โ ๏ธ The
-/_/:in reference prefixes are all conventional notation โ please copy the format exactly. Each plugin below explains its own pitfalls.
โ๏ธ MMOItems โ
| Item | Content |
|---|---|
| Bridge class | MMOItemsBridge |
| Reference prefix | mi-type-id |
| Detection class | net.Indyuce.mmoitems.MMOItems |
| Bridge capabilities | getItem(type, id), getType(item), getID(item) |
| Reflection notes | Reflects getTypes / get / getItem |
MMOItems items are inherently typed (SWORD, ARMOR, CONSUMABLEโฆ), so references must include the type:
# โ
Correct: mi - type - id, three segments
item: mi-SWORD-CUTLASS
# โ Wrong: missing type, the bridge can't locate it
item: mi-CUTLASSgetType(item)/getID(item): reverse-read an item's MMOItems type and id, used for checks like "is this a particular MMOItems item".
๐ NeigeItems โ
| Item | Content |
|---|---|
| Bridge class | NeigeItemsBridge |
| Reference prefix | ni-id |
| Detection object | pers.neige.neigeitems.manager.ItemManager.INSTANCE |
| Bridge capabilities | getItemStack(id), getItemId(item) |
NeigeItems items are untyped โ references only need the id:
item: ni-magic_applegetItemId(item): reverse-check whether an item is a particular NeigeItems item (returns its id).
๐ MythicMobs โ
| Item | Content |
|---|---|
| Bridge class | MythicMobsBridge |
| Reference prefix | mm-id |
| Bridge capabilities | getItemStack(id, amount) |
| Reflection notes | Dual binding: modern io.lumine.mythic.bukkit.MythicBukkit + legacy io.lumine.xikage |
MythicMobs went through a major package-name change, so this bridge attempts to bind both class sets:
| Binding mode | Corresponding version | Class name root |
|---|---|---|
| Modern | New MythicMobs | io.lumine.mythic.bukkit.MythicBukkit |
| Legacy | Old MythicMobs | io.lumine.xikage |
item: mm-SkeletonKingBlade๐ Diagnostics:
/qcl status detailshows thebindModethe bridge actually hit. If your MythicMobs items can't be fetched, first check whether the bindMode matches the version you have installed.
๐ MagicGem โ
| Item | Content |
|---|---|
| Bridge class | MagicGemBridge |
| Reference prefix | mg-id |
| Detection class | pku.yim.magicgem.gem.GemManager |
| Bridge capabilities | getGemItem(id), hasGem(id) |
| Reflection notes | getRealGem() / realGem |
item: mg-fire_rubyhasGem(id): checks whether the gem id exists, usable for "validate before referencing".
๐ฃ CustomFishing โ
| Item | Content |
|---|---|
| Bridge class | CustomFishingBridge |
| Reference prefix | cf-id |
| Bridge capabilities | buildItem(id, amount) |
| Reflection notes | Multiple class names + multiple build methods + multiple context compatibility |
CustomFishing's build entry points differ greatly across versions, so the bridge makes multi-class-name / multi-build-method / multi-context compatibility attempts.
item: cf-golden_carp๐งฉ ItemsAdder โ
| Item | Content |
|---|---|
| Bridge class | ItemsAdderBridge |
| Reference prefix | ia-namespace_id |
| Detection class | dev.lone.itemsadder.api.CustomStack |
| Bridge capabilities | buildItemStack(id, amount) |
| Reflection notes | Loaded with the plugin's own class loader |
ItemsAdder item ids are in namespace:id form. In a QCL reference, replace the colon : with an underscore _:
# myitems:ruby_sword in ItemsAdder
item: ia-myitems_ruby_swordโ ๏ธ Underscore transcription: ItemsAdder native ids use
:to separate the namespace; in the QCL reference prefix write it as_.
๐ท Nexo โ
| Item | Content |
|---|---|
| Bridge class | NexoBridge |
| Reference prefix | nx-id |
| Detection class | com.nexomc.nexo.api.NexoItems |
| Bridge capabilities | buildItemStack(id, amount) |
| Reflection notes | itemFromId().build() |
Nexo is the successor in the Oraxen/ItemsAdder lineage; use the item id directly:
item: nx-ruby_sword๐ ๏ธ CraftEngine (item part) โ
| Item | Content |
|---|---|
| Bridge class | CraftEngineBridge / CraftEngineManager |
| Reference prefix | ce-namespace_id |
| Bridge capabilities (items) | buildItemStack(identifier, amount) |
| Reflection notes | Multi-version, multi-signature compatibility |
CraftEngine provides not only items but also the placement and recognition of custom blocks / furniture โ item references live here; for block/furniture capabilities see ๐ ๆนๅๆจกๅไฝ็ฉ.en.md.
# default:oak_chair in CraftEngine
item: ce-default_oak_chairโ ๏ธ Same as ItemsAdder: the namespace separator
:is written as_in the reference.
๐ฎ QinhItems (internal source) โ
| Item | Content |
|---|---|
| Internal source class | QinhItemsItemSource (not a reflection bridge, an internal item source) |
| Reference prefix | qi:id |
| Implementation | Reflects QinhItemRegistry.create(id, amount) |
| Prerequisite | Requires QinhItems to be enabled |
QinhItems (QI) is the Qinhuai ecosystem's own item system. Within QCL it exists as an internal item source (distinct from third-party reflection bridges), but the reference syntax is still unified:
item: qi:flame_blade๐ก QI item ids use a colon
qi:id, slightly different from the-of most third-party plugins above โ please copy it exactly.
๐งช How to Use These References โ
No matter the prefix, the places where a reference string can appear are consistent:
- QinhItems recipes / drops / attribute sources referencing items from other plugins.
- Custom GUI: write the icon
materialas an item source reference. - CustomBlock: block drops.
- Developer API: see ../04-ๅผๅ่ /็ฉๅAPI.en.md.
All references go through QCL's unified item source resolution layer. When resolution fails (plugin not installed / id misspelled), it returns empty rather than throwing an error.
๐ Continue Reading โ
- ๐ ../02-ๆไธปๆๅ/็ฉๅๆบๅผ็จ.en.md โ reference syntax overview, resolution order, vanilla item notation.
- ๐งฑ ๆนๅๆจกๅไฝ็ฉ.en.md โ CraftEngine's block/furniture capabilities, ModelEngine, CustomCrops.
- ๐งโ๐ป ../04-ๅผๅ่ /็ฉๅAPI.en.md โ resolving item source references in code.
- ๐งฉ ๆฆ่ง.en.md โ soft dependency + reflection bridge design philosophy, the full plugin matrix.