Skip to content

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 IDPurposeMain input
gem_open_socketOpens a socket on the main-hand equipment using the off-hand opener.Main-hand equipment, off-hand opener, opener
gem_inlayInlays the off-hand gem into a socket on the main-hand equipment.Main-hand equipment, off-hand gem, slot
gem_extractExtracts a gem from one socket on the main-hand equipment.Main-hand equipment, slot
gem_clear_layerClears the main-hand item's gem layer.Main-hand equipment

Parameters

gem_open_socket

ParameterTypeRequiredDefaultDescription
openerSTRINGYesSocket opener ID.
slotINTEGERNo-1Target socket slot; -1 lets the service choose one.
bypassBOOLEANNofalseSkips the opener item requirement.

gem_inlay / gem_extract

ParameterTypeRequiredDefaultDescription
slotINTEGERYesTarget socket slot.
bypass_costBOOLEANNofalseSkips 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_inlay consumes 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_extract go 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_cost only 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 REJECTED and reuses the service's existing player-facing message.