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 · |
» | feat: register font images as PAPI placeholders
Font images can now be used through PlaceholderAPI, not just the ``` - %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= | ||
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 · |