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)
+
+
```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
+
```
+
+
## Fluxo de Criação de Claim
+
+
```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"
+
+
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>"