Crucible - Custom Items, Armor, Furniture, Blocks, & More!

Crucible - Custom Items, Armor, Furniture, Blocks, & More! v5.12.0

You do not have access to download Development Builds!

You do not have access to Development Builds!
These builds require purchasing the product. Help the dev team continue providing new features, bug fixes, and more by supplying them with caffeine!

»
feat: 26.2 support
Build 4229 ·
»
feat: furniture CustomModelData supports typed values and lists

Crucible furniture now accepts the same CustomModelData syntax as items.

You can prefix a type (string/, float/, color/, boolean/) and pass a list, instead of being limited to a plain number. Plain numbers keep working exactly as before, and it applies on placement, per-state, and on runtime state changes.
```yaml
Examples:
Furniture:
CustomModelData: 5 # still works
CustomModelData: float/1,2,3
CustomModelData: color/#ff0000
CustomModelData:
- string/something
- boolean/true
```
Build 4228 ·
»
fix: preserve item-definition transformation on round-trip so vanilla shield stops flipping on 1.21.5+/26.1
Build 4227 ·
»
- fix: enforce PreventRenaming to block anvil renames (#375)

- fix: route legacy CMD model overrides to crucible_legacy overlay so base shield/trident stay vanilla on 1.21.4+
Build 4226 ·
»
feat: read item data components in NBT placeholders (custom_name, lore, etc.)
Build 4225 ·
%. The existing %mythic_emoji_name% keeps working unchanged.
»
feat: register font images as PAPI placeholders

Font images can now be used through PlaceholderAPI, not just the MiniMessage tag:

```
- %fontimage_name%
- %mythic_fontimage_name%
- %mythic_glyph_name%
```

All return the same character as the tag. Optional row/col is supported, e.g. %fontimage_name__
Build 4224 ·
»
feat: items can now run skills when they block an attack

Adds a ~onBlock trigger so a shield (or any item that can block) can
fire skills the moment it blocks an attack. The attacker is passed as
the target, and the amount of damage blocked is available as a variable.

Example:
Skills:
- effect:sound{s=item.shield.block} ~onBlock
- damage{a=} @target ~onBlock
Build 4223 ·
»
- fix: overlay pack-format drift, Windows zip paths, and pack download hardening

- feat: bag content whitelist/blacklist for satchel slot contents

Add Inventory.Whitelist / Inventory.Blacklist to restrict which items a bag
may hold. Entry is filtered (place, swap, shift-click, hotbar swap, drag, auto-pickup); withdrawing disallowed items is always allowed. Entries match a material name or a Crucible item id (case-insensitive). Whitelist wins over blacklist; with neither set, bags behave as before.

- Also fixed the event-based auto-pickup respect PreventBagNesting.

Example, a satchel that only holds Diamonds and a custom "magic_herb":
```yml
MY_SATCHEL:
Type: BAG
Inventory:
Size: 27
Whitelist:
- DIAMOND # material name
- magic_herb # crucible item id
AutoPickup:
Enabled: true
```
Build 4222 ·
»
feat: EquipSlot accepts multiple slots and defaults from Equippable

EquipSlot can now be a list (or comma-separated string), letting one item equip into several slots, e.g.:
```
EquipSlot:
- HAND
- OFFHAND
```

If an item has an Equippable component but no EquipSlot, the slot from Equippable.Slot is now used automatically, so you no longer need to write the same slot twice. Setting EquipSlot explicitly still overrides the Equippable slot. Existing single-slot configs work unchanged.
Build 4221 ·
»
fix: ExcludeOverlays being silently ignored when written as a scalar string
Build 4220 ·
»
fix: make bag desync non existent (i hate u brick /j)
Build 4219 ·
»
api: sources is also real now and more furniture methods
Build 4218 ·
»
api: cruci api for many furniture bla bla stuff
Build 4217 ·
»
Fix:AutoDiscovery
Feat: Add discovery ingredients
fix: update autoDiscover default value to false in Recipe class
fix: clear recipe collections on unregister
feat: enhance ingredient discovery indexing for recipes
Build 4216 ·
»
fix: bag desync for PreventBagNesting specifically
Build 4215 ·
»
fix: bag desync
Build 4214 ·
»
chore/fix: api publish
Build 4213 ·
»
feat: support per variant model and z rotation for custom blocks
Build 4212 ·
»
fix: resolve furniture memory leak on world unload
Build 4211 ·
»
fix: keep generated model filenames consistent with their definition references
Build 4210 ·
»
feat: option to keep item level and augments through smithing recipes

Smithing recipes used to wipe an item's upgrade level and any installed augments when it transformed, forcing players to eject augments first or lose them.

Two new optional per-recipe settings let you carry them over instead:
```
PreserveLevel: true # keep the item's upgrade level
PreserveAugments: true # keep augment slots, installed augments and stats
```

Both default to false, so existing recipes behave exactly as before.
Build 4209 ·
»
fix: itemDurability condition now checks remaining durability instead of raw damage
Build 4208 ·
»
feat: fire onPressF trigger without requiring held items
Build 4207 ·
»
feat: open another bag via right-click while one is open
Build 4206 ·
»
feat: TransmuteRecipes
Build 4205 ·
»
Made it so you can use item.stat outside of just lore and stuff
Build 4134 ·
»
feat: add ~onRandomTick support for furniture entities
Build 4133 ·
»
feat: add ~onRandomTick skill trigger for custom blocks

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.
Build 4132 ·
»
fix: held item skills persisting after hand item changes
Build 4131 ·
»
fix: item stat modifiers not applying for newly defined stats
Build 4130 ·
»
feat: support multiline augment tooltips (#330)

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"
Build 4129 ·
»
feat: add ~onAugmentation skill trigger (#311)

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.
Build 4128 ·
»
fix: #354
Build 4127 ·
»
fix: #358
Build 4126 ·
»
chore: improve ItemUpdateManager detection speed and performance
Build 4125 ·
»
perf: faster pack generation, similar to MEG
Build 4124 ·
»
fix (potentially): #349 and some api stuff
Build 4123 ·
»
fix: #341
Build 4122 ·
»
fix: #326
Build 4121 ·
»
fix: #359
Build 4120 ·
»
fix: #323 and couple papi initialization issues
Build 4119 ·
»
fix: GlowingFrame not working for furniture states (#342)
Build 4118 ·
»
fix: #329
Build 4117 ·
»
fix: #332
Build 4116 ·
»
fix: #333
Build 4115 ·
»
fix: #353
Build 4114 ·
»
Updated IngredientsLeftover to support :num and :-num - to subtract dura normal to set dura
Build 4113 ·
»
Add runtime item filter support for Crucible hasitem/consumeitem
Build 4112 ·
»
add ~onDragDrop trigger
Build 4111 ·
»
fix: lore templates not splitting wrapped lines on newline

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().
Build 4110 ·
Top