Render-Type — 5 kiểu hiển thị
Một menu không nhất thiết phải là chest. Node Render-Type: (alias
render-type) chọn cách menu được "vẽ": WINDOW (mặc định),
ENCHANT, MERCHANT, DISPLAY và BOOK.
Giá trị sai/không khai báo → quay về WINDOW.
WINDOW — chest GUI chuẩn#2>
Mặc định. Menu hiển thị như inventory chest theo Layout — mọi tính năng khác của wiki
(sub-icon, Input, animation…) hoạt động full. Không cần khai báo:
Title: 'Shop' Layout: - '#########'
ENCHANT — bàn phù phép#2>
UI bàn phù phép với 3 slot option clickable (icon có id item render vào slot nền):
Title: '&5&lBàn Phù Phép'
Render-Type: ENCHANT
Layout:
- '#########'
Icons:
'item':
slots: [0]
display:
material: NETHERITE_SWORD
name: '&bKiếm Thần Phong'
lore:
- '&7Chọn một option bên phải'
'sharpness':
slots: [2] # 1 trong 3 slot option
display:
enchant: 'SHARPNESS:5' # hiệu ứng phù phép trên option
name: '&aSắc Bén V'
lore: ['&7500 coins']
actions:
all:
- condition: 'money *500'
actions:
- 'take-money 500'
- 'console: minecraft:enchant @p minecraft:sharpness 5'
- 'sound: ENTITY_PLAYER_LEVELUP-1-1'
- 'tell: &aĐã phù phép Sắc Bén V!'
deny:
- 'sound: ENTITY_VILLAGER_NO-1-1'
- 'tell: &cCần 500 coins!'
MERCHANT — giao dịch villager#2>
UI trade của villager: mỗi icon là một giao dịch với giá cost-a (bắt buộc) và
cost-b (tùy chọn):
Title: '&2&lGiao Dịch'
Render-Type: MERCHANT
Layout:
- 'xxxxxxxxx'
Icons:
'iron':
slots: [0]
display:
material: IRON_INGOT
name: '&fSắt x8'
cost-a:
material: EMERALD
amount: 4
actions:
all:
- 'tell: &aMua 8 sắt với 4 emerald! (thêm take-item ở đây)'
'gold':
slots: [1]
display:
material: GOLD_INGOT
name: '&6Vàng x4'
cost-a:
material: EMERALD
amount: 6
cost-b:
material: REDSTONE
amount: 2
DISPLAY — hologram trong thế giới#2>
Mỗi icon render thành một dòng item/text display trong thế giới (qua hook FancyHolograms) — người chơi click trực tiếp vào hologram để chạy action:
Title: '&6&lBảng Thông Tin'
Render-Type: DISPLAY
Options:
Display:
Origin: SELF # SELF = render theo vị trí người xem; hoặc BLOCK:world,x,y,z cố định
Spacing: 0.8 # khoảng cách giữa các dòng
Icons:
'info':
slots: [4] # slot id của DISPLAY layout (0-44)
display:
material: GOLDEN_AXE
name: '&6&lThông Tin'
actions:
all:
- 'tell: &aBạn đã nhấn vào dòng hiển thị (demo)'
BOOK — menu dạng sách#2>
Menu mở thành sách đã viết (packet-based — item thật trên tay không bị đụng đến). Mỗi icon là một dòng text trong trang sách:
Title: '&2&lCửa hàng vũ khí'
Render-Type: BOOK
Bindings:
Commands: [ '(?i)book(-)?(demo)?' ]
Icons:
# ---------- TRANG 1 ----------
'title':
page: 1
display:
text: '&2&l ✦ CỬA HÀNG ✦'
'sword':
page: 1
display:
text: '&6⚔ Kiếm Thần Phong — &f1000$'
hover-item: # hover hiện tooltip item THẬT (SHOW_ITEM)
material: NETHERITE_SWORD
name: '&6Kiếm Thần Phong'
lore: [ '&7Sát thương +12', '&aHiếm', '&8Nhấn để mua' ]
actions:
all:
- condition: 'money *1000'
actions:
- 'take-money 1000'
- 'give-item: material:NETHERITE_SWORD,amt:1'
- 'tell: &aĐã mua!'
deny:
- 'tell: &cKhông đủ tiền!'
# ---------- TRANG 2 ----------
'glyph-link':
page: 2
display:
text: '&bClick: Mua' # glyph Nexo (cần Nexo + resource pack)
actions:
all:
- 'close &&& open: Book-Demo'
- Icon dùng
text:thay chomaterial:— mỗi icon là một dòng/khối dòng trong trang. page:quyết định icon nằm ở trang sách nào; icon cóactions:trở thành clickable (click-token one-shot gắn UUID, hết hạn theoMenu.Book.Token-Expire-Seconds).hover-item:gắn tooltip item thật — không cần resource pack.- Glyph:
<glyph:id>(tag chuẩn Nexo) hoặc%nexo_<glyphid>%(PAPI fallback), hoặc unicode escape cho resource pack tuỳ ý. Icon chứa glyph vẫn click như icon thường. - Thứ tự icon trong trang theo thứ tự khai báo trong
Icons:, mỗi icon bắt đầu một dòng mới. - Giới hạn: BOOK là snapshot text — không sub-icon animation, không icon refresh, không Input slots, không Tasks.
Type: (chỉ với WINDOW) và Size: (số hàng khi không dùng Layout) vẫn dùng
được như TrMenu gốc. RENDER packet/inventory thật được điều khiển qua
Options.Static-Inventory trong settings.yml.