Pereiti prie turinio

Savas GUI fonas DeluxeMenus su ItemsAdder

Minecraft neturi nustatymo meniu fono paveikslėliui, bet daug serverių turi skrynios meniu, kurie atrodo kaip visai kiti ekranai. Triukas yra font image meniu pavadinime: ItemsAdder paverčia tavo PNG simboliu, o neigiami poslinkiai perkelia tą simbolį virš skrynios. Šis gidas žingsnis po žingsnio viską nustato DeluxeMenus.

Atnaujinta:

Kaip veikia GUI su tekstūra

Skrynios meniu rodo pavadinimą viršutiniame kairiajame kampe. Pavadinimas yra tekstas, o tekste gali būti simbolių iš serverio resursų paketo. ItemsAdder gali bet kurį PNG paversti tokiu simboliu, vadinamu font image. Įdėk didelį font image į pavadinimą, ir klientas jį nupieš virš skrynios ekrano.

Kad viskas sutaptų, reikia dar dviejų dalių. Neigiamas poslinkis (offset) prieš paveikslėlį perkelia žymeklį į kairę, todėl paveikslėlis prasideda nuo kairiojo skrynios krašto, o ne po pavadinimo įtraukos. Font image y_position perkelia jį aukštyn ar žemyn, kol jis uždengia visą meniu.

Slotai lieka įprasti slotai. Ten, kur tavo paveikslėlyje matosi mygtukas, meniu turi tuščią, paspaudžiamą slotą su material: air ir savais paspaudimo veiksmais.

Ko tau reikia

  • DeluxeMenus ir PlaceholderAPI Spigot arba Paper serveryje.
  • ItemsAdder, kuris sukuria resursų paketą ir pateikia %img_…% placeholder’ius.
  • Veikiantis resursų paketo pristatymas, kad žaidėjai tikrai atsisiųstų paketą (ItemsAdder siūlo savo hostingą ir kitus variantus).
  • Fono PNG. Minecraft neleidžia šrifto simbolių, didesnių nei 256×256 pikselių, todėl paveikslėlis turi tilpti į šį dydį.

1 žingsnis: sukurk fono paveikslėlį

Suprojektuok meniu GUI kūrėje: pasirink eilučių skaičių, temą ar šabloną ir nupiešk didelius mygtukus per kelis slotus. Kaip eksportą pasirink ItemsAdder, įvesk savo namespace (pavyzdžiui, mymenus) ir meniu pavadinimą (pavyzdžiui, shop).

Eksportuotas PNG yra 256 pikselių pločio. Jo aukštis priklauso nuo eilučių: nuo 164 pikselių vienai eilutei iki 254 pikselių šešioms. Papildoma vieta aplink skrynią leidžia rėmeliams ir dekoracijoms išlįsti už įprasto meniu kontūro.

2 žingsnis: užregistruok font image ItemsAdder

Nukopijuok PNG į savo namespace ir pridėk font_images įrašą. Štai ką GUI kūrėjas eksportuoja šešių eilučių meniu:

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

Pats paveikslėlis keliauja į plugins/ItemsAdder/contents/mymenus/resourcepack/assets/mymenus/textures/gui/shop.png.

  • scale_ratio yra aukštis, kuriuo paveikslėlis piešiamas. Naudok tikrąjį PNG aukštį pikseliais, kad niekas nebūtų ištempta.
  • y_position perkelia paveikslėlį vertikaliai. ItemsAdder reikalauja, kad jis būtų mažesnis arba lygus scale_ratio, nes žaidimas daugiau neleidžia.
  • show_in_gui: false neleidžia fonui atsidurti ItemsAdder emoji sąraše.

3 žingsnis: įdėk paveikslėlį į DeluxeMenus meniu pavadinimą

DeluxeMenus apdoroja PlaceholderAPI placeholder’ius menu_title lauke. ItemsAdder pateikia %img_<name>% paveikslėliui ir %img_offset_<pixels>% tuščiai vietai, kuri gali būti neigiama.

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. &f pradžioje išlaiko tikras paveikslėlio spalvas. Be jo paveikslėlis nuspalvinamas pavadinimo spalva.
  2. %img_offset_-48% prieš paveikslėlį perkelia žymeklį 48 pikselius į kairę. GUI kūrėjas šią reikšmę naudoja savo drobei: 8 pikseliai skrynios pavadinimo įtraukai plius 40 pikselių paraštė, kurią jis prideda iš kiekvienos pusės.
  3. %img_gui_shop% yra pats fonas.
  4. Antrasis poslinkis grąžina žymeklį atgal, todėl &8Shop užrašomas ant paveikslėlio ten, kur ir turi būti pavadinimas. Jo reikšmė priklauso nuo tavo paveikslėlio pločio; GUI kūrėjas ją apskaičiuoja už tave.

Jei GUI kūrėje pavadinimą „įkepi“ į patį paveikslėlį, pavadinimas baigiasi po fono placeholder’io ir antro poslinkio nebėra.

4 žingsnis: užregistruok meniu ir perkurk paketą

DeluxeMenus įkelia tik tuos meniu, kurie išvardyti jo config.yml:

plugins/DeluxeMenus/config.yml
gui_menus:
  shop:
    file: shop.yml
  1. Paleisk /iazip, kad ItemsAdder perkurtų resursų paketą su nauju paveikslėliu.
  2. Paleisk /dm reload. Vieną kartą atidaryk meniu su /dm open shop ir patikrink.
  3. register_command: true užregistruoja /shop kaip tikrą komandą, bet tik serveriui startuojant. Pridėjęs naują meniu, vieną kartą perkrauk serverį.
  4. Prisijunk iš naujo, priimk resursų paketą ir atidaryk meniu.

Dažnos klaidos ir jų taisymas

Ką mataiPriežastis ir sprendimas
Pavadinime rodomas tekstas %img_gui_shop%Trūksta PlaceholderAPI arba neteisingas pavadinimas. Placeholder’is naudoja font image pavadinimą iš config, be namespace.
Vietoj paveikslėlio tuščias langelis arba neteisingas simbolisPaketas nebuvo perkurtas arba žaidėjas turi seną paketą. Paleisk /iazip ir prisijunk iš naujo.
Kai kurie žaidėjai iš viso nemato paveikslėlioJie atsisakė serverio resursų paketo. Patikrink paketo hostingą ir kliento serverio nustatymus.
Paveikslėlis pasislinkęsPirmas poslinkis arba y_position neatitinka tavo PNG paraščių. Eksportuok iš naujo, o ne spėliok skaičius.
Paveikslėlis pilkas arba tamsesnisPrieš paveikslėlį trūksta &f.
/shop yra nežinoma komandaPridėjus meniu, serveris nebuvo perkrautas, arba meniu trūksta config.yml.
ItemsAdder atmeta font imagey_position didesnis už scale_ratio arba paveikslėlis didesnis nei 256×256.

Dažniausiai užduodami klausimai

Ar žaidėjams reikia ką nors atsisiųsti dėl savo GUI fono?

Taip, serverio resursų paketą, kurį sukuria ItemsAdder. Be jo pavadinime matosi placeholder’io kvadratėlis arba nieko. ItemsAdder gali paketą išsiųsti automatiškai, kai žaidėjai prisijungia.

Kodėl mano DeluxeMenus pavadinime %img_…% rodomas kaip tekstas?

Placeholder’is nepakeičiamas. Patikrink, ar įdiegtas PlaceholderAPI, ar ItemsAdder įkeltas ir ar pavadinimas po img_ tiksliai sutampa su font image pavadinimu tavo config.

Ar galiu naudoti tą patį foną meniu su mažiau eilučių?

Tik jei paveikslėlis atitinka eilučių skaičių. Trijų eilučių skrynia žemesnė už šešių eilučių, todėl jai reikia savo PNG ir savo scale_ratio. GUI kūrėjas eksportuoja tinkamą aukštį bet kuriam eilučių skaičiui.

Ar tai veikia be ItemsAdder?

Tas pats triukas veikia su Nexo arba Oraxen glyph’ais. Be jokio resursų paketo plugino vis tiek gali sukurti tvarkingą meniu su spalvotais stiklo langais, kurį GUI kūrėjas eksportuoja su parinktimi „Nėra“.

Šaltiniai

Patikrinta pagal oficialią dokumentaciją: