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:
| Hook | Placeholder mẫu | Ghi chú |
|---|---|---|
| PlaceholderAPI | %vault_eco_balance%… | Cổng chính — mọi expansion khác đi qua đây. |
| Vault | qua PAPI | Đồng thời cấp API economy cho take-money/give-money. |
| PlayerPoints | qua PAPI | take-points/give-points + node Kether points. |
| FancyHolograms | — | Khô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ữ. |
| SkinsRestorer | — | Render head đúng skin khi server có SR. |
| HeadDatabase | — | source: 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>
/papi parse me %shinnui_menus% → 12 (số menu đã nạp).
- Mở một menu nhiều trang →
/papi parse me %shinnui_menu_page% thay đổi theo trang.
- Set meta bằng action rồi parse
%shinnui_meta_key%.
/papi parse me %shinnui_menus% → 12 (số menu đã nạp)./papi parse me %shinnui_menu_page% thay đổi theo trang.%shinnui_meta_key%.