ShinnUI wiki
Trang chủ/Biến & Script/Kether

Kether trong ShinnUI

Kether là ngôn ngữ script của TabooLib — mặc định của mọi condition:, action {ke:} và API. Cú pháp dạng câu (money *500), chạy nhanh hơn JS, không cần cấu hình gì thêm.

Namespace shinnui#2>

Khi eval, ShinnUI mở namespace shinnui — các node dưới đây chỉ tồn tại khi chạy trong ShinnUI (không dùng được trong plugin khác):

NodeCú phápÝ nghĩa
metameta "key"Đọc Meta người chơi.
datadata "key"Đọc Data (DB) người chơi.
vars / varvar "{meta:input}"Eval chuỗi qua bộ replace (giống vars() của JS).
money / ecomoney *500Vault — không args: số dư; có số: đủ tiền?
pointspoints *10PlayerPoints tương tự.
itemitem *material:DIAMOND,amount:5Người chơi có item khớp matcher?
mathcheck / mtcmtc left > rightSo sánh số: > < >= <= == !=
menumenu "title"Người chơi đang mở menu có title chứa chuỗi?
mecomeco "key"Đọc GlobalData.

Ngoài namespace này, toàn bộ Kether chuẩn của TabooLib đều dùng được: player has permission "shinnui.use", online, if / then / else, tellraw, set meta… Xem wiki TabooLib cho danh sách đầy đủ.

Ví dụ điều kiện#2>
# Trong icon action
- condition: 'money *500'
  actions:
    - 'take-money 500'
    - 'give-item: material:NETHERITE_SWORD'
  deny:
    - 'tell: &cCần 500 coins!'

# Có item + meta đã nhận thưởng chưa
- condition: 'item *material:NETHER_STAR,name:EVENT_TOKEN,amount:1 && meta "claimed" != "true"'
  actions:
    - 'take-item: material:NETHER_STAR,amount:1'
    - 'set-meta: claimed true'

# So sánh số từ biến
- condition: 'mtc {meta:input} >= 10'
  actions:
    - 'tell: &aNhập đủ 10 rồi!'

Kether trong Events#2>
Events:
  Open:
    - 'condition: player has permission "shinnui.vip"'
    - 'set-meta: vip true'
  Click:
    - 'condition: menu "Shop" && mtc 1 == 1'
    - 'sound: UI_BUTTON_CLICK-1-1'

Kether function đa dòng#2>

Node function hỗ trợ script Kether nhiều dòng — các dòng chạy tuần tự, giá trị dòng cuối là kết quả:

Functions:
  discount: |-
    if mtc ${price} >= 1000 then 900
    else ${price}

Quy tắc chọn ngôn ngữ điều kiện: Kether cho check native (tiền, quyền, item, so sánh) — ngắn và nhanh; JS khi cần string/JSON/array phức tạp; JEXL cho biểu thức số học thuần. Cả 3 cùng dùng được trong mọi condition:.