Μετάβαση στο περιεχόμενο

Φόντο GUI στο DeluxeMenus με Nexo ή Oraxen

Οι custom οθόνες menu στο Minecraft είναι ένα κόλπο: η εικόνα φόντου είναι ένας μόνο χαρακτήρας στον τίτλο του menu. Το Nexo και το Oraxen λένε αυτούς τους χαρακτήρες glyphs. Αυτός ο οδηγός δείχνει το config των glyphs και για τα δύο plugins, τα shift placeholders που φέρνουν την εικόνα στη θέση της, και πώς τα συνδέεις όλα με το DeluxeMenus.

Ενημερώθηκε:

Πώς ένα glyph γίνεται φόντο menu

Ένα chest menu γράφει τον τίτλο του πάνω αριστερά, και αυτός ο τίτλος μπορεί να περιέχει χαρακτήρες από το resource pack του server. Ένα glyph είναι τέτοιος χαρακτήρας, ζωγραφισμένος από το PNG σου. Βάλε ένα μεγάλο glyph στον τίτλο και ο client θα το ζωγραφίσει πάνω από όλη την οθόνη του chest.

Δύο τιμές το τοποθετούν. Ένα αρνητικό shift μετακινεί τον κέρσορα αριστερά πριν από το glyph, ώστε η εικόνα να ξεκινά από την άκρη του chest και όχι από την εσοχή του τίτλου. Το ascent του glyph το μετακινεί κάθετα μέχρι να καλύψει το menu. Τα slots μένουν κανονικά slots: εκεί που η εικόνα δείχνει ένα κουμπί, το menu έχει ένα άδειο slot με material: air που εκτελεί κανονικά click actions.

Αν χρησιμοποιείς ItemsAdder, διάβασε την έκδοση αυτού του οδηγού για ItemsAdder. Η ιδέα είναι ίδια, αλλάζουν μόνο το config και τα ονόματα των placeholders.

Τι χρειάζεσαι

  • DeluxeMenus και PlaceholderAPI στον server σου. Το DeluxeMenus διαβάζει placeholders του PlaceholderAPI στο menu_title.
  • Nexo ή Oraxen, που φτιάχνουν το resource pack και δίνουν τα placeholders για glyphs και shifts.
  • Για Oraxen: τα glyphs σε τίτλους inventory δουλεύουν native σε Paper 1.21.2 ή νεότερο. Οι παλιότεροι servers χρειάζονται PacketEvents, σύμφωνα με τα docs του Oraxen.
  • Ένα PNG για φόντο έως 256×256 pixels. Μεγαλύτερα textures δεν επιτρέπονται για ένα μόνο glyph.

Βήμα 1: Σχεδίασε το φόντο

Φτιάξε το menu στο GUI Maker: διάλεξε τις σειρές, ένα preset ή θέμα και ζωγράφισε μεγάλα κουμπιά πάνω σε πολλά slots. Στο export διάλεξε Nexo ή Oraxen, βάλε ένα namespace (για παράδειγμα mymenus) και ένα όνομα menu (για παράδειγμα shop).

Το PNG έχει πλάτος 256 pixels και ύψος από 164 pixels (μία σειρά) έως 254 pixels (έξι σειρές). Το περιθώριο γύρω από το chest δίνει χώρο σε πλαίσια να βγαίνουν έξω από το κανονικό περίγραμμα του menu.

Βήμα 2a: Config glyph για Nexo

Το Nexo διαβάζει glyphs από οποιοδήποτε αρχείο YAML στον φάκελο glyphs. Το texture γράφεται ως namespace:path, εδώ το PNG στο plugins/Nexo/pack/assets/mymenus/textures/gui/shop.png:

plugins/Nexo/glyphs/gui_shop.yml
gui_shop:
  texture: mymenus:gui/shop
  ascent: 45
  height: 254
  • Το height είναι το ύψος με το οποίο ζωγραφίζεται. Βάλε το πραγματικό ύψος του PNG σε pixels.
  • Το ascent ανεβάζει το glyph. Το Nexo λέει ότι το height δεν πρέπει ποτέ να είναι μικρότερο από το ascent.
  • Τα placeholders είναι %nexo_gui_shop% για το glyph και %nexo_shift_<pixels>% για κενό χώρο, που μπορεί να είναι αρνητικός.

Βήμα 2b: Config glyph για Oraxen

Το Oraxen διαβάζει glyphs από το plugins/Oraxen/glyphs/. Η διαδρομή του texture είναι σχετική με το pack/textures/, οπότε το PNG μπαίνει στο plugins/Oraxen/pack/textures/gui/shop.png:

plugins/Oraxen/glyphs/gui_shop.yml
gui_shop:
  texture: gui/shop
  ascent: 45
  height: 254
  • Το Oraxen απαιτεί το height να είναι μεγαλύτερο ή ίσο με το ascent· το επιβάλλει το Minecraft.
  • Το placeholder του glyph είναι %oraxen_gui_shop%. Για τα shifts υπάρχουν δύο placeholders: το %oraxen_shift_<pixels>% μετακινεί δεξιά, το %oraxen_neg_shift_<pixels>% αριστερά. Το καθένα υποστηρίζει έως 2047 pixels.
  • Υπάρχει και ένα key char για να διαλέξεις μόνος σου τον χαρακτήρα, αλλά είναι προαιρετικό.

Βήμα 3: Ο τίτλος του menu στο DeluxeMenus

Ο τίτλος συνδυάζει χρώμα, ένα shift αριστερά, το glyph, ένα shift πίσω και το κείμενο του τίτλου. Για Nexo:

plugins/DeluxeMenus/gui_menus/shop.yml
menu_title: '&f%nexo_shift_-48%%nexo_gui_shop%%nexo_shift_-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'

Για Oraxen αλλάζει μόνο ο τίτλος, γιατί τα shifts προς τα αριστερά έχουν δικό τους placeholder:

plugins/DeluxeMenus/gui_menus/shop.yml
menu_title: '&f%oraxen_neg_shift_48%%oraxen_gui_shop%%oraxen_neg_shift_201%&8Shop'
  1. Το &f κρατά την εικόνα στα δικά της χρώματα αντί να τη βάφει με το χρώμα του τίτλου.
  2. Το πρώτο shift μετακινεί τον κέρσορα 48 pixels αριστερά: το GUI Maker μετρά 8 pixels για την εσοχή του τίτλου του chest συν το περιθώριο 40 pixels του καμβά του.
  3. Το δεύτερο shift φέρνει τον κέρσορα πίσω, ώστε το &8Shop να κάθεται πάνω στην εικόνα. Η τιμή του εξαρτάται από το πλάτος της εικόνας σου· το GUI Maker την υπολογίζει.

Το Nexo και το Oraxen έχουν και MiniMessage tags όπως <glyph:gui_shop> και <shift:-48>. Το GUI Maker γράφει τη μορφή %…%, γιατί το DeluxeMenus τεκμηριώνει placeholders του PlaceholderAPI για το menu_title.

Βήμα 4: Δήλωσε το menu και κάνε reload

plugins/DeluxeMenus/config.yml
gui_menus:
  shop:
    file: shop.yml
  1. Ξαναφτιάξε το pack: /nexo reload (ή /nexo reload pack) για Nexo, /oraxen reload all για Oraxen.
  2. Τρέξε /dm reload και δοκίμασε με /dm open shop.
  3. Κάνε restart τον server μία φορά. Το DeluxeMenus δηλώνει το /shop από το register_command: true μόνο κατά την εκκίνηση.
  4. Ξαναμπές για να πάρεις το νέο resource pack.

Συχνά σφάλματα και λύσεις

Τι βλέπειςΑιτία και λύση
Το %nexo_gui_shop% ή το %oraxen_gui_shop% ως κείμενοΛείπει το PlaceholderAPI, ή το ID του glyph στο placeholder δεν ταιριάζει με το key στο αρχείο του glyph.
Ένα άδειο κουτάκι ή λάθος σύμβολοΤο pack δεν ξαναφτιάχτηκε ή ο παίκτης έχει το παλιό pack. Κάνε reload το plugin και ξαναμπές.
Το glyph του Oraxen λείπει μόνο στους τίτλους menuΟ server είναι παλιότερος από Paper 1.21.2 και το PacketEvents δεν είναι εγκατεστημένο.
Η εικόνα είναι μετατοπισμένηΤο shift ή το ascent δεν ταιριάζει με το PNG. Κάνε ξανά export από το ίδιο design.
Η εικόνα είναι πιο σκούρα από το PNGΛείπει το &f πριν από το πρώτο placeholder.
Το glyph απορρίπτεται στο φόρτωμαΤο ascent είναι μεγαλύτερο από το height, ή το PNG είναι μεγαλύτερο από 256×256.
Το /shop δεν κάνει τίποταΤο menu δεν είναι στο config.yml, ή ο server δεν έκανε restart αφού το πρόσθεσες.

Συχνές ερωτήσεις

Διαφέρει το setup για Nexo και Oraxen;

Μόνο στις λεπτομέρειες. Το Nexo γράφει το texture ως namespace:path και χρησιμοποιεί %nexo_shift_N% με αρνητικούς αριθμούς. Το Oraxen παίρνει διαδρομή σχετική με το pack/textures/ και έχει το %oraxen_neg_shift_N% για μετακίνηση αριστερά.

Γιατί το glyph μου δεν εμφανίζεται στον τίτλο του DeluxeMenus;

Συνήθως το placeholder δεν αντικαθίσταται (λείπει το PlaceholderAPI ή το ID του glyph είναι λάθος), το resource pack δεν ξαναφτιάχτηκε, ή ο παίκτης δεν έχει φορτώσει το νέο pack. Με Oraxen σε servers παλιότερους από Paper 1.21.2, χρειάζεται PacketEvents για τους τίτλους.

Ποια εντολή reload χρειάζομαι;

Για Nexo το /nexo reload, που τα ξαναφορτώνει όλα, ή το /nexo reload pack μόνο για το pack. Για Oraxen το /oraxen reload all. Μετά το /dm reload για το αρχείο του menu.

Μπορώ να χρησιμοποιήσω texture μεγαλύτερο από 256×256 pixels;

Όχι ως ένα glyph. Το Minecraft περιορίζει τα glyphs στα 256×256 pixels. Ένα φόντο menu από το GUI Maker μένει μέσα σε αυτό το όριο για κάθε αριθμό σειρών.

Πηγές

Ελέγχθηκε με βάση την επίσημη τεκμηρίωση: