CoreLib Actions
When EmakiGem is enabled, it adds main-hand gem-layer stages to the CoreLib action registry. They all operate on the target player's main-hand equipment and, when needed, read the off-hand socket opener or gem item.
NOTE
This page documents only the stages registered by EmakiGem. CoreLib built-in stages are documented in CoreLib Actions. Current stage IDs use only the canonical names below; historical aliases are no longer registered. The old emakigem_inlay is now written gem_inlay, and the others follow the same rule. The old emakigem_upgrade_gem_item has been removed and has no replacement stage.
Stage IDs
All four stages declare REQUIRED_ENTITY, and non-player targets are skipped.
| Stage ID | Purpose | Main input |
|---|---|---|
gem_open_socket | Opens a socket on the main-hand equipment using the off-hand opener. | Main-hand equipment, off-hand opener, opener |
gem_inlay | Inlays the off-hand gem into a socket on the main-hand equipment. | Main-hand equipment, off-hand gem, slot |
gem_extract | Extracts a gem from one socket on the main-hand equipment. | Main-hand equipment, slot |
gem_clear_layer | Clears the main-hand item's gem layer. | Main-hand equipment |
Parameters
gem_open_socket
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
opener | STRING | Yes | — | Socket opener ID. |
slot | INTEGER | No | -1 | Target socket slot; -1 lets the service choose one. |
bypass | BOOLEAN | No | false | Skips the opener item requirement. |
gem_inlay / gem_extract
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
slot | INTEGER | Yes | — | Target socket slot. |
bypass_cost | BOOLEAN | No | false | Skips the configured cost. |
gem_clear_layer
No parameters.
Examples
yaml
actions:
- 'self | gem_open_socket opener=basic_socket_opener slot=-1'
- 'self | gem_open_socket opener=admin_opener slot=0 bypass=true'
- 'self | gem_inlay slot=0'
- 'self | gem_extract slot=0 bypass_cost=true'
- 'self | gem_clear_layer'Notes
- Socket opening and inlay read the target player's main-hand equipment. Opening also reads the off-hand opener; inlay reads the off-hand gem.
gem_inlayconsumes one off-hand gem on success. If the service reports the input as already consumed but the operation still failed, the gem is subtracted as well, so the player does not get a free retry.- Gems returned by
gem_extractgo to the inventory, or drop at the player's feet if the inventory is full. - These stages call the existing Gem services, so configured socket opener, inlay, and extraction costs and validation still apply.
bypass/bypass_costonly skips the cost checks supported by that service. - When a service declines an operation by its own rules (a missing opener, an occupied slot), the stage fails with
REJECTEDand reuses the service's existing player-facing message.