ShinnUI wiki
Trang chủ/Tích hợp/PlaceholderAPI

PlaceholderAPI & hook biến

ShinnUI render placeholder (đọc biến của plugin khác) và đăng ký expansion của riêng mình — hai chiều. Danh sách hook đăng ký expansion mà mọi chuỗi trong menu đều dùng được.

Expansion của ShinnUI#2>

Identifier shinnui — bảng đầy đủ ở trang Placeholder:

# Trong lore menu
- '&7Trang: &f%shinnui_menu_page%/%shinnui_menu_pages%'

# Hoặc bên ngoài (scoreboard, chat, plugin khác)
- '%shinnui_meta_points%'

Hook đăng ký expansion#2>

Các hook sau tự nạp khi plugin tương ứng có mặt — placeholder của chúng dùng được ngay trong mọi chuỗi menu (name, lore, title, action…) mà không cần cấu hình:

HookPlaceholder mẫuGhi chú
PlaceholderAPI%vault_eco_balance%Cổng chính — mọi expansion khác đi qua đây.
Vaultqua PAPIĐồng thời cấp API economy cho take-money/give-money.
PlayerPointsqua PAPItake-points/give-points + node Kether points.
FancyHologramsKhông phải expansion — cần cho Render-Type DISPLAY.
Nexo%nexo_<glyph>%Glyph cho BOOK, nexo-id cho matcher/Input.
ItemsAdder%ia_image%…, itemsadder_*Font image trong text.
Oraxen%oraxen_*Glyph/font tương tự.
Triton{triton: key}Đa ngôn ngữ.
SkinsRestorerRender head đúng skin khi server có SR.
HeadDatabasesource: hdb-<id> trong icon.

Placeholder trong chuỗi action#2>

Placeholder được thay trước khi action chạy — kể cả trong lệnh console:

actions:
  all:
    - 'console: minecraft:give %player_name% diamond 1'
    - 'tell: &aChào &f%player_name%&a, ping &f%player_ping%ms'

# set-meta với placeholder
- 'set-meta: last-server %server_name%'

Nếu placeholder của plugin khác chưa cài (hoặc gõ sai identifier), nó được giữ nguyên dạng %xxx% trong text — trừ khi Options.Placeholders.Unset-Placeholder cấu hình thay thế. Kiểm tra bằng /papi parse me %placeholder%.

Bật JS/JEXL qua PAPI#2>
# settings.yml
Options:
  Placeholders:
    JavaScript-Parse: false   # %shinnui_js_...% — tắt mặc định
    Jexl-Parse: false         # %shinnui_jexl_...% — tắt mặc định
    Unset-Placeholder: 'OFF'

Để tắt: giữ false — PAPI sẽ báo expansion không hỗ trợ placeholder đó. Khuyến nghị chỉ bật khi bạn kiểm soát được nội dung placeholder (rủi ro eval chuỗi lạ).

Test nhanh#2>
  1. /papi parse me %shinnui_menus%12 (số menu đã nạp).
  2. Mở một menu nhiều trang → /papi parse me %shinnui_menu_page% thay đổi theo trang.
  3. Set meta bằng action rồi parse %shinnui_meta_key%.