> For the complete documentation index, see [llms.txt](https://junkeh.gitbook.io/eb/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://junkeh.gitbook.io/eb/experimental-features/world-guard-experimental.md).

# World Guard (EXPERIMENTAL)

## WorldGuard Integration

### Overview

EasyBrushes integrates deeply with WorldGuard to provide:

* Region protection
* Build permissions
* Area restrictions

### Region Protection

#### How It Works

1. **Build Checks**
   * Every block placement is checked against WorldGuard regions
   * Respects region flags and permissions
   * Prevents unauthorized building
2. **Selection Validation**

   ```java
   if (!plugin.getBrushManager().canBuild(player, block)) {
       // Building not allowed in this region
   }
   ```

#### Region Flags

WorldGuard flags that affect brushes:

* `build`: Controls block placement
* `block-place`: Specific block placement control
* `use`: Controls brush usage

### Permission Integration

#### Region-Specific Permissions

```yaml
brushes:
  paintbrush:
    available_blocks:
      stone:
        material: STONE
        permission: region.build.stone
```

#### Permission Hierarchy

1. WorldGuard Region Permissions
2. Brush-Specific Permissions
3. Block-Specific Permissions

### Area Restrictions

#### Placeable Areas

```yaml
placeable_on: ALL  # ALL, SPECIFIC
```

* ALL: Can place on any block (still respects WorldGuard)
* SPECIFIC: Only on defined blocks

#### Region-Based Restrictions

Example WorldGuard region setup:

```yaml
regions:
  build-zone:
    flags:
      build: allow
      use: allow
  no-build:
    flags:
      build: deny
      use: deny
```
