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

Δικό σου φόντο GUI στο DeluxeMenus με ItemsAdder

Το Minecraft δεν έχει ρύθμιση για εικόνα φόντου σε ένα menu, κι όμως πολλοί servers έχουν chest menus που μοιάζουν με custom οθόνες. Το κόλπο είναι ένα font image στον τίτλο του menu: το ItemsAdder μετατρέπει το PNG σου σε χαρακτήρα, και αρνητικά offsets μετακινούν αυτόν τον χαρακτήρα πάνω από το chest. Αυτός ο οδηγός το στήνει βήμα βήμα για το DeluxeMenus.

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

Πώς δουλεύει ένα 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 με έξι σειρές:

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

Η ίδια η εικόνα μπαίνει στο 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>% για κενό χώρο, που μπορεί να είναι και αρνητικός.

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 στην αρχή κρατά την εικόνα στα πραγματικά της χρώματα. Χωρίς αυτό η εικόνα βάφεται με το χρώμα του τίτλου.
  2. Το %img_offset_-48% μετακινεί τον κέρσορα 48 pixels αριστερά πριν από την εικόνα. Το GUI Maker χρησιμοποιεί αυτή την τιμή για τον καμβά του: 8 pixels για την εσοχή του τίτλου του chest συν το περιθώριο των 40 pixels που προσθέτει σε κάθε πλευρά.
  3. Το %img_gui_shop% είναι το ίδιο το φόντο.
  4. Το δεύτερο offset φέρνει τον κέρσορα πίσω, ώστε το &8Shop να γράφεται πάνω στην εικόνα, εκεί που ανήκει ένας τίτλος. Η τιμή του εξαρτάται από το πλάτος της εικόνας σου· το GUI Maker την υπολογίζει για σένα.

Αν «ψήσεις» τον τίτλο μέσα στην εικόνα στο GUI Maker, ο τίτλος τελειώνει μετά το placeholder του φόντου και δεν υπάρχει δεύτερο offset.

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

Το DeluxeMenus φορτώνει μόνο τα menus που αναφέρονται στο config.yml του:

plugins/DeluxeMenus/config.yml
gui_menus:
  shop:
    file: shop.yml
  1. Τρέξε /iazip, ώστε το ItemsAdder να ξαναφτιάξει το resource pack με τη νέα εικόνα.
  2. Τρέξε /dm reload. Άνοιξε το menu μία φορά με /dm open shop για να το ελέγξεις.
  3. Το register_command: true δηλώνει το /shop ως κανονική εντολή, αλλά μόνο όταν ξεκινά ο server. Κάνε restart τον server μία φορά αφού προσθέσεις ένα νέο menu.
  4. Ξαναμπές, αποδέξου το 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.

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

Πρέπει οι παίκτες να κατεβάσουν κάτι για ένα custom φόντο GUI;

Ναι, το resource pack του server που φτιάχνει το ItemsAdder. Χωρίς αυτό ο τίτλος δείχνει ένα τετράγωνο placeholder ή τίποτα. Το ItemsAdder μπορεί να στέλνει το pack αυτόματα όταν μπαίνουν οι παίκτες.

Γιατί ο τίτλος στο DeluxeMenus δείχνει το %img_…% ως κείμενο;

Το placeholder δεν αντικαθίσταται. Έλεγξε ότι το PlaceholderAPI είναι εγκατεστημένο, ότι το ItemsAdder έχει φορτώσει και ότι το όνομα μετά το img_ είναι ακριβώς το όνομα του font image από το config σου.

Μπορώ να χρησιμοποιήσω το ίδιο φόντο για menus με λιγότερες σειρές;

Μόνο αν η εικόνα ταιριάζει με τις σειρές. Ένα chest με τρεις σειρές είναι πιο κοντό από ένα με έξι, οπότε χρειάζεται δικό του PNG και δικό του scale_ratio. Το GUI Maker εξάγει το σωστό ύψος για κάθε αριθμό σειρών.

Δουλεύει αυτό χωρίς ItemsAdder;

Το ίδιο κόλπο δουλεύει με glyphs του Nexo ή του Oraxen. Χωρίς κανένα plugin για resource pack μπορείς πάλι να φτιάξεις ένα καθαρό menu με χρωματιστά glass panes, που το GUI Maker εξάγει με την επιλογή «None».

Πηγές

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