LogoyStore

Benefícios

Configure os benefícios concedidos à facção proprietária de cada planeta.

Exemplo completo de configuração

Aqui está um exemplo de como configurar os benefícios:

benefits:
  economy:
    display-name: '&6Bônus de Economia'
    description:
      - '&7Membros da facção dona recebem'
      - '&7bônus em vendas e mineração.'
    value: 10.0
    apply-to:
      - 'yMinas'
      - 'yMinasPackets'
      - 'yMinasPv'
      - 'yArmazem'
      - 'yVender'
      - 'yChestShop'
      - 'ySpawners'
      - 'ySpawnersV2'
    commands-on-capture: []
    item:
      material: 'GOLD_INGOT'
      name: '{benefit}'
      lore:
        - ''
        - '{description}'
        - ''
        - ' &fBônus: &e+{value}%'
        - ''
  xp:
    display-name: '&aBônus de XP'
    description:
      - '&7Membros da facção dona recebem'
      - '&7bônus de experiência (ySkills).'
    value: 15.0
    apply-to:
      - 'ySkills'
    commands-on-capture: []
    item:
      material: 'EXP_BOTTLE'
      name: '{benefit}'
      lore:
        - ''
        - '{description}'
        - ''
        - ' &fBônus: &e+{value}%'
        - ''
  farm:
    display-name: '&eBônus de Farms'
    description:
      - '&7Aumenta ganhos de plantações'
      - '&7e armazém da facção dona.'
    value: 20.0
    apply-to:
      - 'yPlantacoes'
      - 'yArmazem'
      - 'yCampo'
    commands-on-capture: []
    item:
      material: 'WHEAT'
      name: '{benefit}'
      lore:
        - ''
        - '{description}'
        - ''
        - ' &fBônus: &e+{value}%'
        - ''
  pvp:
    display-name: '&cBônus de PvP'
    description:
      - '&7Reservado para integrações de PvP.'
      - '&7Use a API getBenefitValue(player, "pvp").'
    value: 5.0
    apply-to: []
    commands-on-capture: []
    item:
      material: 'DIAMOND_SWORD'
      name: '{benefit}'
      lore:
        - ''
        - '{description}'
        - ''
        - ' &fBônus: &e+{value}%'
        - ''
  upgrade:
    display-name: '&bRedução de Upgrades'
    description:
      - '&7Reservado para integrações de custo.'
      - '&7Use a API getBenefitValue(player, "upgrade").'
    value: 10.0
    apply-to: []
    commands-on-capture: []
    item:
      material: 'ANVIL'
      name: '{benefit}'
      lore:
        - ''
        - '{description}'
        - ''
        - ' &fBônus: &e+{value}%'
        - ''

Estrutura de benefícios

Cada benefício possui uma chave única referenciada no campo benefits de cada planeta.

benefits:
  ID_DO_BENEFICIO:
    display-name: '&6Nome'
    description:
      - '&7Descrição'
    value: 10.0
    apply-to:
      - 'yMinas'
    commands-on-capture: []
    item:
      material: 'GOLD_INGOT'
      name: '{benefit}'
      lore: []

Opções disponíveis

display-name

Nome exibido em mensagens e menus.

display-name: '&6Bônus de Economia'

description

Lista de linhas da descrição do benefício.

description:
  - '&7Membros da facção dona recebem'
  - '&7bônus em vendas e mineração.'

value

Bônus percentual. 10.0 = +10% = multiplicador 1.10.

value: 10.0

multiplier

Opcional. Se definido, sobrescreve o value (ex.: 1.15).

multiplier: 1.15

apply-to

Lista de plugins que recebem o bônus via eventos da API yPlugins.

Plugins suportados:

  • yMinas, yMinasPackets, yMinasPv
  • yPlantacoes, yArmazem, yCampo
  • ySpawners, ySpawnersV2
  • yVender, yChestShop
  • ySkills
apply-to:
  - 'yMinas'
  - 'yArmazem'
  - 'yVender'

commands-on-capture

Comandos executados ao capturar o planeta com este benefício. Deixe vazio ([]) se não houver.

commands-on-capture: []

item

Ícone SetupItem exibido no menu de detalhes do planeta.

item:
  material: 'GOLD_INGOT'
  name: '{benefit}'
  lore:
    - ''
    - '{description}'
    - ''
    - ' &fBônus: &e+{value}%'
    - ''

Placeholders disponíveis: {benefit}, {description}, {value}

Vinculando benefícios aos planetas

No arquivo do planeta, referencie as chaves definidas em benefits.yml:

# No arquivo planets/marte.yml
benefits:
  - economy
  - xp
  - farm

Usando a API

PlanetasAPIHolder api = Bukkit.getServicesManager().load(PlanetasAPIHolder.class);
double multi = api.getMultiplier(player, "yMinas");
boolean has = api.hasBenefit(player, "economy");

A chave do benefício usada no planeta deve existir exatamente como definida em benefits.yml.

Nesta página