Commit da3264

2025-12-04 02:52:37 Bernardo Zukerman: aaaaaaaaa
tutorial/português.md ..
@@ 4,110 4,77 @@
---
- # Diagramas do Plugin BlockyClaim
+ # Como Funciona o Sistema de Proteção (BlockyClaim)
- ## Estrutura de Classes (Simplificada)
+ Este guia visual explica como você pode proteger suas construções e como funcionam as regras de terrenos.
+
+ ## 1. Passo a Passo: Criando sua Proteção
```mermaid
- 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
+ flowchart TD
+ Start([Início]) --> Tool[Pegue a Pá de Ouro]
+ Tool --> C1[Clique Direito no Bloco A<br/>(Primeiro Canto)]
+ C1 --> C2[Clique Direito no Bloco B<br/>(Canto Oposto)]
+
+ C2 --> Check{A área está livre?}
+
+ Check -- Não (Tem claim de outro) --> Error[Erro: Área Sobreposta!<br/>Escolha outro lugar]
+ Error --> Start
+
+ Check -- Sim (Livre ou Sua) --> Calc[Sistema calcula custo em blocos]
+
+ Calc --> Balance{Você tem blocos suficientes?}
+
+ Balance -- Não --> NeedBlocks[Erro: Saldo Insuficiente!<br/>Compre mais blocos]
+ NeedBlocks --> End([Fim])
+
+ Balance -- Sim --> Confirm[Digite: /claim confirm &lt;nome&gt;]
+ Confirm --> Success[Sucesso!<br/>Terreno Protegido]
+ Success --> End
+
+ style Start fill:#f9f,stroke:#333,stroke-width:2px
+ style End fill:#f9f,stroke:#333,stroke-width:2px
+ style Success fill:#9f9,stroke:#333,stroke-width:2px
+ style Error fill:#f99,stroke:#333,stroke-width:2px
```
- ## Fluxo de Criação de Claim
+ ## 2. Regras de Sobreposição (Overlap)
+
+ Você pode expandir suas terras ou criar proteções complexas, mas existem regras!
```mermaid
- 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"
+ flowchart TD
+ A[Tentativa de Criar Nova Claim] --> B{Quem é o dono da claim existente no local?}
- 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 <nome>"
- 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
+ B -- Ninguém (Área Livre) --> C[✅ Permitido<br/>Cria nova proteção]
+ B -- Outro Jogador --> D[❌ Proibido<br/>Você não pode invadir terras alheias]
+ B -- Você Mesmo --> E[✅ Permitido<br/>Sobreposição Autorizada]
- 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
+ E --> F[Dica: Use isso para expandir<br/>ou criar sub-áreas!]
+
+ style C fill:#9f9,stroke:#333
+ style D fill:#f99,stroke:#333
+ style E fill:#9f9,stroke:#333
```
- ## Fluxo de Proteção (Quebrar/Colocar Bloco)
+ ## 3. Comandos Úteis
```mermaid
- 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"]
+ mindmap
+ root((BlockyClaim))
+ Comandos Básicos
+ /claim confirm nome
+ /claim cancel
+ /claim list
+ Economia
+ /claim saldo
+ /claim comprar qtd
+ Vendas
+ /claim anunciar preço
+ /claim adquirir
+ Permissões
+ /trust nick
+ /untrust nick
```
@@ 131,6 98,7 @@
+
## Autenticação
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9