LogoyStore

Cosméticos

Aprenda a criar e configurar cosméticos personalizados.

O ID do cosmético é o nome do arquivo sem .yml.

Exemplo: cosmetics/wings/phoenix_wings.yml → ID = phoenix_wings

Pastas por categoria (recomendado):

  • cosmetics/asas/ — type: WINGS
  • cosmetics/auras/ — type: AURA
  • cosmetics/trails/ — type: TRAIL
  • cosmetics/pets/ — type: PET
  • cosmetics/chapeus/ — type: HAT
  • cosmetics/efeitos/ — type: EFFECT
  • cosmetics/armor/ — type: ARMOR
  • cosmetics/mounts/ — type: MOUNT
  • cosmetics/gadgets/ — type: GADGET

Depois de criar ou editar, use /cosmeticos reload. Para dar ao jogador: /cosmeticos give <item/direto> <jogador> <id>.

Exemplo completo de configuração

Aqui está um exemplo completo de como criar um cosmético de asas:

display-name: '&6Asas de Fênix'
description: 'Asas flamejantes de uma fênix lendária.'
type: WINGS
rarity: LEGENDARY
permission: 'ycosmeticos.cosmetic.phoenix_wings'
enabled: true
icon:
  material: 2dfe58dca44688809a44c27367fcc2880897792af8838f93f2b585afcbe8f137
  name: '&6Asas de Fênix'
  lore:
    - ''
    - ' &7Asas de fogo que batem'
    - ' &7conforme você se move.'
    - ''
item:
  material: 2dfe58dca44688809a44c27367fcc2880897792af8838f93f2b585afcbe8f137
  name: '&e{name}'
  lore:
    - ''
    - ' &7{description}'
    - ''
    - ' &7Raridade: {rarity}'
    - ''
    - ' &eClique com o direito para ativar'
    - ''
animation:
  type: FLOATING
  speed: 1.2
  height: 0.12
particles:
  enabled: true
  type: FLAME
  count: 1
  extra: 0.0
  offset-x: 0.0
  offset-y: 0.0
  offset-z: 0.0
  shape: WING
  radius: 1.35

icons:
  equipped:
    material: '2dfe58dca44688809a44c27367fcc2880897792af8838f93f2b585afcbe8f137'
    name: '&a{name}'
    lore:
      - ''
      - ' &7{description}'
      - ''
      - ' &7Raridade: {rarity}'
      - ' &aEquipado'
      - ''
      - ' &eClique para desequipar'
      - ''
  owned:
    material: '2dfe58dca44688809a44c27367fcc2880897792af8838f93f2b585afcbe8f137'
    name: '&e{name}'
    lore:
      - ''
      - ' &7{description}'
      - ''
      - ' &7Raridade: {rarity}'
      - ' &aPossuído'
      - ''
      - ' &eClique para equipar'
      - ''
  locked:
    material: BARRIER
    name: '&c{name}'
    lore:
      - ''
      - ' &7{description}'
      - ''
      - ' &7Raridade: {rarity}'
      - ' &cBloqueado'
      - ''
      - ' &7Você ainda não possui este cosmético.'
      - ''

Campos principais

display-name

Nome colorido do cosmético. Aceita & e hex.

Exemplo:

display-name: '&6Asas de Fênix'

description

Descrição curta. Usada no placeholder {description} dos ícones.

Exemplo:

description: 'Asas flamejantes de uma fênix lendária.'

type

ID da categoria em config.yml (seção categories:). Também aceita o behavior: WINGS, AURA, TRAIL, PET, HAT, EFFECT, ARMOR, MOUNT, GADGET.

Exemplo:

type: WINGS
# ou
type: asas

behavior:

  • WINGS — asas de partículas atrás do jogador
  • AURA — partículas ao redor do corpo
  • TRAIL — rastro só enquanto anda
  • PET — armor stand invisível + head orbitando
  • HAT — anel/partículas na cabeça (halo)
  • EFFECT — explosão ao entrar/teleportar
  • ARMOR — armaduras customizadas no personagem
  • MOUNT — animais para montar e cavalgar
  • GADGET — armas visuais: partículas, TNT e outros efeitos

rarity

ID da raridade em config.yml (seção rarities:). Crie quantas quiser.

Exemplo:

rarity: legendary
rarities:
  common: '&7Comum'
  legendary: '&6Lendário'
  seasonal: '&bSazonal'

No YAML do cosmético use a chave: rarity: seasonal.

permission

Se o jogador tiver essa permissão, pode usar sem /give. Admin (ycosmeticos.admin) sempre pode. Se give-all-by-default: true na config.yml, todos podem.

Exemplo:

permission: 'ycosmeticos.cosmetic.phoenix_wings'

enabled

false = não carrega / não aparece no menu.

Exemplo:

enabled: true

icon (menu — fallback)

Usado se icons.equipped / owned / locked não existirem. Formato SetupItem (material, name, lore, glow, skull, etc.):

Exemplo:

icon:
  material: BLAZE_POWDER
  name: '&6Asas de Fênix'
  lore:
    - ''
    - ' &7Texto.'
    - ''

icons (obrigatório para o menu por estado)

Cada cosmético deve ter os 3 estados.

Placeholders: {name} {description} {rarity} {type} {equipped} {owned}

equipped

Já está usando.

Exemplo:

icons:
  equipped:
    material: 'BLAZE_POWDER'
    name: '&a{name}'
    lore:
      - ''
      - ' &7{description}'
      - ''
      - ' &7Raridade: {rarity}'
      - ' &aEquipado'
      - ''
      - ' &eClique para desequipar'
      - ''

owned

Possui, mas não está equipado.

Exemplo:

icons:
  owned:
    material: 'BLAZE_POWDER'
    name: '&e{name}'
    lore:
      - ''
      - ' &7{description}'
      - ''
      - ' &7Raridade: {rarity}'
      - ' &aPossuído'
      - ''
      - ' &eClique para equipar'
      - ''

locked

Não possui.

Exemplo:

icons:
  locked:
    material: BARRIER
    name: '&c{name}'
    lore:
      - ''
      - ' &7{description}'
      - ''
      - ' &7Raridade: {rarity}'
      - ' &cBloqueado'
      - ''
      - ' &7Você ainda não possui este cosmético.'
      - ''

animation

animation:
  type: FLOATING
  speed: 1.2
  height: 0.15

type

TipoDescrição
NONESem movimento extra
FLOATINGSobe/desce (use em asas)
BOUNCEIgual FLOATING
ORBITGira em volta
ROTATEGira o formato (círculo/halo)
PULSEAumenta/diminui o raio
WAVEOnda
FOLLOWSegue/orbita (pets)

speed

Velocidade da animação (1.0 = normal).

height

Amplitude do sobe/desce (FLOATING / BOUNCE / FOLLOW).

particles

particles:
  enabled: true
  type: FLAME
  count: 1
  extra: 0.0
  offset-x: 0.0
  offset-y: 0.0
  offset-z: 0.0
  shape: WING
  radius: 1.35
CampoDescrição
enabledLiga/desliga partículas
typeNome da partícula
countQuantidade por ponto
extraVelocidade extra da partícula (0 = parada no lugar)
offset-*Espalhamento (0 = no ponto exato; trail usa 0.02)
shapeFormato
radiusTamanho do formato

shape

ShapeDescrição
CIRCLEAnel na altura do peito (auras)
ORBITDois pontos girando
SPIRALHélice subindo
WINGSilhueta de asas nas costas (WINGS)
BURSTExplosão aleatória (EFFECT)
HEARTCoração na frente
WAVEOnda (não use em TRAIL; trail tem rastro próprio)
HALOAnel acima da cabeça (HAT)
FOLLOWÓrbita (pets também usam o armor stand)

TRAIL ignora o shape e sempre deixa rastro nos pés, só andando. PET usa armor stand + partículas no ponto do pet. EFFECT dispara uma vez no join/teleporte.

head (só PET)

Head do armor stand invisível. SetupItem.setupMenuItem.

Exemplo:

head:
  material: 341c0c31b162efd64f687fbbf5378f6283866eee81affa3d0ba3fefcd0cf1b07
  name: '&aPet Slime'

Padrão: STONE se não definir. Pode ser qualquer bloco/item (DIAMOND_BLOCK, SLIME_BLOCK, SKULL_ITEM:3, etc.).

Partículas (particles.type)

Nomes comuns (maiúsculo ou minúsculo):

TipoDescrição
FLAMEFogo
SNOWFLAKEFlocos (1.8 vira brilho)
HEARTCorações
NOTENotas
PORTALPortal / ender
CRITCrit
ENCHANTEncantamento (ENCHANTMENT_TABLE também vale)
END_RODEnd rod / halo (1.8 vira fireworks)
CLOUD / SMOKEFumaça
LAVALava
VILLAGER_HAPPYBrilho verde
FIREWORKS_SPARKFaíscas
REDSTONEMapeado para flame
SLIMEMapeado para villager_happy

Outros nomes PacketEvents também funcionam (flame, heart, portal, witch, happy_villager, firework, snowflake, end_rod, ...).

item (give item — ativável)

Item físico enviado com /cosmeticos give item <jogador> <id>. O jogador clica com o direito para ativar e receber o cosmético. Formato SetupItem. Placeholders: {name} {description} {rarity}

Exemplo:

item:
  material: BLAZE_POWDER
  name: '&e{name}'
  lore:
    - ''
    - ' &7{description}'
    - ''
    - ' &7Raridade: {rarity}'
    - ''
    - ' &eClique com o direito para ativar'
    - ''

Se item: não existir, usa o icon: como fallback.

Exemplo PET

type: PET
head:
  material: STONE
animation:
  type: FOLLOW
  speed: 1.0
  height: 0.2
particles:
  type: SLIME
  shape: FOLLOW
  radius: 1.15

armor (só ARMOR)

Peças da armadura e cor. Exemplo (nether_suit):

type: ARMOR
armor:
  color: '140:20:20'
  helmet:
    material: LEATHER_HELMET
    name: '&cElmo do Nether'
    lore:
      - ''
      - ' &7Peça do Traje do Nether.'
      - ''
  chestplate:
    material: LEATHER_CHESTPLATE
    name: '&cPeitoral do Nether'
    lore:
      - ''
      - ' &7Peça do Traje do Nether.'
      - ''
  leggings:
    material: LEATHER_LEGGINGS
    name: '&cCalças do Nether'
    lore:
      - ''
      - ' &7Peça do Traje do Nether.'
      - ''
  boots:
    material: LEATHER_BOOTS
    name: '&cBotas do Nether'
    lore:
      - ''
      - ' &7Peça do Traje do Nether.'
      - ''
particles:
  enabled: false
animation:
  type: NONE

mount (só MOUNT)

Entidade montável. Exemplo (horse_mount):

type: MOUNT
mount:
  entity: HORSE
  variant: HORSE
  color: BROWN
  style: NONE
  baby: false
  jump: 0.8
particles:
  enabled: false
animation:
  type: NONE

gadget (só GADGET)

Ação visual no clique. Exemplo (particle_blaster):

type: GADGET
gadget:
  action: BEAM
  cooldown: 2.0
  range: 20.0
  speed: 1.0
particles:
  enabled: false
  type: CRIT
  count: 2
  extra: 0.0
  offset-x: 0.05
  offset-y: 0.05
  offset-z: 0.05
animation:
  type: NONE

tnt_cannon usa action: TNT e também fuse-ticks:

gadget:
  action: TNT
  cooldown: 4.0
  range: 22.0
  speed: 1.0
  fuse-ticks: 28

Criando seu primeiro cosmético

Crie o arquivo

Crie um novo arquivo na pasta plugins/yCosmeticos/cosmetics/ (ex: cosmetics/asas/minhas_asas.yml). O ID será minhas_asas.

Configure os campos principais

Defina nome, descrição, tipo, raridade e permissão:

display-name: '&6Asas de Fênix'
description: 'Asas flamejantes de uma fênix lendária.'
type: WINGS
rarity: legendary
permission: 'ycosmeticos.cosmetic.minhas_asas'
enabled: true

Configure os ícones

Adicione os 3 estados do menu (equipped, owned e locked).

Configure animação e partículas

Escolha o type da animação e o shape das partículas de acordo com o behavior.

Recarregue

Use /cosmeticos reload e dê o cosmético com /cosmeticos give direto <jogador> minhas_asas.

Nesta página