Skip to content

EmakiGem ​

EmakiGem gives you equipment sockets, socket openers, gem inlay, extraction, upgrades, gem resonance, gem presentation layers, and optional Attribute output, so you can add long-term progression and personal builds to your gear

Basic information ​

ItemValue
Module version2.8.11
Main command/emakigem
Aliases/egem, /eg
Hard dependencyEmakiCoreLib
Soft dependenciesEmakiItem, EmakiAttribute, PlaceholderAPI
Main permissionsemakigem.use, emakigem.reload, emakigem.admin, emakigem.debug

Default directories ​

text
plugins/EmakiGem/
├── config.yml
├── conditions/
├── gems/
├── items/
├── resonances/
├── gui/
│   ├── gem/
│   └── open/
└── lang/

Main configuration keys ​

Top-level keys in config.yml:

FieldTypeRequiredDefaultRangeDescription
versionstringNo"2.8.11"—Configuration structure marker maintained by the resource sync process, not a feature switch
languagestringNo"zh_CN"A file name under lang/ (such as zh_CN, en_US)Language file name, resolving to lang/<language>.yml
release_default_databooleanNotruetrue / falseWhether bundled default data (gems/, items/, resonances/) is released on startup. Setting false stops those three from being restored, but gui/, conditions/, config.yml, and lang/*.yml are unaffected
socket_openersobjectNoempty (no openers)see Socket OpenersSocket opener definitions
inlay_successobjectNoempty (source fallbacks)see Inlay Success RateInlay success rate
number_format.defaultstringNo"0.##"—Default number format. Falls back to 0.## when the section is missing or the value is blank
op_bypassbooleanNofalsetrue / falseWhether OPs bypass cost and condition checks for inlay, socket opening, and extraction. The legacy permission.op_bypass key is still read; the top-level key wins
reroll.session_ttl_secondsintegerNo120≥ 1Reroll candidate session lifetime in seconds. On timeout the candidate is discarded and the charge refunded. Changes affect newly generated candidates only
gui.default_modestringNo"inlay"inlay / upgrade / open (aliases open_socket, socket_open)Default mode for the GUI service; any other value (including extract, reroll, recalibrate) falls back to inlay. Commands still require an explicit mode argument
gui.save_on_closebooleanNofalsetrue / falseWhether the current operation state is saved when the view closes
conditionobjectNoempty groupsee CoreLib ConditionsGlobal condition group; when absent it is an empty group with type all_of

Shipped defaults (the top-level keys):

yaml
version: "2.8.11"
language: "zh_CN"
release_default_data: true
number_format:
  default: "0.##"
op_bypass: false
reroll:
  session_ttl_seconds: 120
gui:
  default_mode: "inlay"
  save_on_close: false

Example:

yaml
language: "en_US"
op_bypass: true
gui:
  default_mode: "open"
  save_on_close: true
reroll:
  session_ttl_seconds: 60

NOTE

op_bypass used to live at permission.op_bypass. The legacy key is still read (the top-level key wins), and it is migrated to the top level on startup with a console notice

WARNING

version has two unrelated version lines; do not mix them. The default resource value in config.yml is 2.8.11. The source additionally holds an internal migration constant CURRENT_VERSION = 2.7.8, used only for configuration migration comparison. The two serve different purposes

Feature pages ​

PageContent
CommandsGUI, inspect, clear state, reload, and debug commands
GemsGem effects, costs, extraction, upgrades, and socket compatibility
TemplatesSocket item definitions and GUI template references
Socket Openerssocket_openers, opener items, socket unlocking, and failure feedback
ResonanceGem combinations, min_level, priority, exclusive groups, and resonance effects
ProcessInlay validation and runtime flow
ExtractionExtraction cost, return mode, and effect rollback
Inlay Success Rateinlay_success, formulas, and failure handling
PlaceholdersPlaceholderAPI output and GUI/action variables
CoreLib ActionsCoreLib actions registered by EmakiGem
APIRuntime integration and external calls
EventsBukkit events you can listen to