Repository navigation
Engravings
Engravings are runes that can be applied to magic items, granting them additional attributes, trigger-based conditions, and effects.
The engraving system allows players to customize their equipment with powerful runes. Each engraving can:
- Add passive attributes (elemental affinities, spell power, mana regeneration, max mana, max circle, etc.)
- Trigger conditional effects when specific events occur (spell cast, damage dealt, damage taken, sneaking, low health, equip, etc.)
Runes are physical items that are consumed when applied. They can be crafted with standard recipes or obtained through commands (see Commands & Permissions). Each rune restricts which item types it can be applied to and — unless it is a passive rune — is bound to a single trigger the player selects at apply time.
Engravings are applied at the Engraving Table.
The Engraving Table is a custom GUI for applying and managing engravings on magic items.
- Find (or place) an Enchanting Table in the world.
- Right-click it and choose Arcane Table from the choice menu.
- In the Arcane Table hub, select Magic Engineering.
See Arcane Table for the full flow.
- Click any magic item in your inventory to select it as the target. The item appears in the center slot with its engraving count (
Engravings: current/max). - Click a rune from your inventory. Runes that cannot be applied to that item type are rejected.
- If the rune is triggered, choose the trigger that will activate it from the trigger selection menu. Passive runes skip this step.
- Review the confirmation screen (target, rune, trigger, mana cost, success/failure chances) and click Confirm.
Applying details:
-
Mana cost:
100 + (current engravings × 50)mana. The cost is displayed on the confirmation screen. - Success chance: 80%. On failure the rune and mana are consumed but the item is left unchanged.
-
Slot limit: Each item has a
max_engravingslimit defined in its own config (default 1; higher-tier items can hold up to 2). Installed engravings fill the slots on the table; slots beyond the limit appear locked.
Click any installed engraving slot in the table to unequip it. The engraving is removed instantly — the rune itself is not returned.
Engravings are defined in YAML files under magic/engravings/:
key: fire_rune
allowed_item_types:
- sword
- axe
- wand
triggers:
- on_damage_dealt
- on_kill
item:
material: FIRE_CHARGE
display_name: '&cFire Rune'
lore:
- '&7&oA blazing rune imbued with fire magic.'
- '&7&oIgnites targets for a duration.'
attributes:
alkatraz:fire_affinity: 10
conditions:
- type: random
chance: 0.35
effects:
- type: ignite
duration_ticks: 60
recipe:
shape:
- " B "
- "SMS"
- " M "
ingredients:
M: alkatraz:magic_stone
B: BLAZE_POWDER
S: COBBLESTONE| Field | Description |
|---|---|
key |
Namespaced identifier. Bare keys (e.g. fire_rune) are auto-namespaced to alkatraz:. |
allowed_item_types |
Item types this rune can be applied to (sword, axe, wand, bow, crossbow, trident, helmet, chestplate, leggings, boots, pickaxe, shovel, hoe, ring, robe, artifact, ...). |
triggers |
Trigger keys this rune supports (see Trigger Events). triggers: [] marks a passive rune — always active, no trigger selection. |
item |
The physical rune item: material, display_name, lore, plus optional custom_model_data, unbreakable, hide_attributes. |
attributes |
Passive stat bonuses granted while the engraving is installed. |
conditions |
Conditions that gate the effects (AND logic, see Condition Types). |
effects |
Effects that fire when the conditions are met (see Effect Types). |
recipe |
Shaped crafting recipe (see Crafting). |
barrier_config |
Rune-specific settings (only used by barrier_rune: durability_cost). |
The number of engravings an item can hold is set with max_engravings in the item's own YAML config (default 1).
Conditions gate when an engraving's effects activate. All conditions on a rune must pass (AND logic). Every condition is a map with at least a type; composite nests a list of child conditions.
| Type | Description | Parameters |
|---|---|---|
always |
Always passes | — |
random |
Random chance to pass |
chance (0.0–1.0, default 1.0) |
circle_level |
Requires a minimum magic circle |
min_circle (default 1) |
mana |
Compares current mana |
comparison (default GREATER_OR_EQUAL), amount (default 10) |
arcane_knowledge |
Requires minimum arcane knowledge |
amount (default 0) |
has_discovered_spell |
Requires a specific spell to be discovered | spell_id |
permission |
Requires a Bukkit permission | permission |
world |
Player's world must be in the list |
worlds (list) |
event_parameter |
Checks a parameter from the trigger event |
parameter, value
|
spell_element |
Only passes for spells of a specific element | element |
compare_attribute |
Compares a player attribute |
attribute, comparison, value
|
cooldown |
Limits how often the rune can activate |
seconds (default 1.0) |
composite |
AND of nested conditions |
conditions (list) |
Comparison operators for mana and compare_attribute: GREATER_THAN, GREATER_OR_EQUAL, LESS_THAN, LESS_OR_EQUAL, EQUAL.
A
cooldownis only committed after the rune's effects successfully run, so cancelled or failed attempts do not start the cooldown.
| Type | Description | Parameters |
|---|---|---|
ignite |
Sets the target on fire |
duration_ticks (default 60) |
play_sound |
Plays a sound to the player |
sound, volume, pitch
|
potion_effect |
Applies a potion effect to the target (or to the player with target: self) |
effect, duration_ticks (100), amplifier (0), target
|
damage |
Deals damage to the target |
damage (1.0), bypass_armor (false) |
heal |
Heals the player |
amount (2.0) |
particle |
Spawns particles |
particle (FLAME), count (10), offset_x / offset_y / offset_z (0.5), speed (0.1) |
teleport |
Teleports the player forward |
distance (5.0) |
command |
Executes a console command |
command (%player% and %target% placeholders) |
message |
Sends the player a message |
message, action_bar (false) |
explosion |
Creates an explosion at the target |
power (2.0), set_fire (false), break_blocks (true) |
When a rune is applied, the player selects the trigger that will activate it (unless the rune is passive). Trigger selection is filtered two ways:
- Item-type compatibility — triggers restricted to specific item types only appear for compatible items; unrestricted triggers appear for every item.
-
Rune-declared triggers — if the rune declares a
triggerslist, only those triggers appear.
| Trigger | When It Fires | Restricted To |
|---|---|---|
on_spell_cast |
The holder begins casting a spell | Wand |
on_spell_casted |
The holder's spell completes casting | Wand |
on_spell_fail |
The holder's spell fails to cast | Wand |
on_spell_hit |
A spell hits a target | Wand |
on_kill |
The holder kills an entity | Sword, Axe, Wand |
on_ranged_kill |
The holder kills with a ranged weapon | Bow, Crossbow, Trident |
on_melee_hit |
The holder lands a melee hit | Sword, Axe, Trident |
on_critical_hit |
The holder lands a critical melee hit | Sword, Axe, Trident |
on_damage_dealt |
The holder deals damage to an entity | Sword, Axe, Wand, Bow, Crossbow, Trident |
on_damage_taken |
The holder takes damage | Armor, Accessories |
on_player_attacked |
The holder is attacked by another player | Armor, Accessories |
on_blocked |
The holder blocks with a shield | Any |
on_projectile_launch |
The holder launches a projectile | Bow, Crossbow, Trident |
on_projectile_hit |
A projectile fired by the holder hits an entity | Bow, Crossbow, Trident |
on_projectile_hit_block |
A projectile fired by the holder hits a block | Bow, Crossbow, Trident |
on_throw |
The holder throws a throwable item | Bow, Crossbow, Trident |
on_bow_release |
The holder releases a bow | Bow, Crossbow |
on_bow_pull |
The holder starts pulling a bow | Bow, Crossbow |
on_targeted |
A hostile entity targets the holder | Armor, Accessories |
on_arm_swing |
The holder swings their arm | Wand, Sword, Axe, Pickaxe, Shovel, Hoe, Bow, Crossbow, Trident |
on_interact_entity |
The holder interacts with an entity | Wand, Sword, Axe |
Restricted to Armor & Accessories (Helmet, Chestplate, Leggings, Boots, Ring, Necklace, Bracelet, Pendant):
| Trigger | When It Fires |
|---|---|
on_sprint / on_stop_sprint
|
Starts / stops sprinting |
on_swim / on_stop_swim
|
Starts / stops swimming |
on_glide / on_stop_glide
|
Starts / stops gliding |
on_start_fly / on_stop_fly
|
Starts / stops flying |
on_jump |
Jumps |
on_land |
Lands after falling |
on_enter_water |
Enters water |
on_enter_lava |
Enters lava |
on_climb |
Starts climbing |
on_step_on_block |
Steps onto a block |
on_enter_biome |
Enters a biome |
on_enter_vehicle / on_leave_vehicle
|
Enters / leaves a vehicle |
on_enter_portal |
Enters a portal |
on_teleport |
Teleports |
on_world_change |
Changes world |
on_bed_enter / on_bed_leave
|
Enters / leaves a bed |
Restricted to Armor & Accessories:
| Trigger | When It Fires |
|---|---|
on_lightning |
Struck by lightning |
on_explosion_damage |
Takes explosion damage |
on_fire_damage |
Takes fire or lava damage |
on_drown |
Drowns |
on_freeze |
Takes freeze damage |
on_fall_damage |
Takes fall damage |
on_void |
Falls into the void |
on_starve |
Takes starvation damage |
on_suffocate |
Suffocates |
on_rain |
Rain starts |
on_thunder |
Thunderstorm starts |
| Trigger | When It Fires | Restricted To |
|---|---|---|
on_use_item |
Uses (right-clicks) an item | Any |
on_left_click_item |
Left-clicks with an item | Any |
on_swap_hands |
Swaps main / off hand | Any |
on_pickup_item |
Picks up an item | Any |
on_drop_item |
Drops an item | Any |
on_consume_item |
Consumes an item | Any |
on_item_damage |
A held item takes durability damage | Sword, Axe, Pickaxe, Shovel, Hoe, Bow, Crossbow, Trident |
on_item_break |
An item breaks | Sword, Axe, Pickaxe, Shovel, Hoe, Bow, Crossbow, Trident |
on_repair |
Repairs an item | Any |
on_enchant |
Enchants an item | Any |
on_open_inventory / on_close_inventory
|
Opens / closes an inventory | Any |
| Trigger | When It Fires | Restricted To |
|---|---|---|
on_break_block |
Breaks a block | Pickaxe, Shovel, Hoe, Sword, Axe |
on_mine_ore |
Mines ore | Pickaxe, Shovel, Hoe, Sword, Axe |
on_place_block |
Places a block | Pickaxe, Shovel, Hoe, Sword, Axe |
on_fish |
Catches a fish | Sword, Axe, Pickaxe, Shovel, Hoe |
on_shear |
Shears an entity | Sword, Axe, Pickaxe, Shovel, Hoe |
on_fill_bucket / on_empty_bucket
|
Fills / empties a bucket | Sword, Axe, Pickaxe, Shovel, Hoe |
| Trigger | When It Fires | Restricted To |
|---|---|---|
on_equip / on_unequip
|
Equips / unequips the item | Armor, Accessories |
on_sneak / on_stop_sneak
|
Starts / stops sneaking | Helmet, Chestplate, Leggings, Boots |
on_item_held |
Changes held item slot | Wand, Sword, Axe, Pickaxe, Shovel, Hoe, Bow, Crossbow, Trident |
on_join |
Joins the server | Armor, Accessories |
on_first_join |
Joins for the first time | Armor, Accessories |
on_quit |
Quits the server | Armor, Accessories |
on_death |
Dies | Armor, Accessories |
on_respawn |
Respawns | Armor, Accessories |
on_level_up |
Gains a level | Armor, Accessories |
on_xp_gain |
Gains experience | Armor, Accessories |
on_food_change |
Food level changes | Armor, Accessories |
on_heal |
Heals | Armor, Accessories |
on_low_health |
Health drops to 20% or below | Armor, Accessories |
on_mana_use |
Spends mana | Wand |
on_mana_empty |
Mana runs out | Wand |
on_spell_discovered |
Discovers a spell | Wand |
on_research_complete |
Completes a research | Wand |
| Trigger | When It Fires |
|---|---|
on_chat |
Sends a chat message |
on_command |
Runs a command |
on_villager_trade |
Trades with a villager |
| Trigger | When It Fires |
|---|---|
on_interval |
Every second while equipped (use a cooldown condition to control frequency) |
on_day |
Day starts |
on_night |
Night starts |
on_region_enter |
Enters a WorldGuard region (requires WorldGuard) |
on_region_leave |
Leaves a WorldGuard region (requires WorldGuard) |
Triggers expose parameters that can be checked with the event_parameter condition. Parameters vary per trigger; common ones include:
| Parameter | Description |
|---|---|
damage |
Damage dealt or taken |
cause |
Damage cause (e.g. FALL, PROJECTILE, LAVA) |
spell_id |
The spell involved |
spell_element |
The spell's element (e.g. WATER, FIRE) |
spell_type |
The spell's type key |
projectile_type |
Projectile entity type (e.g. ARROW) |
bow_type |
Bow item material |
item_type |
Item material |
block_type |
Block material |
entity_type |
Entity type (interaction, targeting, shearing) |
amount |
Amount (items, xp, healing) |
health / health_percent
|
Current health and percentage |
reason |
Event reason (spell fail, heal, targeting) |
hand |
Hand used (MAIN_HAND / OFF_HAND) |
command / args
|
Command and arguments |
message |
Chat message |
old_level / new_level
|
Level before / after change |
food_level / change
|
Food level and change |
node_id |
Research node completed |
region |
WorldGuard region name |
world |
World name |
biome |
Biome entered |
vehicle_type |
Vehicle type |
from_world / to_world
|
World change |
inventory_type |
Inventory type |
This is the complete set of runes shipped with Alkatraz. Triggered runes let you pick one of the rune's listed triggers when applying; passive runes are always active once installed.
| Engraving | Key | Attributes | Allowed Types | Trigger(s) | Effect |
|---|---|---|---|---|---|
| Blazing Blade Rune | alkatraz:blazing_blade_rune |
— | Sword, Axe |
on_damage_dealt, on_kill
|
50% chance to ignite the target (100 ticks) |
| Fire Rune | alkatraz:fire_rune |
+10 Fire Affinity | Sword, Axe, Wand |
on_damage_dealt, on_kill
|
35% chance to ignite the target (60 ticks) |
| Frost Rune | alkatraz:frost_rune |
+10 Water Affinity | Sword, Axe, Wand |
on_damage_dealt, on_kill
|
Slows the target (100 ticks, amp 1) |
| Thunder Rune | alkatraz:thunder_rune |
+10 Air Affinity | Sword, Axe, Wand |
on_damage_dealt, on_kill
|
50% chance to deal 4 bonus damage |
| Berserker Rune | alkatraz:berserker_rune |
— | Sword, Axe |
on_damage_dealt, on_kill
|
50% chance to deal 6 damage (circle 1+) |
| Crippling Rune | alkatraz:crippling_rune |
— | Sword, Axe |
on_damage_dealt, on_kill
|
50% chance to slow the target (200 ticks, amp 1) |
| Explosive Rune | alkatraz:explosive_rune |
— | Bow, Crossbow, Trident | on_damage_dealt |
Explosion on hit (power 2.5, sets fire; 3s cooldown, circle 2+) |
| Marksman Rune | alkatraz:marksman_rune |
— | Bow, Crossbow | on_projectile_hit |
35% chance to deal 4 bonus damage (circle 1+) |
| Frost Shot Rune | alkatraz:frost_shot_rune |
— | Bow, Crossbow | on_damage_dealt |
Slows the target (160 ticks, amp 1, circle 1+) |
| Engraving | Key | Attributes | Allowed Types | Trigger(s) | Effect |
|---|---|---|---|---|---|
| Barrier Rune | alkatraz:barrier_rune |
— | Helmet, Chestplate, Leggings, Boots | Passive | Absorbs incoming damage into the item's durability (circle 2+) |
| Fortification Rune | alkatraz:fortification_rune |
— | Helmet, Chestplate, Leggings, Boots | on_damage_taken |
40% chance to grant Resistance (100 ticks, circle 1+) |
| Guardian Rune | alkatraz:guardian_rune |
— | Helmet, Chestplate | on_damage_taken |
40% chance to grant Resistance (200 ticks, circle 2+) |
| Thorns Rune | alkatraz:thorns_rune |
— | Chestplate, Leggings | on_damage_taken |
Deals 4 damage to attackers (circle 1+) |
| Phoenix Rune | alkatraz:phoenix_rune |
— | Chestplate, Leggings, Boots |
on_equip, on_join
|
Grants Fire Resistance (600 ticks, circle 1+) |
| Veil Rune | alkatraz:veil_rune |
— | Helmet, Chestplate, Leggings, Boots | on_sneak |
Grants Invisibility while sneaking (100 ticks, 8s cooldown, circle 2+) |
| Feather Fall Rune | alkatraz:feather_fall_rune |
— | Boots | Passive | Grants Slow Falling when taking fall damage (100 ticks, circle 3+) |
| Engraving | Key | Attributes | Allowed Types | Trigger(s) | Effect |
|---|---|---|---|---|---|
| Arcane Power Rune | alkatraz:arcane_power_rune |
+0.5 Spell Power | Wand, Sword |
on_spell_cast, on_item_held
|
Heals 2 HP on spell cast (circle 2+) |
| Haste Rune | alkatraz:haste_rune |
— | Pickaxe, Shovel, Axe, Bow | on_item_held |
Grants Haste while held (200 ticks, amp 1, circle 1+) |
| Ender Rune | alkatraz:ender_rune |
— | Leggings, Boots | on_sneak |
Teleports the user 8 blocks forward (12s cooldown, circle 2+) |
| Boulder Rune | alkatraz:boulder_rune |
+10 Earth Affinity | Sword, Axe, Wand |
on_damage_dealt, on_kill
|
Small explosion on hit (power 2, no fire or block break; 5s cooldown, circle 3+) |
| Engraving | Key | Attributes | Allowed Types | Trigger(s) | Effect |
|---|---|---|---|---|---|
| Mana Font Rune | alkatraz:mana_font_rune |
+5 Mana Regen, +100 Max Mana | Ring, Robe, Artifact | Passive | — (circle 2+) |
| Mana Well Rune | alkatraz:mana_well_rune |
+3 Mana Regen, +50 Max Mana | Wand, Ring, Robe | Passive | — (circle 1+) |
| Sage Rune | alkatraz:sage_rune |
+1 Max Circle | Ring, Robe, Artifact |
on_equip, on_join
|
Sends a message (circle 3+) |
| Engraving | Key | Attributes | Allowed Types | Trigger(s) | Effect |
|---|---|---|---|---|---|
| Rejuvenation Rune | alkatraz:rejuvenation_rune |
— | Ring, Robe, Artifact | on_low_health |
Grants Regeneration (100 ticks, 60s cooldown, circle 2+) |
| Vitality Rune | alkatraz:vitality_rune |
+25 Max Mana | Helmet, Chestplate, Leggings, Boots, Ring, Robe, Artifact | on_low_health |
Heals 2 HP (30s cooldown, circle 1+) |
| Vampiric Rune | alkatraz:vampiric_rune |
— | Sword, Axe |
on_damage_dealt, on_kill
|
50% chance to heal 4 HP (circle 1+) |
| Radiance Rune | alkatraz:radiance_rune |
+10 Light Affinity | Wand |
on_spell_cast, on_item_held
|
Heals 4 HP on LIGHT spell cast (circle 2+) |
| Engraving | Key | Attributes | Allowed Types | Trigger(s) | Effect |
|---|---|---|---|---|---|
| Void Rune | alkatraz:void_rune |
+10 Dark Affinity | Wand | on_spell_hit |
50% chance to deal 6 damage and ignite the target (40 ticks; circle 3+) |
Each rune is crafted at a standard crafting table using a shaped recipe. Ingredients can be vanilla materials or other magic items — every default rune recipe uses a Magic Stone (alkatraz:magic_stone) as its central ingredient.
See each rune's YAML config in magic/engravings/ for the exact recipe shapes and ingredients.