Menü yazma
İlk menü #
plugins/CrossMenu/menus/ altındaki her .yml dosyası bir menüdür. .yml uzantısı olmayan yol, menünün kimliği olur.
title: "&8Shop"
rows: 3
open-commands: [shop]
items:
diamonds:
slot: 13
material: DIAMOND
name: "&bDiamonds"
lore:
- "&7Click to buy"
left-actions:
- "[console] give {player} diamond 1"
- "[message] &aPurchased."Onay ve metin girişi menüleri için type: confirm veya type: input kullanın. Geyser veya Floodgate varsa Bedrock oyuncuları yerel formlar alır. Sunucu destekliyorsa Java diyalogları kullanılır; aksi halde CrossMenu sandık sürümünü açar.
Bir menüyü komut olmadan açma #
open-commands dışında, bir menü oyuncu girdiğinde veya belirli bir eşyayla tıkladığında açılabilir:
open-triggers:
join: true # open shortly after joining
join-delay-ticks: 40 # default 20, allowed 1-1200
item:
material: COMPASS # the item in the main hand
name: "&aServer menu" # optional; colour codes are ignored when comparing
click: right # right (default), left or anyMenünün open-permission, open-requirement ve açma hızı sınırı her zamanki gibi geçerlidir. Eşleşen bir tıklama iptal edilir, bu yüzden eşya başka bir şey yapmaz. Bir tetikleyiciyi yalnızca tek bir menü sahiplenebilir: iki menü aynı girişi veya aynı eşya ve tıklamayı sahiplenirse kimliği alfabetik olarak önce gelen kazanır ve konsol bunu söyler. Bir Citizens NPC'si için NPC'ye crossmenu open <menu> oyuncu komutunu verin.
Bileşenler #
Paylaşılan tanımları plugins/CrossMenu/components/ altındaki herhangi bir .yml dosyasına koyun. Her üst düzey anahtar bir bileşendir.
# components/common.yml
close-button:
material: BARRIER
name: "&cClose"
actions: ["[close]"]
dark-pane:
material: BLACK_STAINED_GLASS_PANE
name: " "Bir bileşeni menüde kullanın ve yalnızca değişeni geçersiz kılın:
items:
close:
component: close-button
slot: 22
back:
extends: [close-button, dark-pane]
slot: 18
name: "&eBack"Bileşenler soldan sağa birleştirilir. Menüde yazılan anahtarlar her zaman kazanır. Listeler ve skaler değerler bütünüyle değiştirilir. Boş bir yerel anahtar, devralınan değeri kaldırır. Bilinmeyen adlar, döngüler ve tür çakışmaları kaynak dosyaları ve satırlarıyla bildirilir.
Matrix yerleşimleri #
Matrix, envanter yerleşimlerini okunabilir kılar. Her satır tam olarak dokuz karakter içermelidir. . ve boşluklar boş hücrelerdir.
rows: 3
matrix:
- "OOOOOOOOO"
- "O..S.C..O"
- "OOOOOOOOO"
items:
shop:
symbol: S
material: EMERALD
name: "&aShop"
close:
symbol: C
component: close-button
fill-item:
material: GRAY_STAINED_GLASS_PANE
name: " "fill-item, hiçbir görünür eşyanın sahiplenmediği hücreleri kaplar ve her zaman normal eşyaların arkasında çizilir. Slot numaraları ve semboller aynı menüde birlikte kullanılabilir.
Eylemler ve koşullar #
Yaygın eylemler arasında oyuncu ve konsol komutları, mesajlar, duyurular, sesler, başlıklar, menü gezinmesi, kapatma, yenileme, bağlanma, ekonomi değişiklikleri ve eşya değişiklikleri bulunur.
left-actions:
- "[takemoney] 250"
- "[console] give {player} diamond 1"
- "[sound] entity.player.levelup"
left-click-requirement:
requirements:
funds:
type: has money
amount: 250
deny-actions:
- "[message] &cYou need $250."Koşullar izinleri, parayı, deneyimi, eşyaları, karşılaştırmaları, Java/Bedrock algılamasını, dünyayı, oyun modunu, tarih/saati ve mantıksal grupları kapsar. perm, hasitem, equals, greater than, not equal to ve != gibi DeluxeMenus takma adları kabul edilir.
[player] komutu yazıldığı gibi çalıştırır. Hiçbir eklenti o komutu kaydetmemişse hiçbir şey olmaz ve oyuncu mesaj görmez (DeluxeMenus burada sunucunun "Unknown command" mesajını gösterir). Var olduğunu denetlemek için yeni bir komutu önce kendiniz yazarak deneyin.
Tıklama türleri, sayfalama, animasyonlar, hesaplamalar, üretilen listeler, dil varyantları, bekleme süreleri ve kullanım sınırları için dahil gelen örnek menülere bakın.