VanillaProtect

VanillaProtect a lightweight protection plugin that prevents new players from breaking blocks or opening containers placed by others. Newcomer period, storage type, and languages (EN/RU/UK/DE) are fully configurable. Supports Paper, Purpur, Spigot, Bukkit

13

Quick challenge

How far can you run before the mobs catch you?

VanillaProtect

VanillaProtect

VanillaProtect is a lightweight yet powerful protection plugin for Minecraft servers running Paper, Purpur, Spigot, Bukkit or Folia 1.21+. It automatically tracks block ownership and prevents new players from breaking blocks or opening containers placed by other players. No commands needed from players, everything works out of the box.

🛡️ How it works

When any player places a block, VanillaProtect silently records that block's location and the player's UUID in a database. If a newcomer (a player whose first join was less than N hours ago) tries to break or open something that belongs to another player, the action is cancelled and the newcomer gets a friendly message explaining how much time they have left.

Once the newcomer period expires, all restrictions are lifted automatically.

✨ Features

- No dependencies - newcomers cannot break blocks placed by other players - No dependencies - chests, barrels, shulker boxes, furnaces, dispensers, hoppers, brewing stands, anvils, crafters and more are all protected - No dependencies - toggle in config - No dependencies - stone, dirt, trees etc. are not restricted by default (configurable) - No dependencies - only the exact blocks placed by others are protected, not entire regions - No dependencies - set anywhere from 6 to 24+ hours - No dependencies - SQLite (recommended) or YAML flat file - No dependencies - data is saved periodically and on shutdown - No dependencies - fully compatible with threaded region servers - No dependencies - single JAR, drop and go

🌍 Multi-language support

VanillaProtect ships with 4 built-in languages:

| Code | Language | |------|-----------| | `en` | English | | `ru` | Русский | | `uk` | Українська | | `de` | Deutsch |

You can also create your own language file by placing a `plugins/VanillaProtect/lang/<code>.yml` file in the plugin folder. All messages support color codes.

⚙️ Configuration overview

```yaml

How long a player is considered a newcomer (in hours)

newcomer-hours: 12

Toggle individual protections

protection: block-break: true chest-open: true block-place: false block-interact: false

Storage backend: sqlite or yaml

storage: type: sqlite auto-save: 5

Disable protection in specific worlds

disabled-worlds: - world_nether - world_the_end ```

💬 Commands

| Command | Description | |---------|-------------| | `/vp reload` | Reload config and language files without restarting | | `/vp status` | Show current plugin status and settings | | `/vp info <player>` | View a player's join date, playtime and newcomer status | | `/vp bypass <player>` | Toggle bypass for a player (removes all restrictions) |

Aliases: `/vanillaprotect`, `/vp`, `/vprotect`

🔑 Permissions

| Permission | Description | Default | |------------|-------------|---------| | `vanillaprotect.admin` | Access to all admin commands | OP | | `vanillaprotect.bypass` | Bypass newcomer restrictions | OP | | `vanillaprotect.bypass.others` | Grant/revoke bypass for others | OP |

📦 Compatibility

| Platform | Supported | |----------|-----------| | Paper 1.21+ | ✅ | | Purpur 1.21+ | ✅ | | Spigot 1.21+ | ✅ | | Bukkit 1.21+ | ✅ | | Folia 1.21+ | ✅ |

📁 Plugin folder structure

``` plugins/VanillaProtect/ ├── config.yml ├── blocks.db └── lang/ ├── en.yml ├── ru.yml ├── uk.yml └── de.yml ```

*Made by 1mN1kO*

ADS