Saltar para o conteúdo

Fundo de GUI no DeluxeMenus com Nexo ou Oraxen

Os ecrãs de menu personalizados no Minecraft são um truque: a imagem de fundo é um único carácter no título do menu. O Nexo e o Oraxen chamam a estes caracteres glyphs. Este guia mostra a config dos glyphs para os dois plugins, os placeholders de shift que põem a imagem no sítio e como ligar tudo ao DeluxeMenus.

Atualizado:

Como um glyph se torna o fundo de um menu

Um menu de baú escreve o título no canto superior esquerdo, e esse título pode conter caracteres do resource pack do servidor. Um glyph é um carácter destes, desenhado a partir do teu PNG. Coloca um glyph grande no título e o cliente pinta-o por cima de todo o ecrã do baú.

Dois valores definem a posição. Um shift negativo move o cursor para a esquerda antes do glyph, para que a imagem comece na borda do baú e não no recuo do título. O ascent do glyph move-o na vertical até cobrir o menu. Os slots continuam a ser slots a sério: onde a imagem mostra um botão, o menu tem um slot vazio com material: air que continua a executar ações ao clicar.

Se usares o ItemsAdder, lê a versão deste guia para o ItemsAdder. A ideia é a mesma; só mudam a config e os nomes dos placeholders.

O que precisas

  • DeluxeMenus e PlaceholderAPI no teu servidor. O DeluxeMenus interpreta placeholders do PlaceholderAPI em menu_title.
  • Nexo ou Oraxen, que constroem o resource pack e fornecem os placeholders de glyph e de shift.
  • Para o Oraxen: os glyphs em títulos de inventário funcionam nativamente em Paper 1.21.2 ou mais recente. Servidores mais antigos precisam do PacketEvents, segundo a documentação do Oraxen.
  • Um PNG de fundo com no máximo 256×256 píxeis. Texturas maiores não são permitidas num único glyph.

Passo 1: Desenha o fundo

Cria o menu no criador de GUI: escolhe as linhas, um preset ou tema e desenha botões grandes sobre vários slots. Na exportação, escolhe Nexo ou Oraxen, define um namespace (por exemplo mymenus) e um nome de menu (por exemplo shop).

O PNG tem 256 píxeis de largura e entre 164 píxeis (uma linha) e 254 píxeis (seis linhas) de altura. A margem à volta do baú dá espaço às molduras para saírem do contorno normal do menu.

Passo 2a: Config do glyph no Nexo

O Nexo lê glyphs de qualquer ficheiro YAML na sua pasta de glyphs. A textura escreve-se como namespace:path, aqui o PNG em 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 é a altura desenhada. Usa a altura real do PNG em píxeis.
  • ascent move o glyph para cima. O Nexo diz que a altura nunca pode ser menor do que o ascent.
  • Os placeholders são %nexo_gui_shop% para o glyph e %nexo_shift_<pixels>% para espaço, que pode ser negativo.

Passo 2b: Config do glyph no Oraxen

O Oraxen lê glyphs de plugins/Oraxen/glyphs/. O caminho da textura é relativo a pack/textures/, por isso o PNG vai para plugins/Oraxen/pack/textures/gui/shop.png:

plugins/Oraxen/glyphs/gui_shop.yml
gui_shop:
  texture: gui/shop
  ascent: 45
  height: 254
  • O Oraxen exige que height seja maior ou igual a ascent; é o Minecraft que o impõe.
  • O placeholder do glyph é %oraxen_gui_shop%. Os shifts têm dois placeholders: %oraxen_shift_<pixels>% move para a direita e %oraxen_neg_shift_<pixels>% move para a esquerda. Cada um suporta até 2047 píxeis.
  • Existe uma chave char para escolheres tu o carácter, mas é opcional.

Passo 3: O título do menu no DeluxeMenus

O título junta a cor, um shift para a esquerda, o glyph, um shift de volta e o texto do título. Para o 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'

Para o Oraxen só muda o título, porque os shifts para a esquerda têm o seu próprio placeholder:

plugins/DeluxeMenus/gui_menus/shop.yml
menu_title: '&f%oraxen_neg_shift_48%%oraxen_gui_shop%%oraxen_neg_shift_201%&8Shop'
  1. &f mantém a imagem nas suas próprias cores em vez de a tingir com a cor do título.
  2. O primeiro shift move o cursor 48 píxeis para a esquerda: o criador de GUI conta 8 píxeis do recuo do título do baú mais a margem de 40 píxeis da sua tela.
  3. O segundo shift traz o cursor de volta para que &8Shop fique por cima da imagem. O valor depende da largura da tua imagem; o criador de GUI calcula-o.

O Nexo e o Oraxen também têm tags MiniMessage como <glyph:gui_shop> e <shift:-48>. O criador de GUI escreve a forma %…%, porque o DeluxeMenus documenta placeholders do PlaceholderAPI para menu_title.

Passo 4: Regista o menu e recarrega

plugins/DeluxeMenus/config.yml
gui_menus:
  shop:
    file: shop.yml
  1. Reconstrói o pack: /nexo reload (ou /nexo reload pack) no Nexo, /oraxen reload all no Oraxen.
  2. Executa /dm reload e testa com /dm open shop.
  3. Reinicia o servidor uma vez. O DeluxeMenus só regista /shop a partir de register_command: true ao arrancar.
  4. Volta a entrar para receberes o novo resource pack.

Erros comuns e soluções

O que vêsCausa e solução
%nexo_gui_shop% ou %oraxen_gui_shop% como textoFalta o PlaceholderAPI, ou o ID do glyph no placeholder não corresponde à chave no ficheiro do glyph.
Uma caixa vazia ou um símbolo erradoO pack não foi reconstruído ou o jogador tem o pack antigo. Recarrega o plugin e volta a entrar.
O glyph do Oraxen só falta nos títulos dos menusO servidor é mais antigo do que Paper 1.21.2 e o PacketEvents não está instalado.
A imagem está desalinhadaO shift ou o ascent não correspondem ao PNG. Exporta outra vez a partir do mesmo design.
A imagem está mais escura do que o PNGFalta o &f antes do primeiro placeholder.
O glyph é rejeitado ao carregarO ascent é maior do que o height, ou o PNG é maior do que 256×256.
/shop não faz nadaO menu não está no config.yml, ou o servidor não foi reiniciado depois de o adicionares.

Perguntas frequentes

A configuração é diferente no Nexo e no Oraxen?

Só nos detalhes. O Nexo escreve a textura como namespace:path e usa %nexo_shift_N% com números negativos. O Oraxen aceita um caminho relativo a pack/textures/ e tem %oraxen_neg_shift_N% para mover para a esquerda.

Porque é que o meu glyph não aparece no título do DeluxeMenus?

Normalmente o placeholder não é substituído (falta o PlaceholderAPI ou o ID do glyph está errado), o resource pack não foi reconstruído ou o jogador ainda não carregou o novo pack. Com o Oraxen em servidores mais antigos do que Paper 1.21.2, o PacketEvents é necessário para os títulos.

De que comando de reload preciso?

No Nexo, /nexo reload, que recarrega tudo, ou /nexo reload pack só para o pack. No Oraxen, /oraxen reload all. Depois, /dm reload para o ficheiro do menu.

Posso usar uma textura maior do que 256×256 píxeis?

Não num único glyph. O Minecraft limita os glyphs a 256×256 píxeis. Um fundo de menu do criador de GUI fica dentro desse limite para qualquer número de linhas.

Fontes

Verificado com a documentação oficial: