Bem-vindo ao tutorial do BlockyCRAFT!

Este tutorial foi criado para guiar você por todas as mecânicas e sistemas exclusivos do nosso servidor. Aqui você aprenderá como proteger seus terrenos, criar grupos, colocar recompensas em seus inimigos e muito mais.


Diagramas do Plugin BlockyClaim

Estrutura de Classes (Simplificada)

classDiagram
    class BlockyClaim {
        +onEnable()
        +onDisable()
        +getClaimManager()
        +getPlayerDataManager()
    }
    class ClaimManager {
        -List~Claim~ claims
        +getClaimAt(Location)
        +addClaim(Claim)
        +createClaim(Player, Location, Location)
    }
    class Claim {
        -String owner
        -String name
        -Location minPoint
        -Location maxPoint
        -List~String~ trusted
        +isLocationInside(Location)
        +hasPermission(String player)
    }
    class PlayerDataManager {
        -Map~String, Integer~ claimBlocks
        +getClaimBlocks(String player)
        +addClaimBlocks(String player, int amount)
    }
    class CommandManager {
        +onCommand()
        -handleClaimCommand()
        -handleTrustCommand()
    }
    class Listeners {
        +ClaimToolListener
        +ProtectionListener
    }

    BlockyClaim --> ClaimManager
    BlockyClaim --> PlayerDataManager
    BlockyClaim --> CommandManager
    BlockyClaim --> Listeners
    ClaimManager --> Claim
    CommandManager ..> ClaimManager
    CommandManager ..> PlayerDataManager
    Listeners ..> ClaimManager

Fluxo de Criação de Claim

sequenceDiagram
    actor Player
    participant ToolListener as ClaimToolListener
    participant Command as CommandManager
    participant Manager as ClaimManager
    participant Data as PlayerDataManager
    participant DB as Database

    Player->>ToolListener: Right Click (Corner 1)
    ToolListener-->>Player: "Primeiro canto definido"

    Player->>ToolListener: Right Click (Corner 2)
    ToolListener->>Manager: isAreaClaimed?
    alt Area Occupied
        Manager-->>ToolListener: True
        ToolListener-->>Player: "Área sobreposta!"
    else Area Free
        ToolListener-->>Player: "Segundo canto definido. Use /claim confirm "
        ToolListener->>ToolListener: Store Selection
    end

    Player->>Command: /claim confirm MinhaCasa
    Command->>ToolListener: Get Pending Selection
    Command->>Manager: Check Overlap Again
    Command->>Manager: Calculate Cost (Blocks)
    Command->>Data: Check Balance

    alt Insufficient Blocks
        Data-->>Command: Balance Low
        Command-->>Player: "Blocos insuficientes!"
    else Sufficient Blocks
        Data->>Data: Deduct Blocks
        Command->>Manager: addClaim(New Claim)
        Manager->>DB: Save Claim
        Command-->>Player: "Claim criada com sucesso!"
    end

Fluxo de Proteção (Quebrar/Colocar Bloco)

flowchart TD
    A[Evento: BlockBreak/Place] --> B(ProtectionListener)
    B --> C{Existe Claim no Local?}
    C -- Não --> D[Permitir Ação]
    C -- Sim --> E{Player é Dono ou Trust?}
    E -- Sim --> D
    E -- Não --> F[Cancelar Evento]
    F --> G[Enviar Mensagem "Sem Permissão"]

Autenticação

Para garantir a segurança da sua conta e dos seus itens, utilizamos um sistema de autenticação próprio.

Comandos Principais

  • /register <senha> - Registra sua conta. Use isso na primeira vez que entrar.
  • /login <senha> - Faz login na sua conta. Necessário sempre que entrar no servidor.
  • /mudarsenha <nova-senha> - Altera sua senha atual.

Importante

  • Você tem 3 tentativas de login antes de ser expulso.
  • Seu inventário é salvo e protegido. Ninguém pode acessar seus itens enquanto você não estiver logado.
  • Movimentação, chat e interações são bloqueados até o login.

Proteção de Terrenos (Claim)

Proteja suas construções e itens de outros jogadores usando nosso sistema de Claims. A moeda utilizada para comprar terrenos é a Barra de Ouro.

Como Criar uma Proteção

  1. Tenha um graveto (stick) em mãos.
  2. Clique com o botão direito em dois blocos para definir os cantos da sua área (diagonal).
  3. Use /claim confirmar <nome-do-terreno> para finalizar a compra.

Gerenciamento

  • /claim comprar <quantidade> - Compra blocos de proteção usando barras de ouro.
  • /claim saldo - Vê quantos blocos de proteção você ainda tem disponíveis.
  • /claim list - Lista todos os seus terrenos.
  • /trust <jogador> - Permite que um amigo construa no seu terreno.
  • /untrust <jogador> - Remove a permissão de um amigo.

Mercado de Terrenos

  • /claim anunciar <preço> - Coloca o terreno atual à venda.
  • /claim adquirir <novo-nome> - Compra um terreno que está à venda.
  • /claim ocupar <novo-nome> - Ocupa um terreno abandonado por um preço reduzido.

Integração com Grupos: Se você faz parte de um Grupo, todos os membros do seu grupo têm permissão automática (Trust) em seus terrenos. Não é necessário usar /trust para eles.


Grupos

Junte-se a outros jogadores, domine o servidor e suba no ranking!

Comandos Básicos

  • /grp criar <tag> <nome> - Cria um novo grupo.
  • /grp convidar <jogador> - Convida alguém para seu grupo.
  • /grp entrar <nome-do-grupo> - Aceita um convite.
  • /grp sair - Sai do grupo atual.
  • /gc <mensagem> - Envia uma mensagem no chat exclusivo do grupo.

Gerenciamento (Líderes/Oficiais)

  • /grp promover <jogador> <cargo> - Promove ou rebaixa membros (Membro, Oficial).
  • /grp expulsar <jogador> - Remove um jogador do grupo.
  • /grp lider <jogador> - Passa a liderança para outro membro.
  • /grp tesoureiro <jogador> - Define o tesoureiro do grupo (importante para o BlockyDeposit).
  • /grp setbase - Define a base do grupo onde os membros podem teleportar.
  • /grp pvp <on/off> - Ativa ou desativa o fogo amigo entre membros.

Ranking e Base

  • /grp rank - Vê os grupos mais ricos do servidor baseado no networth.
  • /grp base - Teleporta para a base do grupo (30s de cooldown se tiver levado dano recente).

Recompensas

Quer ver alguém eliminado? Coloque um preço na cabeça dele!

Comandos

  • /bounty <jogador> <quantidade> - Coloca uma recompensa em ferro pela morte do jogador.
  • /bounty list - Vê a lista de jogadores procurados.
  • /bounty remover <jogador> - Remove uma recompensa que você colocou e recupera seu ferro.

Detalhes

  • Se você matar um jogador com recompensa, o ferro vai direto para o seu inventário.
  • Proteção de Grupo: Você não pode colocar recompensas em membros do seu próprio grupo, e matar membros do seu grupo não dá a recompensa.

Depósito de Itens

Exporte seus itens para fora do servidor ou contribua para o fundo do seu grupo.

Comandos

  • /deposit all - Deposita todos os itens do seu inventário que são permitidos.
  • /deposit hand - Deposita apenas o item que está na sua mão.
  • /deposit fund all - Deposita itens diretamente para o tesoureiro do seu grupo.

Como funciona

  • Ao depositar, os itens são removidos do seu inventário e um comprovante (JSON) é gerado ou enviado para um sistema externo.
  • O modo Fundo (fund) envia os itens para o controle do Tesoureiro do grupo.

Ajuda

Precisa de lembrar de algum comando?

  • /ajuda - Abre o menu de ajuda com a lista de comandos do servidor.
  • /ajuda <página> - Navega pelas páginas de ajuda.

Bom jogo e divirta-se no BlockyCRAFT!