Πώς δουλεύει ένα texture GUI
Ένα chest menu δείχνει τον τίτλο του πάνω αριστερά. Ο τίτλος είναι κείμενο, και το κείμενο μπορεί να περιέχει χαρακτήρες από το resource pack του server. Το ItemsAdder μπορεί να μετατρέψει οποιοδήποτε PNG σε τέτοιον χαρακτήρα, που λέγεται font image. Βάλε ένα μεγάλο font image στον τίτλο και ο client θα το ζωγραφίσει πάνω από την οθόνη του chest.
Δύο ακόμα κομμάτια κάνουν τα πάντα να ευθυγραμμιστούν. Ένα αρνητικό offset μετακινεί τον κέρσορα αριστερά πριν από την εικόνα, ώστε η εικόνα να ξεκινά από την αριστερή άκρη του chest και όχι μετά την εσοχή του τίτλου. Το y_position του font image το μετακινεί πάνω ή κάτω μέχρι να καλύψει ολόκληρο το menu.
Τα slots μένουν κανονικά slots. Εκεί που η εικόνα σου δείχνει ένα κουμπί, το menu έχει ένα άδειο slot που πατιέται, με material: air και δικά του click actions.
Τι χρειάζεσαι
- DeluxeMenus και PlaceholderAPI σε έναν server Spigot ή Paper.
- ItemsAdder, που φτιάχνει το resource pack και δίνει τα placeholders
%img_…%. - Μια παράδοση του resource pack που δουλεύει, ώστε οι παίκτες να κατεβάζουν πραγματικά το pack (το ItemsAdder προσφέρει self-hosting και άλλες επιλογές hosting).
- Ένα PNG για φόντο. Το Minecraft δεν επιτρέπει font glyphs μεγαλύτερα από 256×256 pixels, οπότε η εικόνα πρέπει να χωράει σε αυτό.
Βήμα 1: Φτιάξε την εικόνα φόντου
Σχεδίασε το menu στο GUI Maker: διάλεξε σειρές, ένα θέμα ή preset και ζωγράφισε μεγάλα κουμπιά πάνω σε πολλά slots. Διάλεξε ItemsAdder ως export, γράψε το namespace σου (για παράδειγμα mymenus) και το όνομα του menu (για παράδειγμα shop).
Το PNG που εξάγεται έχει πλάτος 256 pixels. Το ύψος του εξαρτάται από τις σειρές, από 164 pixels για μία σειρά έως 254 pixels για έξι. Ο επιπλέον χώρος γύρω από το chest επιτρέπει σε πλαίσια και διακοσμητικά να βγαίνουν έξω από το κανονικό περίγραμμα του menu.
Βήμα 2: Δήλωσε το font image στο ItemsAdder
Αντέγραψε το PNG στο namespace σου και πρόσθεσε μια εγγραφή font_images. Αυτό εξάγει το GUI Maker για ένα menu με έξι σειρές:
info:
namespace: mymenus
font_images:
gui_shop:
path: gui/shop
show_in_gui: false
suggest_in_command: false
scale_ratio: 254
y_position: 45Η ίδια η εικόνα μπαίνει στο plugins/ItemsAdder/contents/mymenus/resourcepack/assets/mymenus/textures/gui/shop.png.
- Το
scale_ratioείναι το ύψος στο οποίο ζωγραφίζεται η εικόνα. Βάλε το πραγματικό ύψος του PNG σε pixels, ώστε να μην τεντωθεί τίποτα. - Το
y_positionμετακινεί την εικόνα κάθετα. Το ItemsAdder απαιτεί να είναι μικρότερο ή ίσο με τοscale_ratio, γιατί το παιχνίδι δεν επιτρέπει περισσότερο. - Το
show_in_gui: falseκρατά το φόντο έξω από τη λίστα emoji του ItemsAdder.
Βήμα 3: Βάλε την εικόνα στον τίτλο του menu στο DeluxeMenus
Το DeluxeMenus διαβάζει placeholders του PlaceholderAPI στο menu_title. Το ItemsAdder δίνει το %img_<name>% για την εικόνα και το %img_offset_<pixels>% για κενό χώρο, που μπορεί να είναι και αρνητικός.
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'- Το
&fστην αρχή κρατά την εικόνα στα πραγματικά της χρώματα. Χωρίς αυτό η εικόνα βάφεται με το χρώμα του τίτλου. - Το
%img_offset_-48%μετακινεί τον κέρσορα 48 pixels αριστερά πριν από την εικόνα. Το GUI Maker χρησιμοποιεί αυτή την τιμή για τον καμβά του: 8 pixels για την εσοχή του τίτλου του chest συν το περιθώριο των 40 pixels που προσθέτει σε κάθε πλευρά. - Το
%img_gui_shop%είναι το ίδιο το φόντο. - Το δεύτερο offset φέρνει τον κέρσορα πίσω, ώστε το
&8Shopνα γράφεται πάνω στην εικόνα, εκεί που ανήκει ένας τίτλος. Η τιμή του εξαρτάται από το πλάτος της εικόνας σου· το GUI Maker την υπολογίζει για σένα.
Αν «ψήσεις» τον τίτλο μέσα στην εικόνα στο GUI Maker, ο τίτλος τελειώνει μετά το placeholder του φόντου και δεν υπάρχει δεύτερο offset.
Βήμα 4: Δήλωσε το menu και ξαναφτιάξε το pack
Το DeluxeMenus φορτώνει μόνο τα menus που αναφέρονται στο config.yml του:
gui_menus:
shop:
file: shop.yml- Τρέξε
/iazip, ώστε το ItemsAdder να ξαναφτιάξει το resource pack με τη νέα εικόνα. - Τρέξε
/dm reload. Άνοιξε το menu μία φορά με/dm open shopγια να το ελέγξεις. - Το
register_command: trueδηλώνει το/shopως κανονική εντολή, αλλά μόνο όταν ξεκινά ο server. Κάνε restart τον server μία φορά αφού προσθέσεις ένα νέο menu. - Ξαναμπές, αποδέξου το resource pack και άνοιξε το menu.
Συχνά σφάλματα και λύσεις
| Τι βλέπεις | Αιτία και λύση |
|---|---|
Ο τίτλος δείχνει το %img_gui_shop% ως κείμενο | Λείπει το PlaceholderAPI ή το όνομα είναι λάθος. Το placeholder χρησιμοποιεί το όνομα του font image από το config, χωρίς το namespace. |
| Ένα άδειο κουτάκι ή λάθος σύμβολο αντί για την εικόνα | Το pack δεν ξαναφτιάχτηκε ή ο παίκτης έχει παλιό pack. Τρέξε /iazip και ξαναμπές. |
| Καθόλου εικόνα για κάποιους παίκτες | Απέρριψαν το resource pack του server. Έλεγξε το hosting του pack και τις ρυθμίσεις server στον client. |
| Η εικόνα είναι μετατοπισμένη | Το πρώτο offset ή το y_position δεν ταιριάζει με τα περιθώρια του PNG σου. Κάνε ξανά export αντί να μαντεύεις νούμερα. |
| Η εικόνα είναι γκρι ή πιο σκούρα | Λείπει το &f μπροστά από την εικόνα. |
Το /shop είναι άγνωστη εντολή | Ο server δεν έκανε restart αφού προστέθηκε το menu, ή το menu λείπει από το config.yml. |
| Το ItemsAdder απορρίπτει το font image | Το y_position είναι μεγαλύτερο από το scale_ratio, ή η εικόνα είναι μεγαλύτερη από 256×256. |