Compatibility
Minecraft: Java Edition
Platforms
Creators
Details
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
- Block break protection - newcomers cannot break blocks placed by other players
- Container protection - chests, barrels, shulker boxes, furnaces, dispensers, hoppers, brewing stands, anvils, crafters and more are all protected
- Optional door/button/lever protection - toggle in config
- Natural blocks are freely breakable - stone, dirt, trees etc. are not restricted by default (configurable)
- Per-block ownership tracking - only the exact blocks placed by others are protected, not entire regions
- Configurable newcomer period - set anywhere from 6 to 24+ hours
- Two storage backends - SQLite (recommended) or YAML flat file
- Auto-save - data is saved periodically and on shutdown
- Folia support - 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
# 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


