MythicCrucible
The item add-on for Mythic: custom items, armor sets, augments, crafting recipes, placeable furniture, custom blocks, and a built-in resource-pack generator. Everything it creates can carry Mythic skills, stats and conditions.
Crucible is a premium Paper/Spigot plugin and requires MythicMobs. It extends Mythic's existing item system rather than replacing it, so base item fields (Material, Display, Lore, Enchantments, β¦) are documented on the MythicMobs side. Syntax here targets the 5.13.x line.
Crucible's wiki states that it is mid-rewrite β "currently undergoing a complete rewrite to tidy, update, and expand". Some upstream pages are therefore thin or stale. Where this page is silent on a feature, check the wiki directly rather than assuming the feature doesn't exist.
Versioning
- Crucible's version number deliberately tracks MythicMobs. Crucible 5.13.0 targets MythicMobs 5.13.x. Older builds used an independent line (
1.4.x,1.5.x,1.6.x,2.x.x) β which is why aMythicCrucible-2.4.0jar and aMythicCrucible-5.13.0jar can both exist and the "newer" one is not 2.4.0. - Mixing minors is the usual cause of missing-mechanic errors after an upgrade β Crucible registers its mechanics against the core version it was built for. Upgrade Mythic and Crucible together.
Items & item types
Crucible items are Mythic items with extra keys. The Type field is what turns a plain item into a hat, bag, gem, furniture, brush or block:
Type | Behaviour |
|---|---|
ITEM | Default β an ordinary item with no special behaviour. |
HAT | Wearable in the helmet slot regardless of the base material. |
BAG | Opens a portable inventory. |
GEM | An augment that can be socketed into another item. |
FURNITURE | Places a furniture object in the world on right-click. |
PAINT_BRUSH | Recolours furniture in the world. |
BLOCK | Places a custom block. |
plugins/MythicCrucible/Items/example.yml
ExampleItem:
Material: STONE_SWORD
EquipSlot: HAND
EquipSlotSkill: DoFancyStuff
EquipConditions:
- day true
Other documented item facilities: Durability (including a custom durability system), Item Sets (set bonuses across armor pieces), Levels, Augments, Ammo, the Item Updater (rewrites already-distributed items when the definition changes), and Dynamic Lore Generation (templated lore built from stats).
Equipment activation
These fields decide when an item's stats and skills actually apply β the part most often misconfigured:
| Field | Meaning |
|---|---|
EquipSlot | The slot the item must occupy. Used anywhere else, its stats do not apply at all. |
EquipSlotSkill | Metaskill run once the item is equipped in the correct slot. |
EquipConditions | Conditions that must hold for the equipped item to apply its stats and run its skills. |
EquipLevel | Minimum player level required before stats apply. Defaults to 0. |
EquipLevelSkill | Metaskill run when equipped at the correct level. |
EquipLevelKey | Which Player Level Provider supplies the level. Defaults to vanilla XP level. |
ArrowDamage | Initial damage for arrows fired from this item β bows/crossbows only, and does not affect other projectiles. |
Item skills & triggers
Items use the same skill grammar as mobs (see skill anatomy), but respond to item triggers rather than mob triggers:
plugins/MythicCrucible/Items/wand.yml
FireWand:
Material: BLAZE_ROD
Display: '<red>Wand of Cinders'
Options:
Unbreakable: true
Skills:
- skill{s=CastFireball} ~onRightClick
- message{m="<yellow>The wand hums."} @self ~onHold
Recipes
An item may carry multiple recipes of different types, so it can be craftable more than one way. Each is a named entry under Recipes.
| Type | Crafted in |
|---|---|
SHAPELESS | Crafting grid, any arrangement. |
SHAPED | Crafting grid, fixed pattern. |
FURNACE | Furnace. |
CAMPFIRE | Campfire. |
BLASTING | Blast furnace. |
SMOKING | Smoker. |
STONECUTTING | Stonecutter. |
SMITHING | Smithing table. |
BREWING | Brewing stand. |
IngredientsLeftover keeps items in the grid after crafting, the way a milk bucket leaves an empty bucket. Shaped and shapeless only.
plugins/MythicCrucible/Items/leftover.yml
ExampleItem:
Id: GOLD_NUGGET
Display: 'Test Recipe Item'
Recipes:
SHAPELESS:
Type: SHAPELESS
Amount: 1
IngredientsLeftover:
- bucket
Ingredients:
- water_bucket
- apple
Recipes can also be gated behind Mythic conditions β again shaped and shapeless only:
A recipe only craftable at night
ExampleItem:
Id: GOLD_NUGGET
Display: 'Test Recipe'
Recipes:
NIGHT:
Type: SHAPED
Conditions:
- night
Larger grids are available through Crucible's workbench commands β /superworkbench (5 Γ 5) and /megaworkbench (6 Γ 6).
Furniture
An item with Type: FURNITURE places a world object where the player is looking on right-click, and by default drops the original item when broken. All options live under a Furniture section.
- 1.19.4 and newer β furniture renders with display entities (default
Type: DISPLAY). - 1.19.3 and older β furniture renders with invisible item frames (default
Type: ITEM_FRAME). - You may force either on a modern server with
Type: ITEM_FRAMEorType: ARMOR_STAND. - Seats always use armor stands regardless of version.
plugins/MythicCrucible/Items/furniture.yml
ExampleFurniture:
Id: IRON_NUGGET
Type: FURNITURE
Model: 5
Furniture:
Material: GOLD_NUGGET
Model: 6
The furniture Type accepts several aliases, including a ModelEngine mode in which Model is read as a ModelEngine model name instead of a model number:
| Value | Aliases |
|---|---|
| Item frame | ITEM_FRAME, ITEMFRAME, FRAME |
| Armor stand | ARMOR_STAND, ARMORSTAND, STAND |
| ModelEngine | MODEL_ENGINE, ME, MEG, MODEL, MODELENGINE |
Furniture additionally supports drops, its own skills and triggers, furniture states, and furniture variables. The paint brush recolours placed furniture in-world.
Custom blocks
Custom blocks exploit spare block states on mushroom blocks, note blocks, tripwires and chorus plants. MUSHROOM_BLOCK and NOTE_BLOCK are "solid" and need a texture path; TRIPWIRE and CHORUS are non-solid and reuse the item's model.
| Option | Description | Default |
|---|---|---|
Type | Base block family used for the state trick. | MUSHROOM |
Id | Custom block id. | 0 |
Parent | Parent model. | minecraft:block/cube_all |
Model | Model path; generated automatically. | β |
Texture | Texture path (solid blocks). Ignored if Textures is set. | β |
Textures | Multiple texture paths. | β |
Variants | Variants with different rotations. | β |
Drops | What the block drops. | Itself |
Because custom blocks are really unusual block states, ordinary block updates can visibly corrupt them. Crucible's own docs call the system "advanced⦠carefully audited for project scopes" and recommend disabling updates for whichever base block you use. On Paper, in config/paper-global.yml:
config/paper-global.yml
block-updates:
disable-chorus-plant-updates: false
disable-mushroom-block-updates: false
disable-noteblock-updates: true
disable-tripwire-updates: false
Resource-pack generation
Crucible generates the resource pack for its own items, furniture and blocks with /mm items generate, and can merge other packs into the result.
- 5.13.0 External pack import.
Generation.Import.FromLocationmerges local folders or.zipfiles in list order;Generation.Import.FromUrldownloads and merges packs from URLs;Generation.Import.ExternalPackOrderexplicitly orders packs inplugins/MythicCrucible/external_packs/, with unlisted packs following alphabetically. Merging is atlas-aware. - 5.13.0 ModelEngine textures are routed into
items.jsonon 1.21.11+ / 26.x. - 5.13.0 Added pack validation and skipping of unchanged deployments.
plugins/MythicCrucible/config.yml β 5.13.0 external pack import
Generation:
Import:
FromLocation:
- plugins/Emojy/pack.zip
- packs/my_extra_pack
FromUrl:
- https://example.com/shared_assets.zip
ExternalPackOrder:
- base_pack
- overrides.zip
Crucible can also merge MythicArmors' assets, configured either in MythicArmors' own config or as an import directory in plugins/MythicMobs/config/config-generation.yml. Font icons and .bbmodel sources are supported.
Mechanic index
Available in any Mythic skill once Crucible is installed.
| Mechanic | Description |
|---|---|
BlockCrack | Shows a block crack effect on the target block for the selected audience |
ConsumeHeldDurability | Consumes durability from the held item |
ConsumeItem | Removes some items from the casting player's inventory |
ConsumeItemDurability | Consume the durability of an item |
ConsumeUsedItem | Removes the item that triggered the skilltree |
ConsumeUsedDurability | Consumes durability from the item that triggered the skilltree |
DealCustomDurability | Deals damage or heals custom durability |
InventoryClear | Clears the target's inventory |
InventoryFromVariable | Restores a player's inventory from a serialized variable |
InventoryToVariable | Serializes a player's inventory into a variable |
ModelSet | Sets the calling item's model |
ModelToggle | Toggles the calling item's model |
SetSlotModel | Sets the model of an item in the target slot |
OpenBackpack | Opens the first backpack found in the player's inventory |
OpenItemFurnace | Opens a furnace inventory stored inside the used item |
ParseArmor | Force a re-scan of the caster's armor |
ParseWeapon | Force a re-scan of the caster's weapon |
ProjectileHit | Simulates an hit from a bow's projectile |
RemoveTriggeringItem | Removes the Item entity that triggered the SkillTree |
ResetAttackCooldown | Resets the player's attack cooldown |
SetCompassLocation | Sets the location a compass points to |
SetCompassLodestone | Sets the location a compass points to as a lodestone location |
SetCrossbowCharged | Sets the state of the held crossbow's charge |
SetItemCustomModelData | Sets the CustomModelData of the used item |
SetItemDisplay | Sets the item display name |
SetLore | Sets the item's new lore |
SetItemNbt | Sets the item's NBT keys |
SnapshotUsedBow | Snapshots the state of the held bow for use with later projectile damage |
UpdateLore | Reparses the item's lore config |
UpgradeItem | Upgrades the level of the item in the specified slot |
Furniture mechanics
| Mechanic | Description |
|---|---|
FurnitureColor | Sets the casting Furniture's color |
FurnitureInventory | Opens the inventory of the Furniture |
FurnitureRemove | Removes the casting Furniture |
FurnitureRemoveAt | Removes the Furniture at the target location |
FurnitureSetAt | Sets a furniture at the target location |
FurnitureState | Sets the casting Furniture's state |
SetFurnitureStateAt | Sets the state of the furniture at the target location or entity |
OpenFurniturePainter | Opens the furniture's painter for the target player |
PlaceFurnitureAt | Makes the casting player place a furniture at a specific location |
FurnitureVariableSet | Set a variable on the target furniture entity |
Trigger index
Item triggers
| Trigger | Fires when |
|---|---|
onAttack | When the player hits another entity |
onBreak | When the player holding or equipping the item breaks it |
onCancelUse | When the player stops using the item |
onConsume | Triggered when the item is eaten |
onCrouch | When the player crouches |
onUnCrouch | When the player stops crouching |
onDamaged | When the player is damaged |
onDeath | When the player dies |
onEquip | When a player equips an armor piece. |
onUnEquip | When a player unequips an armor piece. |
onInteract | When the player interacts with an entity |
onItemDrop | When the player drops an item |
onItemPickup | When the player picks up an item |
onBowHit | When a player hits an entity with an arrow |
onPotionSplash | Triggered if the item is a potion that was thrown |
onRightClick | When the player right-clicks |
onShoot | When the player shoots a bow |
onSpawn | When the player logs in or respawns |
onSwing | When the player left-clicks |
onTimer | Every # ticks (where # is the interval in ticks) |
onUse | When the player right-clicks while holding the item |
onFish | When a player is fishing, ie casting the line out |
onFishBite | Called when there is a bite on the hook and it is ready to be reeled in |
onFishCatch | When a player has successfully caught a fish and is reeling it in |
onFishGrab | When a player has successfully caught an entity |
onFishGround | When a bobber is stuck in the ground |
onFishReel | When a player reels in their hook without receiving any bites |
onFishFail | When a player fails to catch a bite while fishing usually due to poor timing |
onPressQ | When a player presses Q to drop the item. Requires ProtocolLib |
onPressCtrlQ | When a player presses CTRL+Q to drop the item. Requires ProtocolLib |
onPressF | When a player presses F to swap the item |
onPressF_HAND | When a player presses F to swap the item, and it ends up in the main hand |
onPressF_OFFHAND | When a player presses F to swap the item, and it ends up in the offhand |
onPress | When a player presses a key. Requires MythicKeysPlugin for the server and MythicKeys mod for the client |
onRelease | When a player releases a key. Requires MythicKeysPlugin for the server and MythicKeys mod for the client |
onJoin | When a player joins the server |
onRespawn | When a player respawns |
onPickup | When a player picks up the crucible item |
onHold | When the player holds an item |
onUnHeld | When the player switches off the item from their hotbar |
onJump | When the Player jumps |
onPaint | When a Paint Brush paints a furniture |
onKill | When the Player kills an entity |
onKillPlayer | When the Player kills another player |
onProjectileThrow | When a special projectile is thrown |
onStartDestroyBlock | When the player starts destroying a block |
onStopDestroyBlock | When the player stops destroying a block |
Custom block triggers
| Trigger | Fires when |
|---|---|
onBlockBreak | When the player breaks the custom block |
onBlockPlace | When the player places the custom block |
Furniture triggers
| Trigger | Fires when |
|---|---|
onBlockPlace | When the furniture is placed |
onBlockBreak | When the furniture is broken |
onBlockRotate | When the furniture is rotated |
onBlockSit | When a player sits on the furniture |
onDamaged | When the furniture is punched |
onFurnitureStateChange | When the furnitures state changed. This is triggered every time the FurnitureState mechanic is used, even if the state stays the same. |
onFurnitureInventoryOpen | When the Furniture Inventory is opened |
onFurnitureInventoryClose | When the Furniture Inventory is closed |
onInteract | When a player right clicks the furniture |
onPaint | When a paintbrush is used on a furniture |
onTimer | Every X ticks |
Commands & permissions
| Command | Does |
|---|---|
/crucible reload | Reloads the plugin. |
/superworkbench (/swb) | Opens a 5 Γ 5 crafting grid. |
/megaworkbench (/mwb) | Opens a 6 Γ 6 crafting grid. |
/crucible furniture listactive [radius] | Lists furniture within a radius, or all of it. |
/crucible getresourcepack (grp) | Sends the server resource pack to you. |
/mm items generate | Generates the resource pack. |
| Permission | Grants |
|---|---|
mythiccrucible.admin | All Crucible commands. |
mythiccrucible.superworkbench | /swb. |
mythiccrucible.megaworkbench | /mwb. |
mythiccrucible.furniture.rotate | Rotating placed furniture. |
Version history
| Version | Notable changes |
|---|---|
| 5.13.0 | Paper 26.2 support. External resource-pack imports from local paths and URLs, pack validation, unchanged-deployment skipping. Custom music discs and oversized GUI item models. Bags expanded with configurable open actions, skill triggers, content filters and safer inventory persistence. Tripwire saplings, per-variant custom-block models, redstone power triggers. Transmute recipes, recipe discovery controls, smithing preservation options. Stable public furniture API with placement results, footprint queries and player attribution. |
| 5.12.0 | Second entry in the current changelog file. |
| 1.4.x β 2.x.x | The pre-realignment numbering, documented in separate changelog files. |
Gotchas
EquipSlotis load-bearing. An item worn or held in the wrong slot silently applies none of its stats.- Custom blocks glitch under block updates unless you disable updates for the base block family in
paper-global.yml. IngredientsLeftoverand recipeConditionsare shaped/shapeless only β they are silently ignored on furnace, smithing and the rest.- Crucible's
setitemmodelshadows ModelEngine's. Use themeg:prefix for the ModelEngine one β see interoperation. - Version-lock with MythicMobs. Crucible's version tracks the core it was built against.
- Furniture render type changed at 1.19.4 β configs written for older servers may pin item frames unnecessarily.
Sources
- MythicCrucible Wiki β Home
- MythicCrucible Wiki β Items
- MythicCrucible Wiki β Recipes
- MythicCrucible Wiki β Furniture
- MythicCrucible Wiki β Custom Blocks
- MythicCrucible Wiki β ResourcePack Generator
- MythicCrucible Wiki β Mechanics
- MythicCrucible Wiki β Triggers
- MythicCrucible Wiki β Commands and Permissions
- MythicCrucible Wiki β Changelogs