Πώς ένα 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:
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:
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για να διαλέξεις μόνος σου τον χαρακτήρα, αλλά είναι προαιρετικό.
Βήμα 4: Δήλωσε το menu και κάνε reload
gui_menus:
shop:
file: shop.yml- Ξαναφτιάξε το pack:
/nexo reload(ή/nexo reload pack) για Nexo,/oraxen reload allγια Oraxen. - Τρέξε
/dm reloadκαι δοκίμασε με/dm open shop. - Κάνε restart τον server μία φορά. Το DeluxeMenus δηλώνει το
/shopαπό τοregister_command: trueμόνο κατά την εκκίνηση. - Ξαναμπές για να πάρεις το νέο 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 αφού το πρόσθεσες. |