Skip to content

EmakiGem Overview

EmakiGem is an equipment gem system that provides socket opening, inlaying, extraction, upgrading, and optional attribute system integration capabilities.

Basic Information

PropertyValue
Version1.2.0
artifactIdemaki-gem
Main Classemaki.jiuwu.craft.gem.EmakiGemPlugin
Root Command/emakigem
Aliases/egem, /eg
Hard DependencyEmakiCoreLib
Soft DependenciesEmakiAttribute, PlaceholderAPI

信息

EmakiGem is a closed-source module, included in the build via the private-modules profile.

Core Responsibilities

  • Define gems, equipment templates, and socket openers
  • Provide four major processes: socket opening, inlaying, extraction, and upgrading
  • Maintain gem layer display and attribute output via GemSnapshotBuilder and GemPdcAttributeWriter
  • Manage gem state on equipment via GemStateService (PDC persistence)
  • Provide multi-mode GUIs: inlay, extract, open, upgrade
  • Provide admin capabilities such as /emakigem clearstate

config.yml Full Format

yaml
# Config file version
config_version: "1.1.0"

# Language file identifier
language: zh_CN

# Whether to release default resources on first startup
release_default_data: true

# ============================================================
# Socket Openers Configuration
# ============================================================
socket_openers:
  attack_drill:
    enabled: true
    # Socket opener item source
    item_source: "minecraft-blaze_rod"
    # Gem types this opener can open
    opens_gem_types:
      - "attack"
    # Whether to consume the opener on success
    consume_on_success: true
    # Actions executed on success
    success_actions:
      - "playsound sound=block.anvil.use volume=1.0 pitch=1.2"
      - "sendmessage message=<green>成功开启了攻击孔位!"
    # Actions executed on failure
    failure_actions:
      - "playsound sound=entity.villager.no volume=1.0 pitch=0.8"
      - "sendmessage message=<red>开孔失败。"

  defense_drill:
    enabled: true
    item_source: "minecraft-iron_ingot"
    opens_gem_types:
      - "defense"
    consume_on_success: true
    success_actions:
      - "playsound sound=block.anvil.use volume=1.0 pitch=1.2"
    failure_actions: []

  universal_drill:
    enabled: true
    item_source: "minecraft-nether_star"
    opens_gem_types:
      - "attack"
      - "defense"
      - "utility"
      - "universal"
    consume_on_success: true
    success_actions:
      - "playsound sound=block.anvil.use volume=1.0 pitch=1.5"
    failure_actions: []

# ============================================================
# Inlay Success Configuration
# ============================================================
inlay_success:
  enabled: true
  # Default success rate (percentage)
  default_chance: 100
  # Success rate formula (optional, supports exp4j expressions)
  # Available variables: gem_tier, slot_index, current_gem_count
  rate_formula: ""
  # Handling on failure: none / destroy_gem / return_gem
  failure_action: "return_gem"

# ============================================================
# Upgrade Configuration
# ============================================================
upgrade:
  # Global success rate table (level → percentage)
  global_success_rates:
    1: 100
    2: 80
    3: 60
    4: 40
    5: 20
  # Global failure penalty: none / downgrade / destroy
  global_failure_penalty: "none"

# Number formatting
number_format: "#,##0.##"

# Global permission (optional)
permission: ""

# ============================================================
# GUI Configuration References
# ============================================================
gui:
  gem: "gem/default"
  open: "open/default"
  upgrade: "upgrade/default"

Default Socket Openers

Opener IDItem SourceOpens TypesDescription
attack_drillBlaze RodattackAttack socket opener
defense_drillIron IngotdefenseDefense socket opener
universal_drillNether StarAllUniversal socket opener

Default Resource Directory

File/DirectoryDescription
config.ymlMain configuration
gems/Gem definitions (3 default)
items/Equipment templates (3 default)
gui/gem/Gem inlay/extract GUI
gui/open/Socket opening GUI
gui/upgrade/Upgrade GUI
conditions/Condition configs
lang/Language files

Default Content

Content TypeCount
Gem Definitions3
Equipment Templates3

Released under the GPL-3.0 License