İçeriğe geç

ItemsAdder ile DeluxeMenus’te özel GUI arka planı

Minecraft’ta menüye arka plan resmi koymak için bir ayar yok, yine de birçok sunucunun sandık menüleri özel ekranlar gibi görünüyor. İşin sırrı menü başlığındaki bir font görseli: ItemsAdder PNG’ni bir karaktere dönüştürür, negatif offset’ler de bu karakteri sandığın üzerine taşır. Bu rehber DeluxeMenus için kurulumu adım adım anlatıyor.

Güncellendi:

Dokulu bir GUI nasıl çalışır

Bir sandık menüsü başlığını sol üst köşede gösterir. Başlık bir metindir ve metin, sunucunun kaynak paketindeki (resource pack) karakterleri içerebilir. ItemsAdder herhangi bir PNG’yi böyle bir karaktere, yani font görseline (font image) dönüştürebilir. Başlığa büyük bir font görseli koyarsan istemci onu sandık ekranının üzerine çizer.

Hizalamak için iki parça daha gerekir. Negatif bir offset, görselden önce imleci sola kaydırır; böylece resim başlık girintisinden sonra değil, sandığın sol kenarından başlar. Font görselinin y_position değeri ise onu tüm menüyü kaplayana kadar yukarı veya aşağı taşır.

Slotlar normal slot olarak kalır. Resminde buton görünen yerde menüde material: air olan, kendi tıklama eylemlerine sahip boş ve tıklanabilir bir slot bulunur.

Neye ihtiyacın var

  • Spigot veya Paper sunucusunda DeluxeMenus ve PlaceholderAPI.
  • Kaynak paketini oluşturan ve %img_…% placeholder’larını sağlayan ItemsAdder.
  • Çalışan bir kaynak paketi dağıtımı, yani oyuncuların paketi gerçekten indirmesi (ItemsAdder kendi barındırma ve başka hosting seçenekleri sunar).
  • Bir arka plan PNG’si. Minecraft 256×256 pikselden büyük font glyph’lerine izin vermez, resim buna sığmalı.

1. adım: Arka plan resmini hazırla

Menüyü GUI Maker’da tasarla: satır sayısını, bir tema veya hazır şablon seç ve birden fazla slotu kaplayan büyük butonlar çiz. Dışa aktarma olarak ItemsAdder’ı seç, namespace’ini (örneğin mymenus) ve menü adını (örneğin shop) gir.

Dışa aktarılan PNG 256 piksel genişliğindedir. Yüksekliği satır sayısına bağlıdır: tek satır için 164, altı satır için 254 piksel. Sandığın etrafındaki ek alan, çerçevelerin ve süslemelerin normal menü çerçevesinin dışına taşabilmesini sağlar.

2. adım: Font görselini ItemsAdder’a kaydet

PNG’yi namespace’ine kopyala ve bir font_images girdisi ekle. GUI Maker’ın altı satırlık bir menü için dışa aktardığı şey şu:

plugins/ItemsAdder/contents/mymenus/configs/gui_shop.yml
info:
  namespace: mymenus
font_images:
  gui_shop:
    path: gui/shop
    show_in_gui: false
    suggest_in_command: false
    scale_ratio: 254
    y_position: 45

Resmin kendisi plugins/ItemsAdder/contents/mymenus/resourcepack/assets/mymenus/textures/gui/shop.png konumuna gider.

  • scale_ratio görselin çizildiği yüksekliktir. Hiçbir şey gerilmesin diye PNG’nin gerçek piksel yüksekliğini kullan.
  • y_position görseli dikey olarak taşır. ItemsAdder bunun scale_ratio değerinden küçük veya ona eşit olmasını ister, çünkü oyun daha fazlasına izin vermez.
  • show_in_gui: false arka planı ItemsAdder emoji listesinin dışında tutar.

3. adım: Görseli DeluxeMenus menü başlığına koy

DeluxeMenus, menu_title içindeki PlaceholderAPI placeholder’larını işler. ItemsAdder görsel için %img_<name>%, boşluk için de negatif olabilen %img_offset_<pixels>% sağlar.

plugins/DeluxeMenus/gui_menus/shop.yml
menu_title: '&f%img_offset_-48%%img_gui_shop%%img_offset_-201%&8Shop'
open_command: 'shop'
register_command: true
size: 54
items:
  button_1_buy:
    material: air
    slots: [10, 11, 19, 20]
    priority: 1
    click_commands:
      - '[openguimenu] shop_buy'
  1. Baştaki &f resmi gerçek renklerinde tutar. O olmadan görsel başlık rengiyle boyanır.
  2. %img_offset_-48% resimden önce imleci 48 piksel sola kaydırır. GUI Maker tuvali için bu değeri kullanır: sandık başlığının girintisi için 8 piksel artı her iki yana eklediği 40 piksellik kenar boşluğu.
  3. %img_gui_shop% arka planın kendisidir.
  4. İkinci offset imleci geri taşır; böylece &8Shop resmin üzerinde, başlığın olması gereken yere yazılır. Değeri resminin genişliğine bağlıdır; GUI Maker bunu senin için hesaplar.

Başlığı GUI Maker’da resmin içine gömersen başlık arka plan placeholder’ından sonra biter ve ikinci offset olmaz.

4. adım: Menüyü kaydet ve paketi yeniden oluştur

DeluxeMenus yalnızca config.yml dosyasında listelenen menüleri yükler:

plugins/DeluxeMenus/config.yml
gui_menus:
  shop:
    file: shop.yml
  1. ItemsAdder kaynak paketini yeni görselle yeniden oluştursun diye /iazip çalıştır.
  2. /dm reload çalıştır. Kontrol etmek için menüyü bir kez /dm open shop ile aç.
  3. register_command: true, /shop komutunu gerçek bir komut olarak kaydeder, ama yalnızca sunucu başlarken. Yeni bir menü ekledikten sonra sunucuyu bir kez yeniden başlat.
  4. Sunucuya yeniden gir, kaynak paketini kabul et ve menüyü aç.

Sık görülen hatalar ve çözümleri

Ne görüyorsunNeden ve çözüm
Başlıkta %img_gui_shop% metin olarak görünüyorPlaceholderAPI eksik ya da isim yanlış. Placeholder, config’teki font görseli adını namespace olmadan kullanır.
Resim yerine boş bir kutu veya yanlış bir sembolPaket yeniden oluşturulmamış ya da oyuncuda eski paket var. /iazip çalıştır ve yeniden gir.
Bazı oyuncularda hiç resim yokSunucunun kaynak paketini reddetmişler. Paket barındırmanı ve istemcinin sunucu ayarlarını kontrol et.
Resim kaymışİlk offset veya y_position, PNG’nin kenar boşluklarıyla uyuşmuyor. Sayı tahmin etmek yerine yeniden dışa aktar.
Resim gri veya daha koyuGörselin önünde &f eksik.
/shop bilinmeyen bir komutMenü eklendikten sonra sunucu yeniden başlatılmamış ya da menü config.yml’de yok.
ItemsAdder font görselini kabul etmiyory_position, scale_ratio değerinden büyük ya da görsel 256×256’dan büyük.

Sıkça sorulan sorular

Özel bir GUI arka planı için oyuncuların bir şey indirmesi gerekiyor mu?

Evet, ItemsAdder’ın oluşturduğu sunucu kaynak paketini. O olmadan başlıkta bir yer tutucu kare görünür ya da hiçbir şey görünmez. ItemsAdder paketi oyuncular girerken otomatik olarak gönderebilir.

DeluxeMenus başlığım neden %img_…% ifadesini metin olarak gösteriyor?

Placeholder yerine konmuyor. PlaceholderAPI’nin kurulu olduğunu, ItemsAdder’ın yüklendiğini ve img_ sonrasındaki adın config’indeki font görseli adıyla birebir aynı olduğunu kontrol et.

Aynı arka planı daha az satırlı menüler için kullanabilir miyim?

Ancak resim satır sayısına uyuyorsa. Üç satırlık bir sandık altı satırlıktan daha kısadır, bu yüzden kendi PNG’sine ve kendi scale_ratio değerine ihtiyaç duyar. GUI Maker her satır sayısı için doğru yüksekliği dışa aktarır.

Bu ItemsAdder olmadan da çalışır mı?

Aynı numara Nexo veya Oraxen glyph’leriyle de çalışır. Hiçbir kaynak paketi eklentisi olmadan da renkli cam panellerle derli toplu bir menü yapabilirsin; GUI Maker bunu “None” seçeneğiyle dışa aktarır.

Kaynaklar

Resmî dokümantasyonla karşılaştırıldı: