You do not have access to Development Builds!
These Development Builds require you to purchase MythicCrucible. Help the dev team continue providing new features, bug fixes, and more by supplying them with caffeine!
|
»
|
fix: defer ~onJoin/~onSpawn dispatch until the Crucible profile loads so held/worn item skills fire
|
||
|
Build 4242 ·
|
|
»
|
placeFurniture/placeFurnitureResult now accept a Player placer, passed as the BLOCK_PLACE skill trigger so
Attribution only: no place event or protection checks. |
||
|
Build 4241 ·
|
|
»
|
fix: compile against new evaluateLocation(SkillMetadata, AbstractLocation) API
|
||
|
Build 4240 ·
|
|
»
|
fix: furniture drops losing conditional lore due to empty drop metadata (#364)
|
||
|
Build 4239 ·
|
|
»
|
feat: Added support for OnPressF while in Inventory
|
||
|
Build 4238 ·
|
|
»
|
fix: tag projectileHit damage as PROJECTILE so ~onBowHit fires (#2261)
(yeah i needed to do in here too) |
||
|
Build 4237 ·
|
|
»
|
feat: expose furniture footprint and placement-result reasons in API
|
||
|
Build 4236 ·
|
|
»
|
fix: temp crafter disable for cruci recipes
|
||
|
Build 4235 ·
|
|
»
|
fix: store furniture inventory as BYTE_ARRAY so large items (written books) survive the 65535-byte PDC string limit
|
||
|
Build 4234 ·
|
|
»
|
fix: preserve stat lore order by deserializing item stats into a LinkedHashMap
|
||
|
Build 4233 ·
|
|
»
|
feat: import external packs (FromLocation + ExternalPackOrder) with atlas-aware merge, and route ModelEngine textures into items.json on 1.21.11+/26.x
Adds Generation.Import: - FromLocation: folders or .zip packs to merge, in list order (paths relative to the server root, or absolute). - ExternalPackOrder: orders drop-in packs in plugins/MythicCrucible/external_packs/ by their exact name (include .zip for zips); listed names go first, the rest alphabetically. ```yaml Generation: Import: FromLocation: - plugins/Emojy/pack.zip - packs/my_extra_pack ExternalPackOrder: - base_pack # a folder named base_pack - overrides.zip # a zip named overrides.zip ``` |
||
|
Build 4232 ·
|
|
»
|
feat: support ShadowRadius, ShadowStrength, ViewRange on display furniture
These Display properties existed as fields but were never parsed (ViewRange was never applied). Now configurable and inherited per state like other options. ```yaml Example: Furniture: Type: DISPLAY ShadowRadius: 0.5 ShadowStrength: 1.0 ViewRange: 2.0 ``` |
||
|
Build 4231 ·
|
|
»
|
fix: setFurnitureState now inherits unspecified state settings from the base instead of resetting them
|
||
|
Build 4230 ·
|
|
»
|
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 ·
|
|
»
|
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 ·
|