fix: augment item loss in menu slots, lore template conditions, Nexo lore italics (#372, #374, #361)
Development builds
Latest builds
feat: add augment item mechanic
Fix incomplete recipe outputs
fix: add 26.2 and 26.1.x rows to pack-format table
fix(items): expose slot context to item skill placeholders
feat: add ~onOffhandEquip and ~onOffhandUnequip item triggers
fix(crafting): use vanilla choices and preserve result names
fix: add TransmuteRecipeHelper for better version handling to avoid NoClassDef Errors
Add configurable hitbox dimensions to furniture states
fix: smithing failed with a Mythic BaseItem that has durability (#334)
fix: ~onHeld/~onUnheld still not firing when moving items in your inventory
Refactor recipe registration
increment version
fix: connectable furniture now connects in every direction
View 7 more changes
- - ITEM_FRAME furniture (and Placement: HANGING) never detected direction, so rows only joined east/west however you placed them.
- - ARMOR_STAND furniture and non-FIXED Transform displays had facing inverted, so ConnectionModels.Left and .Right were swapped. Swap them back if you tuned around it.
- - A corner reported the wrong direction to its neighbours, breaking the rest of the run.
- - Outer corner models could overwrite inner ones.
- - Furniture with Barriers could not see its neighbours, and matched itself through its own barrier blocks.
- - Rotating a piece left it on its old connection model.
- - Changing a State permanently lost the connection model. States setting their own Model still take priority.
fix: NPE regenerating items with no Display name
API improvements to item updater and augments
View 3 more changes
- added `/crucible items copyto ITEM_ID` command, which will copy relevant data such as stat ratios, augments, enchants and levels to a new item.
- - API: `ItemUpdateManager::copyItemData`
- added static `<data.KEY{default=...}>` placeholders to the `Skills` section **on items**, which are read from `ItemData.KEY: ...` upon loading the plugin. Allows dynamic skills on similar items without any runtime placeholder parsing.
fix: batch recipe removal on reload to avoid per-recipe resource reload hang
5.13.0 RELEASE
fix: if you are using furnitures, you SHOULD update.
feat: add ~onPowered and ~onUnpowered triggers for custom blocks (#170)
View 20 more changes
- Custom blocks can now run skills when their redstone power state changes:
- - `~onPowered` fires once when the block gains power
- - `~onUnpowered` fires once when it loses all power
- - Detects anything that would power a door or piston: levers, buttons, pressure plates, redstone dust, torches, repeaters, comparators, observers, redstone blocks
- - Edge-triggered, not per-tick: a skill fires one time per state change, and again when the state flips back
- - Skills run at the block's location; <skill.var.block-internalid> holds the block type id
- Example, an alarm block that plays sounds when a lever is flipped:
- ```yaml
- AlarmBlock:
- Id: MUSHROOM_STEM
- Type: BLOCK
- Display: 'Alarm Block'
- CustomBlock:
- Type: MUSHROOM
- Id: 130
- CustomBlockSkills:
- - command{c="say Alarm ON at <skill.var.block-internalid>"} ~onPowered
- - sound{s=block.anvil.hit;v=1;p=1} @origin ~onPowered
- - sound{s=block.note_block.pling;v=1;p=1} @origin ~onUnpowered
- ```
fix: fire MythicCrucibleGeneratePackEvent after the pack is fully written (#236)
fix: item ~onInteract firing twice per right-click (#280)
feat: validate generated packs, import packs from URLs, and skip unchanged deploys
View 4 more changes
- - Pack generation now checks for broken texture references and reports them in the console
- - Files that aren't real PNGs (e.g. renamed JPEGs) are detected and auto-converted
- - Resource packs can now be imported straight from URLs (Import.FromUrl)
- - Regenerating an identical pack no longer re-uploads it or re-sends it to players (Deployment.SkipUnchanged)
fix: PackSquash dropping overlay directories from squashed pack (#378)
fix: register item.* placeholders under scope prefixes so caster.item.* resolves (#383)
Made it so you can use item.stat outside of just lore and stuff
feat: add ~onRandomTick support for furniture entities
feat: add ~onRandomTick skill trigger for custom blocks
View 4 more changes
- Adds ~onRandomTick:X trigger for CustomBlockSkills.
- Chance per tick cycle = randomTickSpeed / X, read from the server's
- gamerule. Default X is 4096, matching vanilla random tick probability.
- Tracked on place, untracked on break/explosion. Unloaded chunks skipped.
fix: held item skills persisting after hand item changes
fix: item stat modifiers not applying for newly defined stats
feat: support multiline augment tooltips (#330)
View 8 more changes
- Allow the augment Tooltip field to accept a YAML list for multiline
- descriptions. Single-string tooltips remain backwards compatible.
- Example:
- Augmentation:
- Type: GEM
- Tooltip:
- - "First line of description"
- - "Second line of description"
feat: add ~onAugmentation skill trigger (#311)
View 1 more changes
- Adds a new skill trigger that fires when an augment is successfully applied to an item, enabling skills to react to augmentation events. Supports aliases: ~onAugmentation, ~onAugment, ~augmented, ~augmentation.
fix: #354
fix: #358
chore: improve ItemUpdateManager detection speed and performance
perf: faster pack generation, similar to MEG
fix (potentially): #349 and some api stuff
fix: #341
fix: #326
fix: #359
fix: #323 and couple papi initialization issues
fix: GlowingFrame not working for furniture states (#342)
fix: #329
fix: #332
fix: #333
fix: #353
Updated IngredientsLeftover to support :num and :-num - to subtract dura normal to set dura
Add runtime item filter support for Crucible hasitem/consumeitem
add ~onDragDrop trigger
fix: lore templates not splitting wrapped lines on newline
View 1 more changes
- Template lore lines containing \n from text wrapping (e.g. wrap=24) were passed as a single component instead of being split into separate lore lines. Added split("\n") in LoreSection.apply() to match the inline lore behavior in CrucibleItem.generateLore().